Linux 安装 Nginx

安装 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反向代理80端口到其他端口

配置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

参考链接

发表评论