CentOS 7上安装并配置Nginx监听81端口的完整指南

在CentOS 7上安装Nginx并配置监听81端口

在本教程中,我们将指导你如何在CentOS 7操作系统上安装Nginx并配置其监听81端口。此外,我们还会提供一些常见问题的解决方法,帮助你更好地管理Nginx服务器。

1. 更新系统

在安装任何软件之前,首先确保系统的所有软件包是最新的。执行以下命令来更新你的系统:

复制代码
sudo yum update -y
2. 安装Nginx

接下来,我们需要安装Nginx。首先,安装EPEL(Extra Packages for Enterprise Linux)仓库,然后使用yum安装Nginx:

复制代码
sudo yum install epel-release -y sudo yum install nginx -y
3. 配置Nginx监听81端口

安装完成后,我们需要修改Nginx的配置文件,指定Nginx监听81端口。编辑Nginx的主配置文件 /etc/nginx/nginx.conf

复制代码
sudo vi /etc/nginx/nginx.conf

server块中,添加或修改listen指令来监听81端口:

复制代码
server { listen 81; ... }
4. 配置防火墙

为了确保外部请求可以访问Nginx,我们需要配置防火墙,允许通过81端口的流量。首先启动防火墙,并添加规则以允许81端口的TCP流量:

复制代码
systemctl start firewalld sudo firewall-cmd --zone=public --add-port=81/tcp --permanent firewall-cmd --reload

如果你希望关闭防火墙并移除80端口,可以执行以下命令:

复制代码
systemctl stop firewalld firewall-cmd --zone=public --remove-port=80/tcp --permanent

通过以下命令查看防火墙的配置:

复制代码
firewall-cmd --list-all
5. 启动并启用Nginx服务

现在,可以启动Nginx服务,并设置它在系统启动时自动启动:

复制代码
sudo systemctl start nginx sudo systemctl enable nginx
6. 验证Nginx是否在81端口运行

要确认Nginx是否成功监听了81端口,可以使用以下命令:

复制代码
sudo ss -tuln | grep 81

如果一切配置正确,输出应类似于:

复制代码
tcp LISTEN 0 128 *:81 *:* tcp LISTEN 0 128 [::]:81 [::]:*
7. 访问Nginx

现在,打开浏览器并输入以下URL进行访问:

复制代码
http://<your-server-ip>:81

如果配置正确,应该会看到Nginx的默认欢迎页面。

8. 配置前端文件和接口代理

前端文件通常会存放在/usr/share/nginx/html/目录下。可以通过以下命令解压前端文件:

复制代码
sudo unzip /home/dist.zip -d /usr/share/nginx/html/

nginx.conf文件中,配置前端文件的根目录和代理接口。以下是配置文件示例:

复制代码
server { listen 81; listen [::]:81; server_name 10.xxx.xxx.138; root /usr/share/nginx/html/dist; ... }

如果你的前端需要访问后端API,可以通过配置代理来实现:

复制代码
# 服务代理 location /szapi/ { proxy_pass http://10.xxx.xxx.27:8002/; } # 扣子代理 location /cozeapi/ { proxy_pass https://api.coze.cn/; }
9. 常见问题
问题一:Nginx权限不够

如果遇到Nginx权限不够的问题,可以修改Nginx配置文件中的user指令,将其设置为root

复制代码
#user nginx; user root;

保存并退出配置文件后,重新加载Nginx配置并重启服务:

复制代码
sudo nginx -s reload sudo systemctl restart nginx
问题二:Nginx本机设置安全策略

如果你的系统启用了SELinux,可能会限制Nginx的运行。你可以暂时禁用SELinux来排除这个问题。首先,编辑SELinux配置文件:

复制代码
sudo vi /etc/selinux/config

SELINUX=enforcing改为SELINUX=disabled,然后保存退出。接下来,重启系统:

复制代码
reboot 

重启后,重新加载Nginx配置并重启服务:

复制代码
sudo nginx -s reload sudo systemctl restart nginx
总结

通过以上步骤,你已经成功在CentOS 7上安装并配置了Nginx来监听81端口。你还学会了如何配置防火墙、部署前端文件以及设置API代理。遇到常见问题时,按照本文提供的解决方案,你能够迅速排查并解决问题。

复制代码
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

#user nginx;
user root;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       81;
        listen       [::]:81;
        server_name  10.xxx.xxx.138;
        root         /usr/share/nginx/html/dist;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }


	#服务代理
	location /szapi/ {

#        rewrite ^.+szapi/?(.*)$ /$1 break;
    	proxy_pass http://10.xxx.xxx.27:8002/;
	

    	}

        # 扣子代理
        location /cozeapi/ {

#        rewrite ^.+szapi/?(.*)$ /$1 break;
        proxy_pass https://api.coze.cn/;


        }

    }

# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2;
#        listen       [::]:443 ssl http2;
#        server_name  _;
#        root         /usr/share/nginx/html#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

}
相关推荐
小熊熊知识库4 小时前
Ubuntu下载以及安装详解以及应用安装
linux·运维·ubuntu
小白银子8 小时前
零基础从头教学Linux(Day 52)
linux·运维·服务器·python·python3.11
奥尔特星云大使8 小时前
CentOS 7 安装 MySQL 8
mysql·centos·mysql 8
平生不喜凡桃李10 小时前
Linux网络:UDP
linux·网络·udp
weixiao043010 小时前
Linux网络 网络层
linux·网络·智能路由器
从零开始的ops生活11 小时前
【Day 80】Linux-NAS 和 SAN 存储
linux·运维·php
Wang's Blog12 小时前
Linux小课堂: 输入重定向与管道操作详解
linux·运维·服务器
迎風吹頭髮12 小时前
Linux内核架构浅谈49-Linux per-CPU页面缓存:热页与冷页的管理与调度优化
linux·缓存·架构
jason.zeng@150220712 小时前
centos中安装redis
linux·redis·centos