如何在80以外的其他端口上运行Nginx

时间:2019-04-26 08:32:52

标签: nginx

我无法运行Nginx,因为端口80已经在监听docker-proxy服务。

tcp6     0     0 :::80          :::*           LISTEN      13110/docker-proxy

我想在端口8800而不是默认端口80上运行Nginx。

这样,我已经如下编辑了默认文件;

sudo nano /etc/nginx/sites-available/default

listen 8800 default_server;
listen [::]:8800 default_server;
listen localhost;

但是,即使重启后,我仍然无法使其按预期工作。

我在做什么错,我该如何解决?

以下是我得到的错误;

  

●nginx.service-高性能Web服务器和反向代理服务器       已加载:已加载(/lib/systemd/system/nginx.service;已启用;供应商预设:已启用)       
活动时间:自美国东部时间2019年4月26日04:23:14以来失败(结果:退出代码); 13分钟前       
文档:man:nginx(8)       
进程:16955 ExecStart = / usr / sbin / nginx -g守护程序打开; master_process on; (代码=退出,状态= 1 /失败)
        
进程:16944 ExecStartPre = / usr / sbin / nginx -t -q -g守护程序打开; master_process on; (代码=退出,状态= 0 /成功)        
主PID:80941(代码=已退出,状态= 0 /成功)       
Apr 26 04:23:11 ubuntu systemd [1]:正在启动高性能的Web服务器和反向代理服务器...       
4月26日04:23:11 ubuntu nginx [16955]:nginx:[emerg] bind()到127.0.0.1:80失败(98:地址已在使用中)       4月26日04:23:12 ubuntu nginx [16955]:nginx:[emerg] bind()到127.0.0.1:80失败(98:地址已在使用中)       
4月26日04:23:12 ubuntu nginx [16955]:nginx:[emerg] bind()到127.0.0.1:80失败(98:地址已在使用中)       
4月26日04:23:13 ubuntu nginx [16955]:nginx:[emerg] bind()到127.0.0.1:80失败(98:地址已在使用中)       
4月26日04:23:13 ubuntu nginx [16955]:nginx:[emerg] bind()到127.0.0.1:80失败(98:地址已在使用中)       
4月26日04:23:14 ubuntu nginx [16955]:nginx:[emerg]仍然无法bind()       
4月26日04:23:14 ubuntu systemd [1]:nginx.service:控制进程已退出,代码=退出状态= 1       
Apr 26 04:23:14 ubuntu systemd [1]:nginx.service:失败,返回结果为“退出代码”。       
Apr 26 04:23:14 ubuntu systemd [1]:无法启动高性能Web服务器和反向代理服务器。

3 个答案:

答案 0 :(得分:0)

您必须转到 / etc / nginx / sites-enabled / default

编辑该文件并放入(如果您愿意将“ 8800”作为nginx的端口)

server { listen 8800; }

启动服务器

sudo服务nginx启动

sudo服务nginx重新启动(如果先前正在运行)。

然后访问localhost:8800

向iptables添加规则

 vi /etc/sysconfig/iptables 
 -A INPUT -m state --state NEW -m tcp -p tcp --dport 8800 -j ACCEPT

重启IPtables

sudo service iptables restart;

答案 1 :(得分:0)

问题似乎就在此

        listen localhost;

“ listen”指令可以使用端口号,主机, 或两者。我相信你的情况这行默认 端口到80,这会引起您的问题 正在体验。

此外,请注意是否“ default”不是唯一的文件 在hosts_available中。每个(每个服务器块)将默认 除非在此处覆盖端口80只是 在这种情况下,仅编辑“默认”是不够的。

答案 2 :(得分:0)

我发现有关服务器故障的此答案很有帮助:https://serverfault.com/questions/655067/is-it-possible-to-make-nginx-listen-to-different-ports

您可以将端口添加到一个服务器块中,以简化操作:

select serverproperty('EngineEdition');