1.下载稳定版本
cd /usr/local/src
wget http://nginx.org/download/nginx-1.20.2.tar.gz
2.查看系统版本,安装依赖
cat /etc/redhat-release
sudo dnf install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel wget make vim firewalld
3.解压安装
tar -zxvf nginx-1.20.2.tar.gz
# 编译配置
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module
# 编译
make
# 安装
sudo make install
cd /usr/local/nginx/sbin
# 验证nginx安装
./nginx -V
nginx version: nginx/1.20.2
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
built with OpenSSL 1.1.1k FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module
# 测试nginx
$ sudo ./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
4.配置vim
cd /usr/local/src/nginx-1.20.2/
mkdir ~/.vim/
配置vim对nginx配置语法高亮支持
cp -r contrib/vim/* ~/.vim/
5.配置用户
# 查看当前系统是否已经存在用户nginx
cat /etc/passwd | grep nginx
# 查看当前系统是否存在用户组nginx
cat /etc/group | grep nginx
# 如果nginx已经存在,则新一个
sudo useradd --system --home /usr/local/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
# 授权文件夹拥有者为nginx用户
sudo chown -R nginx /usr/local/nginx
# 授权文件夹用户组为nginx
sudo chgrp -R nginx /usr/local/nginx
6.SysV配置:
sudo vim /usr/lib/systemd/system/nginx.service
[Service]
User=nginx
Group=nginx
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
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
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
[Install]
WantedBy=multi-user.target
7.修改nginx配置:
sudo vim /usr/local/nginx/conf/nginx.conf
worker_processes auto;
server_tokens off;
端口修改4200
8.配置防火墙
sudo firewall-cmd --zone=public --add-port=4200/tcp --permanent
sudo firewall-cmd --reload
# 查看防火墙
sudo firewall-cmd --list-all
# 第二种方式查看防火墙
sudo firewall-cmd --list-all --zone=public
8.再次配置SysV:
# 配置Sysv
sudo systemctl enable nginx.service
sudo systemctl daemon-reload
sudo systemctl start nginx.service
9.非root用户1024以下端口
setcap cap_net_bind_service=+eip /var/nginx/sbin/nginx
setcap将1024以下的端口网络权限,给非root用户使用,只给网络权限。