nginx配置多个端口监听(以及Permission denied问题处理)

nginx配置多个端口监听(以及Permission denied问题处理)

在使用nginx的时候,有时候我们需要配置多个端口来对应不同的服务去访问
首先我们找到nginx的配置文件
nginx配置多个端口监听(以及Permission denied问题处理)
这里nginx我是用yum安装,所以默认的配置文件都在conf.d文件中
打开文件夹,我们看到default.conf文件,文件内容如下:
nginx配置多个端口监听(以及Permission denied问题处理)
要想监听多个端口,我们只需要再写一个.conf文件,文件命名的时候我的建议是 服务名-监听端口号.conf (例:restService-88.conf)

server {
        listen 88;
        server_name localhost;
        location / {
                proxy_pass http://127.0.0.1:8081;
                proxy_redirect default;
        }
}

然后将文件放到conf.d目录下
nginx配置多个端口监听(以及Permission denied问题处理)
然后我们验证配置是否正确( nginx -t ),下图说明配置文件木有问题
nginx配置多个端口监听(以及Permission denied问题处理)
然后我们重启nginx(service nginx restart ),基本上就可以好了,重启完我们查一下端口,端口都已经被nginx监听
nginx配置多个端口监听(以及Permission denied问题处理)

当然再重启nginx的时候也会报权限不足

Starting nginx: nginx: [emerg] bind() to 0.0.0.0:**** failed (13: Permission denied)
nginx配置多个端口监听(以及Permission denied问题处理)
权限拒绝,经检查发现是开启selinux 导致的,CentOS中这个是默认开启的,所以我们需要将其关闭
首先输入 getenforce 看selinux是否开启
如果输出 disabled 或 permissive 那就是关闭了
如果输出 enforcing 那就是开启了 selinux
关闭方法
1.临时关闭
setenforce 0 ##设置SELinux 成为permissive模式
setenforce 1 ##设置SELinux 成为enforcing模式

[[email protected]~]# getenforce
Enforcing
[[email protected] ~]# setenforce 0
[[email protected] ~]# getenforce
Permissive

2.永久关闭
修改vim /etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
nginx配置多个端口监听(以及Permission denied问题处理)
source /etc/selinux/config 使更改的配置立即生效 ,下图修改成功,然后重启nginx问题解决
nginx配置多个端口监听(以及Permission denied问题处理)