Tôi đã thiết lập Nginx làm máy chủ web chính của mình và có hai máy chủ dựa trên Mochiweb đằng sau nó. Một số yêu cầu được đảo ngược proxy cho hai máy chủ này. bây giờ, tôi muốn truy cập phpmyadmin (nằm tại/var/www/nginx-default/phpMyAdmin) bằng nginx, nhưng nó vẫn nói lỗi 404 không tìm thấy. Tôi có thiếu thứ gì đó hiển nhiên ở đây không?Chỉ thị vị trí Nginx dường như không hoạt động. Tui bỏ lỡ điều gì vậy?
server {
############### General Settings ####################
listen 80;
server_name localhost;
access_log /home/me/dev/wwwaccess.log;
############## Document Root #######################
location/{
root /home/me/dev;
index index.html index.htm index.php;
}
############## PHPMyAdmin #######################
location /phpmyadmin {
root /var/www/nginx-default/phpMyAdmin;
index index.html index.htm index.php;
}
############## Proxy Settings for FastCGI Server #####
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/me/dev$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
############# Proxy Settings for Mochi1 ###############
location /mochi1 {
proxy_pass http://127.0.0.1:8000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 3600;
proxy_buffering off;
}
############# Proxy Settings for Mochi2 ###############
location /mochi2 {
proxy_pass http://127.0.0.1:8001;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 3600;
proxy_buffering off;
}
############# Error redirection pages ################
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /home/me/dev;
}
}
Cảm ơn bạn đã trả lời! Tôi đã cố gắng này một thời gian dài trở lại nhưng nó không bao giờ làm việc trở lại sau đó. Tôi luôn gặp lỗi HTTP 404. Chỉ bây giờ tôi đã tìm ra được vấn đề. Tôi đã có các tập tin phpmyadmin dưới/var/www/nginx-default/phpmyadmin. Khi nginx xử lý chỉ thị cho một tập tin php, nó tìm kiếm bên trong/var/www/nginx-default/phpmyadmin/phpmyadmin phpmyadmin thứ hai là một từ yêu cầu. Đó là từ thư mục gốc, nó tìm kiếm thư mục tương đối mà lại là phpmyadmin. Vì vậy, tôi đã phải tạo một thư mục bên trong phpmyadmin và đặt tất cả các tập tin đó. Bây giờ nó hoạt động! – ErJab
+1 Tôi vừa mới cháy hết 2 tiếng đồng hồ cố gắng tìm ra vấn đề với nginx.conf của tôi và CUỐI CÙNG kết thúc ở đây ... Tôi mới đến nginx và nó rất bực bội để có được những điều đúng ... – dlamotte
Tuyệt vời câu trả lời. Tôi không nhận ra rằng Nginx luôn chọn chỉ một vị trí, ngay cả khi có nhiều hơn một trận đấu. Tôi phải thừa nhận rằng nó đã được ghi rõ trong tài liệu. –