Nginx没有select网站启用网站?

经过10多个小时的研究,我还没有想出为什么这不起作用! 我试图将我的本地主机移动到/ etc / nginx / sites-enabled / default中启用了站点的文件夹中。

它是来自站点可用文件夹的符号链接。 当使用以下configuration时,我得到一个“无法连接”使用本地主机:8080作为我的地址

nginx.conf(/usr/local/nginx/conf/nginx.conf):

user www-data; worker_processes 2; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include /etc/nginx/sites-enabled/*; } 

站点可用(/ etc / nginx / sites-available / default):

 server { listen 8080; root /home/myusername/myown/customdirectory; index index.php index.html index.htm; server_name localhost; location / { try_files $uri $uri/ /index.html; } location /doc/ { alias /usr/share/doc/; autoindex on; allow 127.0.0.1; allow ::1; deny all; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } location ~ /\.ht { deny all; } } 

我可以得到这个工作,如果我把网站的相关信息提供给nginx.conf,我只是不明白为什么它不能这样工作?

谢谢!

我有同样的问题。 这是因为我不小心使用了符号链接的相对path。

你确定你使用完整的path,例如:

 ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf 

sites-enabled/default包含sites-available/default sites-enabled/default 。 它只需要一条线。

sites-enabled/default (新的configuration版本?):

包含path似乎与包含它的文件有关

 include sites-available/default; 

请参阅include文档 。


我相信某些版本的nginx允许包含/链接到其他文件,纯粹是通过一个单行与包含文件的相对path。 (至less这就是我一直使用的一些“inheritance”configuration文件的样子,直到一个新的nginx版本破坏它们。)

sites-enabled/default (旧configuration版本?)中:

包含path似乎是相对于当前文件

 ../sites-available/default 

从:

 include /etc/nginx/sites-enabled/*; 

 include /etc/nginx/sites-enabled/*.*; 

解决了我的问题