解决网络问题

虚拟机无法联网,可能是网络环境问题,可以通过​​重置VMware网络​​或手动配置IP、网关和DNS解决。

SSH 已启动,但目前从宿主机无法连接到 Ubuntu —— 因为 Ubuntu 的 IP 还是 192.168.137.100,和宿主机的 192.168.178.1 不在同一网段。

先解决网络问题才能 SSH。请在 Ubuntu root 下依次执行:

nmcli device reapply ens33
如果 IP 没变,再执行:
nmcli device disconnect ens33
sleep 2
nmcli device connect ens33
然后运行:
ip addr show ens33

但是这里IP 还是没变。

nmcli con show
查看看用的哪个连接配置名,然后直接改 IP。

root@xiong-VMware-Virtual-Platform:~# nmcli con show NAME UUID TYPE DEVICE fixed-net 125bfd98-108f-4695-87dc-4aee6a4a4eef ethernet ens33 lo df152a95-2bdb-4ed2-90d4-82f413f262de loopback lo root@xiong-VMware-Virtual-Platform:~#

这里可以看到连接名是 fixed-net。

nmcli con mod fixed-net ipv4.method auto
nmcli con mod fixed-net -ipv4.addresses "192.168.137.100/24"
nmcli con mod fixed-net ipv4.gateway "192.168.137.2"
nmcli con up fixed-net
然后运行:
ip addr show ens33

拿到了新 IP 192.168.178.128!但旧的 192.168.137.100 还在。

执行以下命令删除旧 IP 并测试网络:

sudo ip addr del 192.168.137.100/24 dev ens33
ping -c 2 192.168.178.2
ping -c 2 8.8.8.8
ping -c 2 baidu.com

这些命令执行后网络通了!网关和外网都能 ping 通,DNS 解析也正常。 之前旧的 192.168.137.100 已经自动删除了。现在永久清理一下旧配置,防止重启后又出现:

nmcli con mod fixed-net -ipv4.addresses "192.168.137.100/24"
nmcli con mod fixed-net ipv4.dns ""
nmcli con mod fixed-net ipv4.dns-search ""
nmcli con up fixed-net

问题已完全解决!

总结:

  1. 根因:VMnet8 适配器 IP 被改成了 192.168.137.1,但 VMware NAT/DHCP 配置还是 192.168.178.0 网段,导致虚拟机拿到的 IP 和网关不在同一网段

  2. 修复:将 VMnet8 适配器 IP 恢复为 192.168.178.1,重启 VMware 服务,然后在 Ubuntu 中重新获取 DHCP

  3. 结果:Ubuntu 获得 192.168.178.128,网关、外网、DNS 全部正常

ubuntu 打开黑屏怎么弄

  1. 黑屏界面按快捷键 Ctrl + Alt + F3 进入纯文本终端
  2. 输入用户名密码登录,执行修复桌面管理器:
# 重启图形服务
sudo systemctl restart gdm3
# 修复损坏桌面包
sudo dpkg --configure -a
sudo apt --fix-broken install
  1.  切回图形界面:Ctrl + Alt + F1  

nginx、PHP、MySQL 并配置联动

一、前期准备:

apt install libpcre3 libpcre3-dev make gcc gcc-c++

sudo apt update 
sudo apt install -y build-essential libpcre2-dev zlib1g-dev libssl-dev curl ca-certificates pkg-config

安装php:

sudo apt install -y php-fpm php-mysql php-gd php-curl php-mbstring php- xml php-zip

安装nginx ---重网上找文件,然后拖到ubunt里

1.先确认文件在哪里: find / -name "nginx-1.16.1*" 2>/dev/null

2.文件在 /home/xiong/桌面/ 下。直接复制到 /opt 并解压:

 cp /home/xiong/桌面/nginx-1.16.1.tar.gz /opt/ 
cd /opt 
tar -xzf nginx-1.16.1.tar.gz 
cd nginx-1.16.1

二、 nginx、PHP联动

nginx.conf 中 PHP 转发配置

# PHP 请求转发到 PHP-FPM 
location ~ \.php$ {    
    include snippets/fastcgi-php.conf;    
    fastcgi_pass 127.0.0.1:9000;  # 指向 PHP-FPM 的 9000 端口    
    fastcgi_index index.php;    
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;           
    include fastcgi_params;
 }
  1. cd /usr/local/nginx/sbin

  2. ./nginx -s reload #执行

  3. lsof -i:9000 #检查 9000 端口是否在监听

  4. 创建测试页面并验证:

    ​echo "<?php phpinfo();" > /usr/local/nginx/html/test.php 
    /usr/local/nginx/sbin/nginx -s reload 
    curl http://localhost/test.php | head -10

三、安装数据库并联动

#安装数据库
apt install -y mariadb-server mariadb-client
​#查看安装状态
systemctl status mariadb
#修改密码
mysql -u root
登录后,执行 SQL 命令来设置新密码。
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');
FLUSH PRIVILEGES;
EXIT;
​#重启数据库
systemctl restart mariadb
​#使用密码登录进入
mysql -u root -p

检测数据库 ---创建数据库连接测试文件:

cat > /usr/local/nginx/html/dbtest.php << 'EOF'
<?php
$host = '127.0.0.1';
$user = 'root';
$pass = '';
$conn = new mysqli($host, $user, $pass);
if ($conn->connect_error) {
 die("连接失败: " . $conn->connect_error);
}
echo "数据库连接成功!";
echo "<br>MySQL版本: " . $conn->server_info;
$conn->close();
?>
EOF

测试:

/usr/local/nginx/sbin/nginx -s reload
curl http://localhost/dbtest.php

更多推荐