我正在尝试在子域的Ubuntu 18.04上安装Wordpress。我在可用的网站上设置了Nginx文件,但是在浏览器上出现502错误,因为Wordpress使用的是.php文件类型作为索引,因此我在可用的网站列表中添加了“ index.php”。当我尝试在浏览器中访问URL时,在列表中添加“ index.php”后,它会下载一个名为子域地址的文件。
这是我在可用站点中的代码
server {
listen 80;
listen [::]:80;
root /var/www/apt;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;
server_name apt.forrum.ro;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
请让我知道如何解决它。
答案 0 :(得分:0)
这是简化的操作,基本上Nginx使用try_files
指令将文件提供给文件夹中的用户。这就是为什么您的php文件被发送给用户,然后下载而不是显示的原因,因为浏览器并不真正知道如何向用户显示PHP。
您需要做的就是告诉Nginx运行文件。如果是PHP,则可以使用FastCGI。在ubuntu上有很多指南,例如This One。
安装完成后,Nginx自己Here描述了所有FastCGI指令。
他们的示例发布在这里:
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
# Mitigate https://httpoxy.org/ vulnerabilities
fastcgi_param HTTP_PROXY "";
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# include the fastcgi_param setting
include fastcgi_params;
# SCRIPT_FILENAME parameter is used for PHP FPM determining
# the script name. If it is not set in fastcgi_params file,
# i.e. /etc/nginx/fastcgi_params or in the parent contexts,
# please comment off following line:
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}