У меня проблема
Install Centos 7.2 with nginx 1.10
-- create a nginx server block sudo mkdir -p /var/www/example.com/html
-- set permission sudo chown -R nginx:nginx /var/www/example.com/html
--sudo chmod -R 755 /var/www
set setenforce 0
Install PHP7 and PHP-FPM
--change cgi.fix_pathinfo=1 to cgi.fix_pathinfo=0
-- and change in www.conf like
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
user = nginx
group = nginx
, поэтому, если я создам файл index.html в / var /www/example.com/html со стандартным приветствием и открытием в моем браузере. Теперь я вижу это, если сделаю то же самое с файлом php, но у меня будет ошибка 404
Я знаю, что вы хотели бы увидеть nginx example.com.conf файл:
server {
listen 80;
server_name example.com www.example.com;
location / {
root /var/www/example.com/html;
index index.php index.html index.htm;
try_files $uri $uri/ =404;
}
....
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Я не забыл перезапустить nginx и php-fpm. А также не забудьте проверить права доступа к папке в форме /var/www/example.com/html и всех родителей
Моя проблема в том, что я не могу открыть файлы .php
. Но я заметил, что если я запустил
ps aux | grep -i php70w-fpm
gamba* 11458 0.0 0.0 112648 1004 pts/0 S+ 16:11 0:00 grep --color=auto -i php70w-fpm
, то * gamba будет пользователем с правами администратора (с правами root для работы с sudo). Но несколькими строками выше вы могли видеть, как мои файлы www.conf выглядят так
, если я запускаю
top
, я получаю
11288 gamba 20 0 140904 2404 1148 S 0.0 0.0 0:01.00 sshd
11331 root 20 0 47788 1204 232 S 0.0 0.0 0:00.00 nginx
11332 nginx 20 0 48304 2220 828 S 0.0 0.0 0:00.01 nginx
12660 root 20 0 405024 13580 7532 S 0.0 0.1 0:00.03 php-fpm
12662 nginx 20 0 405024 7060 1004 S 0.0 0.0 0:00.00 php-fpm
12663 nginx 20 0 405024 7056 1004 S 0.0 0.0 0:00.00 php-fpm
12664 nginx 20 0 405024 7056 1004 S 0.0 0.0 0:00.00 php-fpm
12665 nginx 20 0 405024 7056 1004 S 0.0 0.0 0:00.00 php-fpm
12666 nginx 20 0 405024 7056 1004 S 0.0 0.0 0:00.00 php-fpm
12679 gamba 20 0 157828 2456 1560 R 0.0 0.0 0:02.05 top
Итак, моя проблема снова в том, что я не могу запускать файлы .php и не знаю, что я мне нужно сделать сейчас, чтобы выполнить эту работу. Я уже сделал действительно достаточно, и проверил журналы и так далее.
Я забыл передать журналы из nginx
2016/07/21 15:22:37 [error] 11332#11332: *5 "/var/www/example.com/html/index.php" is forbidden (13: Permission denied), client: XX.XXX.XXX.XXX, server: example.com, request: "GET / HTTP/1.1", host: "example.com"
Я обновил журналы nginx, которые были старыми error
Убедитесь, что в вашей конфигурации php нет синтаксических ошибок или проблем с разрешениями - я не знаком с Centos7, но в Ubuntu 14.04 это sudo / usr / sbin / php -fpm7.0 --fpm-config /etc/php/7.0/fpm/php-fpm.conf
, который сообщит вам, есть ли какие-либо ошибки. Когда я сталкивался с этой проблемой в прошлом, это было потому, что каталог PHP-FPM, в который пытался записать файл PID, не существовал.
Не могли бы вы опубликовать первые несколько строк из вашего файла /etc/nginx/nginx.conf? Они должны указать пользователя, от имени которого запускаются потоки nginx. Обычно (по крайней мере, в Debian) это:
user www-data;
или
user nginx;
Этому пользователю или группе, в которой он находится, потребуются разрешения в папке / var / www / html / mysite.
Это также будет будет полезно, если вы можете опубликовать результаты:
sudo nginx -t