
参考大佬文章并在基础上做了点修改,发篇文章记录下 防止下次遇到。 参考文章:Ubuntu 系统下安装 Nginx
下载地址:https://nginx.org/download/
我下载的是nginx-1.18.0.tar.gz
tar下载及命令参考文章:Ubuntu 常用命令、docker 常用命令、unzip常用命令、tar常用命令
tar -zxvf nginx-1.18.0.tar.gz 
sudo apt install gcc make libpcre3-dev zlib1g-dev openssl libssl-dev
操作命令的时候如果报下图的错,就执行sudo apt-get update命令

先确保:
1.确保nginx文件夹有权限,执行不了就是因为没有权限
2.查看是否有这个文件夹,没有就新建/usr/local/nginx (后续静态文件、配置文件、日志都在这个目录里有可以更改)
进入nginx目录下(解压后的nginx内)操作
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make
ls -l objs/
make install报错就加sudo

ls /usr/local/nginx
ls /usr/local/nginx/sbin
sudo /usr/local/nginx/sbin/nginx -t
1.创建 nginx.service 文件
sudo touch nginx.service2.将以下内容粘贴到文件中
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target3.将 nginx.service 放入 /etc/systemd/system/ 下
sudo cp nginx.service /etc/systemd/system4.并授权
sudo chmod 777 nginx.service5.配置重新加载
systemctl daemon-reload6.开启Nginx开机自启服务
systemctl enable nginx.service7.启动Nginx
systemctl start nginx.service8.查看服务状态
systemctl status nginx.service
此时访问localhost就能看到页面了

⚠️⚠️⚠️若发现以下错误,这是因为 80 端口已经被其他进行占用导致 Nginx 无法绑定到 80 端口上,可尝试查询端口占用进程并终止该进程。


9.可能用到的其他命令
停止nginx
systemctl stop nginx.service重启nginx
systemctl restart nginx.service查看nginx 使用的进程
ps aux |grep nginx
修改nginx 使用的端口号pid即修改/usr/local/nginx/logs下的nginx.pid
10.防火墙相关命令
检查防火墙状态,如果防火墙已启用可以看到开放端口列表
sudo ufw status如果显示 Status: inactive,说明防火墙未启用
启用防火墙(如果未启用)
sudo ufw enable重启防火墙
sudo ufw reload开放指定端口
sudo ufw allow 8080/tcp下班~