在 Ubuntu 14.04 服务器上,我正考虑用 nginx 替代 apache,并且需要两者同时运行,同时我还要熟悉 nginx。因此,我将 nginx 设置为监听端口 8000,而 apache 监听端口 80 来为现有网站提供服务。
安装顺利(apt install nginx
)。我已经用此配置配置了一个简单的域
server {
listen 8000;
listen [::]:8000 default_server ipv6only=on;
root /home/user/www/domain.eu/public;
index index.html index.htm;
server_name domain.eu;
}
然而,当我测试一个请求时http://domain.eu:8000它超时了。
netstat -lnp | grep 80
表明配置似乎是正确的 AFAICS:
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 22195/nginx
tcp6 0 0 :::8000 :::* LISTEN 22195/nginx
tcp6 0 0 :::80 :::* LISTEN 17204/apache2
udp6 0 0 fe80::216:3eff:fe16:123 :::* 27688/ntpd
unix 2 [ ACC ] STREAM LISTENING 3580 1984/master private/mailman
unix 2 [ ACC ] STREAM LISTENING 8089621 1/init @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 4807 2179/python /var/run/fail2ban/fail2ban.sock
curl -v http://domain.eu:8000
输出:
* Trying 1XX.2X.12X.2X5...
* connect to 1XX.2X.12X.2X5 port 8000 failed: Operation timed out
nginx -t
说它的配置很好。
我已经重新启动了 nginx,并且多次停止然后启动它。
我错过了什么?
更新 1:防火墙
还禁用了 ufw 和 fail2ban,停止并启动了 nginx,但连接仍然超时。
更新 2:本地主机
curl -I localhost:8000
来自同一台机器的回报
HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Sat, 26 Nov 2016 22:03:23 GMT
Content-Type: text/html
Content-Length: 15
Last-Modified: Tue, 16 Jun 2015 21:01:41 GMT
Connection: keep-alive
ETag: "55808eb5-f"
Accept-Ranges: bytes
更新 3:端口 80
我已将 nginx 设置为端口 80 并关闭 apache。然后 Nginx 便能够按预期处理请求。