安装 Nginx
编译源码并安装
# nginx 编译所需环境
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
# 下载 nginx 源码
wget https://nginx.org/download/nginx-1.18.0.tar.gz
# 解压
tar -zvxf nginx-1.18.0.tar.gz
# 编译安装
cd nginx-1.18.0
./configure
make && make install
安装默认安装到 /usr/local 文件夹下的 nginx,我们直接运行 nginx
/usr/local/nginx/sbin/nginx
安装 firewalld 防火墙
yum install -y firewalld
# 开启服务
systemctl start firewalld.service
# 开机自动启动
systemctl enable firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 关闭开机自动启动
systemctl disable firewalld.service
# 查看开放的端口
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-service=http –permanent
firewall-cmd --add-port=80/tcp --permanent
# 查看状态
systemctl status firewalld
查看 nginx 是否启动
ps -ef | grep nginx
关闭 nginx
pkill -9 nginx
进入 nginx 的配置文件夹,nginx.conf 即为 nginx 的配置文件
cd /usr/local/nginx/conf
如果我想重定向 127.0.0.180 为 127.0.0.1:8090,修改 nginx.conf 文件里的 server 块里 server_name 为 localhost 或 127.0.0.1,listen 为 80 的代码,代码内容为:
server {
listen 80;
server_name 127.0.0.1;
location / {
proxy_pass http://127.0.0.1:8090;
proxy_set_header Host 127.0.0.1:80;
proxy_set_header X-Real-IP remote_addr;
proxy_set_header X-Forwarded-Forproxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
}
配置nginx.service和开机自启
# 进入服务目录
cd /usr/lib/systemd/system/
# 创建 nginx.service 文件
vi nginx.service
键入以下内容:
[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx
ExecStop=/usr/local/nginx/sbin/nginx
PrivateTmp=true
[Install]
WantedBy=multi-user.target
授权nginx.service启动权限和启动命令
# 授权nginx.service文件
chmod 755 nginx.service
# 启动
systemctl start nginx
# 关闭
systemctl stop nginx
# 重启
systemctl restart nginx
# 开机自启
systemctl enable nginx
# 关闭开机自启
systemctl disable nginx
通过 nginx 文件启动
/usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/nginx/sbin/nginx -s reopen # 重启 Nginx
/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx
开启防火墙通行的端口
# 开启 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
# 开启 8080 端口
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-service=https --permanent
# 重新加载防火墙配置
firewall-cmd --reload
如果要添加其他端口,比如我要添加 8090,8091,8092 端口
firewall-cmd --zone=public --add-port=8090/tcp --permanent
firewall-cmd --zone=public --add-port=8091/tcp --permanent
firewall-cmd --zone=public --add-port=8092/tcp --permanent
firewall-cmd --reload