Iv'e настроит сервер Nginx php на машине Linux REHL. При доступе к 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; } }
У меня была такая же проблема. Я использовал 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/
Возможно, это связано с тем, что вы отправляете:
default_type application/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 и перезапустить перезапуск nginx
Комментарий из default_type application/octet-stream;