Biên tập.
Câu hỏi đã có câu trả lời tại đây: /server/889334/cant-get-nginx-to-run-php-on-ub Ubuntu-16-04- server
Tôi đang thiết lập một máy chủ chạy nginx và tôi đang cố gắng để nó chạy các tập lệnh php.
Rõ ràng bài viết lớn nhất về cách để nginx chạy php là bài này: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in- ubfox-16-04
Các cuộc thảo luận sau đây kết thúc về nó khi các hướng khác đã già.
Cách dễ nhất để kích hoạt PHP trên nginx là gì?
Tôi đi theo hướng dẫn trên trang web đại dương kỹ thuật số nhưng không có gì thay đổi, tôi vẫn không thể chạy php.
Tôi khá lạc lõng với điều này và bất kỳ sự giúp đỡ nào cũng sẽ được đánh giá cao.
Đây là đầu ra của sudo service nginx status
:
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2017-12-17 13:46:33 GMT; 55min ago
Process: 19056 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 19091 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)
Process: 19064 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 19059 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 19066 (nginx)
Tasks: 2
Memory: 4.6M
CPU: 406ms
CGroup: /system.slice/nginx.service
├─19066 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
└─19094 nginx: worker process
Dec 17 13:46:33 websites systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 17 13:46:33 websites systemd[1]: Started A high performance web server and a reverse proxy server.
Dec 17 13:48:53 websites systemd[1]: Reloading A high performance web server and a reverse proxy server.
Dec 17 13:48:53 websites systemd[1]: Reloaded A high performance web server and a reverse proxy server.
Đây là đầu ra của php -v
:
PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.22-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies
Và đây là tập tin cấu hình mà tôi đang sử dụng.
Nó tại /etc/nginx/conf.d/virtual_servers.conf
.
server {
listen 80;
server_name openage.org www.openage.org;
#listen [::]:80 default_server ipv6only=on;
#root /usr/share/nginx/html;
root /etc/nginx/html/openage;
index index.php index.html index.htm;
#server_name localhost;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/openage.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/openage.org/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
Tôi đã:
- khởi động lại php-fpm.
- khởi động lại nginx.
- buộc tải lại bộ đệm của trình duyệt bằng ctrl-f5.
- đã kiểm tra / var / log / error để tìm lỗi nhưng rõ ràng không có lỗi khi tôi chạy tệp php. Có vẻ như nginx chỉ không nhận ra rằng nó được cho là chạy php thay vì chỉ coi nó như một tệp thông thường.
Tôi đang cố chạy một đoạn script chỉ chứa hàm phpinfo()
. Nhưng thay vì cung cấp cho tôi thông tin php, trình duyệt chỉ cung cấp cho tôi để tải xuống tệp. /
:
sudo service nginx status
vàphp -v