我无法运行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服务器和反向代理服务器。
答案 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');