2012-10-03 41 views
74

Sau hơn 10 giờ nghiên cứu, tôi đã không tìm ra lý do tại sao điều này không hiệu quả! Tôi đang cố gắng di chuyển localhost của mình sang thư mục hỗ trợ trang web của tôi, nằm trong/etc/nginx/sites-enabled/default.Nginx không chọn trang web trong các trang web được kích hoạt?

Đó là liên kết tượng trưng từ thư mục có sẵn trên trang web. Khi sử dụng cấu hình sau tôi nhận được một "unable to connect" sử dụng localhost: 8080 như địa chỉ của tôi

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/*; 
} 

trang web -available (/ 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; 
    } 
} 

tôi có thể nhận làm việc này nếu tôi đặt các thông tin có liên quan từ các trang web có sẵn cho các nginx.conf, tôi chỉ không thể hiểu tại sao nó không hoạt động theo cách này?

Cảm ơn!

+2

Bạn có chắc chắn rằng các liên kết tượng trưng không bị hỏng? ls -l/etc/nginx/sites-enabled/ –

+0

Có, tôi đã kiểm tra lại liên kết tượng trưng, ​​vẫn không có may mắn – Discorick

+0

xem thêm: http://stackoverflow.com/questions/17413526/nginx-missing-sites-available-directory –

Trả lời

147

Tôi đã gặp vấn đề tương tự. Đó là vì tôi đã vô tình sử dụng một đường dẫn tương đối với liên kết tượng trưng.

Bạn có chắc chắn rằng bạn sử dụng đường dẫn đầy đủ, ví dụ .:

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

Đường dẫn tương đối của tôi hoạt động tốt. – Hannes

+26

Cảm ơn bạn!Không thể tin rằng các liên kết tương đối không hoạt động. O.o –

+0

Đối với tôi, điều này cũng đã sửa nó! Cảm ơn! –

14

Bao gồm sites-available/default trong sites-enabled/default. Nó chỉ yêu cầu một dòng.

Trong sites-enabled/default (phiên bản cấu hình mới?):

Dường như con đường bao gồm là liên quan đến các tập tin đó bao gồm nó

include sites-available/default; 

Xem include documentation.


Tôi tin rằng một số phiên bản nginx cho phép bao gồm/liên kết với các tệp khác hoàn toàn bằng cách có một dòng đơn với đường dẫn tương đối đến tệp được bao gồm. (Ít nhất đó là những gì nó trông giống như trong một số "thừa hưởng" file config Tôi đã sử dụng, cho đến khi một phiên bản nginx mới phá vỡ chúng.)

Trong sites-enabled/default (phiên bản cấu hình cũ?):

Dường đó bao gồm đường dẫn tương đối so với tập tin hiện

../sites-available/default 
6

Thay đổi từ:

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

để

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

cố định vấn đề của tôi

+1

đã khắc phục sự cố cho tôi cũng như trong Ubuntu 16.xx –

Các vấn đề liên quan