Cách cấu hình Nginx để thực thi PHP
Đây là cấu hình của nginx.conf
http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /Users/*name*/PHPSITE/standard;
index index.html index.htm;
try_files $uri $uri/ /index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /Users/*name*/PHPSITE/standard;
}
location ~ \.php$ { include /usr/local/etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index /index.php; fastcgi_param SCRIPT_FILENAME /Users/*name*/PHPSITE/standard$fastcgi_script_name;
}
}
Nhưng khi tôi đang chạy trên 127.0.0.1:9000 thì nó không hoạt động. Trên localhost nó hiển thị 403 Forbidden. Như bạn thấy, tôi đã xóa các dòng bình luận.
Trả lời
Bạn luôn nên sử dụng $document_rootthay vì cung cấp đường dẫn gốc ở mọi nơi
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Và kiểm tra xem quá trình php-fpm của bạn có đang chạy không, ví dụ: nếu bạn đang sử dụng systemctl run
systemctl status php-fpm
systemctl start php-fpm
cũng kiểm tra xem bạn có đang sử dụng cùng một đường dẫn fast_cgi hay không, nó phải khớp trong www.conf của tệp php-fpm (có thể ở đây /etc/php-fpm.d/www.conf)
listen = 127.0.0.1:9000
và tệp nginx.conf cấu hình trang web của bạn
fastcgi_pass 127.0.0.1:9000;
sau khi cập nhật tệp, hãy khởi động lại dịch vụ Nginx / php-fpm của bạn.
và hơn là truy cập http: // localhost (khi bạn đặt server_name ở trên) trong trình duyệt của bạn, không phải 127.0.0.1:9000.