Nginx下载PHP而不是运行它

如果在Linux REHL机器上安装Nginx php服务器。 当访问html文件一切顺利,但试图访问php文件,该文件被下载,而不是被执行。

这是我的nginx.conf:

user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; } 

…这是服务器块:

 server { listen 80; server_name {mywebsitename}; #access_log logs/host.access.log main; location / { root /usr/share/nginx/html/{mywebsitename}/; } location /ngx_status_2462 { stub_status on; access_log off; allow all; } location ~ \.php$ { # fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/{mywebsitename}$fastcgi_script_name; include fastcgi_params; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } 

Solutions Collecting From Web of "Nginx下载PHP而不是运行它"

我只是有这个完全相同的问题。 我使用的Ubuntu 12.04和Linux Mint 14如此不同的操作系统,但可能会有相同的问题。

有几个问题可能会发生。 首先,你需要安装php5-fpm(FastCGI Process Manager)。 我试图用我的标准版本的PHP运行它,但它不工作 – http://www.php.net/manual/en/install.fpm.php

我也安装了Apache,即使没有运行它也一定有冲突,因为一旦我卸载了Apache,我就可以执行PHP文件。

我也看看这一行

 fastcgi_pass 127.0.0.1:9000; 

并考虑改变它

 fastcgi_pass unix:/var/run/php5-fpm.sock; 

这里是一个详细的指南,安装Nginx和PHP5-FPM的RHEL(和其他操作系统)

http://www.if-not-true-then-false.com/2011/install-nginx-php-fpm-on-fedora-centos-red-hat-rhel/

这可能是因为你发送的mimetype:

 default_type application/octet-stream; 

请参阅: http : //mimeapplication.net/octet-stream

你需要把用户改成nginx而不是apache,在这个文件中是/ etc / php-fpm.d / http://www.conf

 ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache Choosed to be able to access some dir as httpd ;user = apache user = nginx ; RPM: Keep a group allowed to write in log dir. ;group = apache group = nginx 

当然重启服务php-fpm restart和service nginx restart

注释掉default_type application/octet-stream;