Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: nginx+php-fpm помогите начать  (Прочитано 4137 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ajk

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
nginx+php-fpm помогите начать
« : 23 Июнь 2014, 18:00:30 »
Настроил связку согласно штатного описания http://help.ubuntu.ru/wiki/nginx-phpfpm

Запускаю 127.0.0.1 вижу: Welcome to Nginx! Т.е. статика работает!

Как мне проверить php-fpm?

Запускаю 127.0.0.1/example.ru вижу: Ошибка 404

В каталоге /var/www/example.ru находится файл index.html: <?php phpinfo() ?>
В логах nginx и php-fpm ничего интересного нет.

Файл /etc/nginx/sites-available/examples.ru
Цитировать
server
{
   listen   80;
   root         /var/www;
   index         index.php index.html index.htm;
   server_name      example.com www.example.com;
   location "/"
      {
      index index.php index.html index.htm;   
      try_files   $uri $uri/   =404;   
      }
#   include common/locations/deny;
   location ~ "^(/index\.php|/info\.php|/(wordpress|owncloud)/.+?\.php)(/.*)?$"
   {
      try_files   $1 $uri $uri/ $uri/index.php?q=$uri&$args $uri/index.php   =404;
   }
   include common/php-fpm;
}

Что ещё можно посмотреть и как поискать место "затыка"?

Спасибо!

Александр

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Re: nginx+php-fpm помогите начать
« Ответ #1 : 23 Июнь 2014, 18:14:19 »
секция же настроена для хоста example.com

либо добавьте в /etc/hosts
127.0.0.1 example.com

и попробуйте запустить example.com/example.ru
либо удалите дефолтный хост - rm /etc/nginx/sites-enabled/default и измените директиву listen следующим образом:

listen 80 default_server;

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27327
    • Просмотр профиля
Re: nginx+php-fpm помогите начать
« Ответ #2 : 23 Июнь 2014, 18:55:12 »
секция же настроена для хоста example.com
Это совершенно неважно.
Хотя проверить можно.

curl -H "Host: example.com" http://127.0.0.1/example.ru/
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ajk

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
Re: nginx+php-fpm помогите начать
« Ответ #3 : 24 Июнь 2014, 11:27:51 »
Когда я писал, я увидел, что example.com и example.ru, на серевере поправил, а здесь забыл. Т.е. ошибка та же.

дефолтный хост /etc/nginx/sites-enabled/default удалил и изменил директиву listen - не помогло

Curl - нет, но попозже схожу к и-нету и установлю.

А вот есть такие права в настройках:
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

Каталог /var/www какие права должен иметь?
Я правильно понимаю, что всё, что все *.php должны быть там?

Александр

Пользователь решил продолжить мысль 24 Июнь 2014, 11:35:47:
Интересно, что на 127.0.0.1 он выбает:Welcome to Nginx!

А если 127.0.0.1/index.html или 127.0.0.1/index.php, - то "Не могу установить соединение с сервером 127.0.0.1"

Александр
« Последнее редактирование: 24 Июнь 2014, 11:35:47 от ajk »

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Re: nginx+php-fpm помогите начать
« Ответ #4 : 24 Июнь 2014, 13:45:46 »
Переместите  include common/php-fpm; в секцию location и измените регулярку, тогда все заработает

location ~ \.php$"
{
  include common/php-fpm;
  try_files   $1 $uri $uri/ $uri/index.php?q=$uri&$args $uri/index.php   =404;
}

если будут ошибки при запуске, смотрите логи nginx:
tail -n 50 /var/log/nginx/error.log

Оффлайн ajk

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
Re: nginx+php-fpm помогите начать
« Ответ #5 : 25 Июнь 2014, 10:57:09 »
Опять всё переставил и начал сначала:

В браузере:

http://127.0.0.1/ показывает "Welcome to nginx!"

http://127.0.0.1/example.ru показывает "404 Not Found"

Установил и curl:

curl -H "Host: example.ru" http://127.0.0.1/даёт:
Цитировать
<?php echo "Корень<br>";  phpinfo(); ?>
curl -I "Host: example.ru" http://127.0.0.1/даёт:
Цитировать
curl: (6) Could not resolve host: Host
HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Wed, 25 Jun 2014 07:42:35 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 04 Mar 2014 11:46:45 GMT
Connection: keep-alive
ETag: "5315bd25-264"
Accept-Ranges: bytes

curl -H "Host: example.ru" http://127.0.0.1/example.ru/даёт:
Цитировать
<?php phpinfo(); ?>

curl -I "Host: example.ru" http://127.0.0.1/example.ru/даёт:
Цитировать
curl: (6) Could not resolve host: Host
HTTP/1.1 404 Not Found
Server: nginx/1.4.6 (Ubuntu)
Date: Wed, 25 Jun 2014 07:34:01 GMT
Content-Type: text/html
Content-Length: 177
Connection: keep-alive

Права на

/var
drwxr-xr-x  3 root root     4096 июня  25 10:31 www/

/var/www
итого 8
drwxr-xr-x 2 root root 4096 июня  25 10:25 example.ru/
-rw-r--r-- 1 root root   46 июня  25 10:31 index.php

/var/www/example.ru/
итого 4
-rw-r--r-- 1 root root 20 июня  25 10:25 index.php

/etc/nginx/sites-available/example.ru теперь такой:
Цитировать
include common/upstream;

server
{

   # Порты
   listen   80;

   root         /var/www;

   index         index.php index.html index.htm;

   server_name      example.ru www.example.ru;

   location "/"
      {
      index index.php index.html index.htm;   
      try_files   $uri $uri/   =404;   
      }

location ~ \.php$"
   {
       include common/php-fpm;
       try_files   $1 $uri $uri/ $uri/index.php?q=$uri&$args $uri/index.php   =404;
   }

}

Как определить, это nginx не прокидывает запросы на php-pfm или php-pfm не может найти/разобрать сайтовые файлы php?

Александр
« Последнее редактирование: 25 Июнь 2014, 11:58:09 от ajk »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27327
    • Просмотр профиля
Re: nginx+php-fpm помогите начать
« Ответ #6 : 25 Июнь 2014, 13:27:58 »
Опять всё переставил и начал сначала:
Прежде чем начинать тесты, полезно разобраться, что тесты делают.

Цитировать
В браузере:

http://127.0.0.1/ показывает "Welcome to nginx!"

http://127.0.0.1/example.ru показывает "404 Not Found"

Установил и curl:

curl -H "Host: example.ru" http://127.0.0.1/даёт:
Цитировать
<?php echo "Корень<br>";  phpinfo(); ?>
Уже отсюда можно сделать вывод, что результат запроса сайта по IP отличается от запроса сайта по имени.
Что означает, что у вас в nginx настроено как минимум два сайта - один по умолчанию, и второй, который вам нужен, на example.ru.

Цитировать
curl -I "Host: example.ru" http://127.0.0.1/даёт:
Цитировать
curl: (6) Could not resolve host: Host
Неудивительно.
Если уже хотите посмотреть на заголовки, ДОБАВЛЯЙТЕ, а не заменяйте ключи.
I.e.
curl -IH "Host: example.ru" http://127.0.0.1/
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ajk

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
Re: nginx+php-fpm помогите начать
« Ответ #7 : 25 Июнь 2014, 13:43:44 »
Увы! Мне это ничего не добавило...

Цитировать
ubuntu:~$ curl -IH "Host: example.ru" http://127.0.0.1/example.ru/
HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Wed, 25 Jun 2014 09:33:47 GMT
Content-Type: application/octet-stream
Content-Length: 20
Last-Modified: Wed, 25 Jun 2014 06:25:56 GMT
Connection: keep-alive
ETag: "53aa6b74-14"
Accept-Ranges: bytes

ubuntu:~$ curl -IH "Host: example.ru" http://127.0.0.1/
HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Wed, 25 Jun 2014 09:34:02 GMT
Content-Type: application/octet-stream
Content-Length: 46
Last-Modified: Wed, 25 Jun 2014 06:31:02 GMT
Connection: keep-alive
ETag: "53aa6ca6-2e"
Accept-Ranges: bytes

На обоих что-то есть, а как же index.php то сактивировать?

Александр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27327
    • Просмотр профиля
Re: nginx+php-fpm помогите начать
« Ответ #8 : 25 Июнь 2014, 14:13:12 »
Ничего и не могло дать. Что вы ожидали увидеть, глядя на заголовки? Что страничка отдаётся именно nginx'ом?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ajk

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
Re: nginx+php-fpm помогите начать
« Ответ #9 : 25 Июнь 2014, 20:30:54 »
Так, если у кого-то так же не получается, то  "курите" здесь http://howitmake.ru/blog/ubuntu/80.html

У меня получилось. А если я ещё и осознаю как, то тут отпишусь.

Спасибо тем, кто давал ответы в тему!

Александр.


 

Страница сгенерирована за 0.145 секунд. Запросов: 24.