Ubuntu 20.04 中安装 Nginx (通过传包编译的方式)、开启关闭防火墙、开放端口号

前言

参考大佬文章并在基础上做了点修改,发篇文章记录下 防止下次遇到。
参考文章: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.service

2.将以下内容粘贴到文件中

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.target

3.将 nginx.service 放入 /etc/systemd/system/ 下

sudo cp nginx.service /etc/systemd/system

4.并授权

sudo chmod 777 nginx.service

5.配置重新加载

systemctl daemon-reload

6.开启Nginx开机自启服务

systemctl enable nginx.service

7.启动Nginx

systemctl start nginx.service

8.查看服务状态

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

下班~

猜你喜欢

转载自blog.csdn.net/qq_46123200/article/details/140949778