web服务器搭建nginx
1 配置主机ip
1.1获取主机ip
ip a
root@pc:/home/ruxin# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:34:4c:5c brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 192.168.3.127/24 brd 192.168.3.255 scope global dynamic noprefixroute ens33valid_lft 86397sec preferred_lft 86397secinet6 fe80::4:e2ce:b9f2:79fb/64 scope link noprefixroute valid_lft forever preferred_lft forever
可以得主机wifi的ip地址为: 192.168.3.127
1.2查看当前网络服务
systemctl status NetworkManager
NetworkManager
处于活跃状态(active (running)
),说明系统通过 NetworkManager 管理网络,应使用01-network-manager-all.yaml
配置。
root@pc:/etc/netplan# systemctl status NetworkManager
● NetworkManager.service - Network ManagerLoaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2025-06-30 14:32:50 CST; 34min agoDocs: man:NetworkManager(8)Main PID: 924 (NetworkManager)Tasks: 3 (limit: 9382)Memory: 10.8MCPU: 216msCGroup: /system.slice/NetworkManager.service└─924 /usr/sbin/NetworkManager --no-daemon6月 30 14:32:50 pc NetworkManager[924]: <info> [1751265170.9469] device (ens33): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
6月 30 14:32:50 pc NetworkManager[924]: <info> [1751265170.9471] manager: NetworkManager state is now CONNECTED_LOCAL
6月 30 14:32:50 pc NetworkManager[924]: <info> [1751265170.9472] manager: NetworkManager state is now CONNECTED_SITE
6月 30 14:32:50 pc NetworkManager[924]: <info> [1751265170.9472] policy: set '有线连接 1' (ens33) as default for IPv4 routing and DNS
6月 30 14:32:50 pc NetworkManager[924]: <info> [1751265170.9476] device (ens33): Activation: successful, device activated.
6月 30 14:32:50 pc NetworkManager[924]: <info> [1751265170.9480] manager: startup complete
6月 30 14:32:51 pc NetworkManager[924]: <info> [1751265171.5458] manager: NetworkManager state is now CONNECTED_GLOBAL
6月 30 14:32:53 pc NetworkManager[924]: <info> [1751265173.9185] agent-manager: agent[b9a40da6c2d8d60b,:1.42/org.gnome.Shell.NetworkAgent/1000]: agent registered
6月 30 14:53:17 pc NetworkManager[924]: <info> [1751266397.7687] agent-manager: agent[b8cfb5e1ea0afe7d,:1.42/org.gnome.Shell.NetworkAgent/1000]: agent registered
6月 30 15:01:52 pc NetworkManager[924]: <info> [1751266912.9341] agent-manager: agent[74a738928d7f23e4,:1.42/org.gnome.Shell.NetworkAgent/1000]: agent registered
1.3编辑netplan配置
编辑文件:
sudo nano /etc/netplan/01-network-config.yaml
示例配置:
network:version: 2renderer: networkdethernets:ens33:dhcp4: falseaddresses: [192.168.3.114/24]routes:- to: defaultvia: 192.168.3.1nameservers:addresses: [8.8.8.8, 8.8.4.4]
在 nano 中 Ctrl + x 为保存退出。
应用配置:
sudo netplan apply
遇到问题如下:
** (generate:63514): WARNING **: 15:18:48.328: Permissions for /etc/netplan/01-network-config.yaml are too open. Netplan configuration should NOT be accessible by others.** (generate:63514): WARNING **: 15:18:48.328: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.574: Permissions for /etc/netplan/01-network-config.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.575: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.806: Permissions for /etc/netplan/01-network-config.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.806: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.806: Permissions for /etc/netplan/01-network-config.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.806: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.
似乎是警告提示表明 Netplan 配置文件的权限设置过于宽松,存在安全风险。Netplan 要求配置文件只能由所有者(通常是 root 用户)读取和写入,其他用户不应有访问权限。
查看当前文件权限:
ls -l /etc/netplan/*.yaml
提示如下:
-rw-r--r-- 1 root root 345 Jun 30 15:10 /etc/netplan/01-network-config.yaml
-rw-r--r-- 1 root root 289 Jun 30 15:10 /etc/netplan/01-network-manager-all.yaml
使用chmod
命令将配置文件的权限设置为600
:
sudo chmod 600 /etc/netplan/*.yaml
再次查看文件权限:
-rw------- 1 root root 345 Jun 30 15:10 /etc/netplan/01-network-config.yaml
-rw------- 1 root root 289 Jun 30 15:10 /etc/netplan/01-network-manager-all.yaml
# 重新应用 Netplan 配置
sudo netplan apply
ping一下:ping 192.168.3.114 没毛病
1.4配置editplus
首先安装ftp配置服务
apt install vsftpd
该目录下进行配置: vim /etc/vsftpd.conf
将write_enable 开放权限
此外,还要开放root用户
该目录下进行配置: vim /etc/ftpusers
将 root 用户注释即可
重启vsftpd即可
service vsftpd restart
接下来就可以在editplus上对其进行远程编辑了
2.安装配置nginx
2.1下载原装nginx
1. 将下载得到的 “nginx-1.28.0.tar.gz” 上传到 /opt/software 目录下
2. 解压压缩 tar
tar -zxvf nginx-1.28.0.tar.gz # 解压后保存在 /opt/software/nginx-1.28
3. 安装依赖
sudo apt update # 更新软件包列表,确保获取最新的软件包信息
sudo apt install -y gcc # 安装 C 编译器
sudo apt install -y libpcre3 libpcre3-dev # 安装 pcre 库及开发文件,对应 yum 里的 pcre、pcre-devel
sudo apt install -y zlib1g zlib1g-dev # 安装 zlib 库及开发文件,对应 yum 里的 zlib、zlib-devel
4. 配置、编译和编译安装
下面命令的操作目录均为 /opt/software/nginx-1.28
配置 (指定安装目录 /usr/local/nginx,生成 Makefile 文件)
./configure --prefix=/usr/local/nginx
编译和编译安装
make && make install
2.2 nginx的启动与停止
-
进入到该目录:/usr/local/nginx/sbin
cd /usr/local/nginx/sbin # 进入 nginx 的 sbin 目录
./nginx # 启动 nginx
-
停止
./nginx -s stop # 停止 nginx
./nginx -s quit # 停止 nginx(停止前完成已经接受的请求) -
重新加载
./nginx -s reload # 重新加载配置(不重启)
2.3配置端口
cd /usr/local/nginx/conf
该目录下有一个nginx.conf配置文件,使用vim编辑
vim nginx.conf