【发布时间】:2016-10-25 17:30:31
【问题描述】:
我有一台安装了 Ubuntu 16.04、nginx 1.10.2 的机器。这是我为开发站点设置的配置:
server {
listen 80;
listen [::]:80 default_server ipv6only=on;
server_name commandcenter.dev;
root /var/www/commandcenter;
index index.php index.html index.htm;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
一切正常启动。 Nginx 正在运行:
● nginx.service - LSB: Stop/start nginx
Loaded: loaded (/etc/init.d/nginx; bad; vendor preset: enabled)
Active: active (running) since Tue 2016-10-25 04:53:51 UTC; 8min ago
Docs: man:systemd-sysv-generator(8)
Process: 11195 ExecStop=/etc/init.d/nginx stop (code=exited, status=0/SUCCESS)
Process: 11205 ExecStart=/etc/init.d/nginx start (code=exited, status=0/SUCCESS)
Tasks: 2
Memory: 1.3M
CPU: 10ms
CGroup: /system.slice/nginx.service
├─11216 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.con
└─11218 nginx: worker process
Oct 25 04:53:51 commandcenter systemd[1]: Stopped LSB: Stop/start nginx.
Oct 25 04:53:51 commandcenter systemd[1]: Starting LSB: Stop/start nginx...
Oct 25 04:53:51 commandcenter systemd[1]: Started LSB: Stop/start nginx.
我认为它在端口 80 上列出:
$ sudo netstat -nlp | grep nginx
6:tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 11216/nginx.conf
8:tcp6 0 0 :::80 :::* LISTEN 11216/nginx.conf
我可以 ping 服务器并正常访问它。当我尝试使用 curl 或通过浏览器点击它时,我得到:
$ curl -I commandcenter.dev
curl: (7) Failed to connect to commandcenter.dev port 80: Connection refused
我不确定我需要进一步检查或更改以通过 nginx。我检查了错误和访问日志,都没有。
【问题讨论】:
-
这是在你的本地机器上吗?如果是这样,您需要配置
/etc/hosts/并添加commandcenter.dev 127.0.0.1,以便它知道它必须通过环回接口。 -
这不在我的本地机器上,这是一个虚拟盒子。机器的IP是10.10.10.1。我已经把它放在我的主机文件中了。我可以 ping 服务器,但使用 curl/浏览器的任何请求都会失败。
-
我明白了。您是尝试从虚拟框内还是从主机访问该站点?
-
我正在从主机访问该站点。
-
在这种情况下,您需要进行一些额外的配置。 This 是一种方法,但互联网上有很多例子。