我配置了一个vps服务器,上面有nginx、php-fpm和apache
具有.html扩展名的常见网站被服务器d作为静态网页,如正常,但当我尝试使用动态生成内容的.php页面时,我只看到纯html代码,如Nginx正在提供.txt文件。
Nginx在80上监听,Apache在8080上监听。
禁用的模式:mod_proxy, mod_actions
Nginx服务器块配置:
server {
server_name example.com www.example.com;
listen 80;
root /var/www/example.com;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
location ~ .php$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://IP:8080;
}
}
Apache虚拟主机配置:
<VirtualHost *:8080>
DocumentRoot /var/www/example.com
ServerName example.com
<Directory />
AllowOverride All
</Directory>
</VirtualHost>
Nginx&Apache都在%username%下工作,也使用%username%作为组。
代码似乎是正确的,但问题是当我加载网页example.com/index.php时,它像一个.txt文件一样加载纯html代码,而不是普通的.php页面。
与info.php相同,带有通常的"<?php phpinfo(); ?>"
我看到了代码,但不是真实的信息页面。
您需要配置nginx
或Apache来将文件发送到php解释器。
请参阅本文档,将nginx
和php-fpm
与fastcgi_pass
指令一起使用。
请参阅本文档以使用Apache和mod_php
。