ubuntu基本操作及常见问题
解决网络问题
虚拟机无法联网,可能是网络环境问题,可以通过重置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
问题已完全解决!
总结:
-
根因:VMnet8 适配器 IP 被改成了 192.168.137.1,但 VMware NAT/DHCP 配置还是 192.168.178.0 网段,导致虚拟机拿到的 IP 和网关不在同一网段
-
修复:将 VMnet8 适配器 IP 恢复为 192.168.178.1,重启 VMware 服务,然后在 Ubuntu 中重新获取 DHCP
-
结果:Ubuntu 获得 192.168.178.128,网关、外网、DNS 全部正常
ubuntu 打开黑屏怎么弄
- 黑屏界面按快捷键
Ctrl + Alt + F3进入纯文本终端 - 输入用户名密码登录,执行修复桌面管理器:
# 重启图形服务
sudo systemctl restart gdm3
# 修复损坏桌面包
sudo dpkg --configure -a
sudo apt --fix-broken install
- 切回图形界面:
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;
}
-
cd /usr/local/nginx/sbin
-
./nginx -s reload #执行
-
lsof -i:9000 #检查 9000 端口是否在监听
-
创建测试页面并验证:
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
更多推荐


所有评论(0)