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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: nginx + php-fpr  (Прочитано 1183 раз)

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

Оффлайн ravkoff

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
    • Ravkoff.ru
nginx + php-fpr
« : 27 Март 2017, 16:19:48 »
Знатоки помогите советом.
Перехожу потихоньку на nginx с апача.
есть site1.ru и site2.ru на одной машине. почему если заходить на site2.ru/index.php (напрямую с index.php) то заходит, а если на site2.ru (без index.php) то скидывает на главный сайт site1.ru, т.е. как будто nginx не видит index.php и кидает на главный сайт. не пойму чот. есть способы? что уже только не перепробовал. конфиг самый "бюджетный", в логах ошибок нет.

server {
listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6

root /var/www;
index index.php index.html index.htm;

# Make site accessible from http://localhost/
server_name localhost site2.ru;

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}
}
« Последнее редактирование: 27 Март 2017, 17:56:23 от ravkoff »

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1443
    • Просмотр профиля
Re: nginx + php-fpr
« Ответ #1 : 27 Март 2017, 16:30:38 »
Index.php

попробуйте index.php

Оффлайн ravkoff

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
    • Ravkoff.ru
Re: nginx + php-fpr
« Ответ #2 : 27 Март 2017, 16:38:42 »
Остроумно:) Опечатался тут. Смысл, к сожалению, остался тот же.

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1443
    • Просмотр профиля
Re: nginx + php-fpr
« Ответ #3 : 27 Март 2017, 16:59:51 »
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;

покажите эту строку из конфига site1.ru или весь конфиг

Оффлайн TeenSpirit

  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
    • Speed24
Re: nginx + php-fpr
« Ответ #4 : 27 Март 2017, 17:10:56 »
как думаете регулярка \.php$ матчит "/"?
Добавьте
location / {
        index   index.html index.php;
    }
« Последнее редактирование: 27 Март 2017, 17:19:53 от TeenSpirit »

Оффлайн ravkoff

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
    • Ravkoff.ru
Re: nginx + php-fpr
« Ответ #5 : 27 Март 2017, 17:54:07 »
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;

покажите эту строку из конфига site1.ru или весь конфиг
site1.ru с апача на 8081 порту берет инфу, вот conf, тоже ничего подозрительного.

server {

    listen   80; ## listen for ipv4
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    server_name  site1.ru www.site1.ru;

    #access_log  /var/log/nginx/site1ru_access.log;
    error_log  /var/log/nginx/site1ru_error.log;

    # Максимальный размер тела запроса клиента
    client_max_body_size 10M;

    location / {
        proxy_pass http://127.0.0.1:8081/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_connect_timeout    120;
        proxy_send_timeout    120;
        proxy_read_timeout    180;
    }

    # Статику Nginx отдает самостоятельно без участия Apache
    location ~* \.(ico|docx|doc|xls|xlsx|rar|zip|jpg|jpeg|txt|xml|pdf|gif|png|css|js)$ {
        root   /var/www/site1.ru/public_html;
    }


}

Пользователь добавил сообщение 27 Март 2017, 18:01:49:
как думаете регулярка \.php$ матчит "/"?
Добавьте
location / {
        index   index.html index.php;
    }
К сожалению, этот вариант я уже рассматривал, так и кидает на сайт1. Сейчас все настройки nginx по-умолчанию. Фактические настраиваю только конфиги для сайта. Удалил default, создал site1.ru.conf и site2.ru.conf. Самое главное, что логов нет, не могу понять что я делаю не так.
« Последнее редактирование: 27 Март 2017, 18:01:49 от ravkoff »

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1443
    • Просмотр профиля
Re: nginx + php-fpr
« Ответ #6 : 27 Март 2017, 18:05:39 »
в конфиге для site1.ru будете указывать путь root?
у вас site1 получился внутри site2...
« Последнее редактирование: 27 Март 2017, 18:08:26 от bezbo »

Оффлайн ravkoff

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
    • Ravkoff.ru
Re: nginx + php-fpr
« Ответ #7 : 27 Март 2017, 18:18:57 »
в конфиге для site1.ru будете указывать путь root?
у вас site1 получился внутри site2...
указывал путь рут для site1. без изменений.
сейчас сделал чуть иначе, выключил апач2, удалил все конфиги nginx, кроме собственно site2.ru.
конфиг:
server {
listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6


root /var/www/site2.ru/public_html/;
index index.php;


#access_log  /var/log/nginx/site2_access.log;
error_log  /var/log/nginx/site2_error.log;


# Make site accessible from http://localhost/
server_name localhost site2.ru www.site2.ru;


location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/site2.ru/public_html$fastcgi_script_name;
include fastcgi_params;
}
}
но при входе на site2.ru без /index.php кидает на site1.ru. но с содержимым site2. мой мозг окончательно сломался.
т.е. в работе только один конфиг сейчас. логов по-прежнему нет.
но если захожу на site1.ru, то открывается site2.ru/index.php. эмэм?
« Последнее редактирование: 27 Март 2017, 18:20:47 от ravkoff »

Оффлайн TeenSpirit

  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
    • Speed24
Re: nginx + php-fpr
« Ответ #8 : 27 Март 2017, 20:09:41 »
Может это не nginx? Что отдает http://localhost:9000

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27415
    • Просмотр профиля
Re: nginx + php-fpr
« Ответ #9 : 28 Март 2017, 04:35:15 »
nginx -T вывод на https://paste.ngx.cc/ и ссылку сюда.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн ravkoff

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
    • Ravkoff.ru
Re: nginx + php-fpr
« Ответ #10 : 28 Март 2017, 06:49:16 »
Может это не nginx? Что отдает http://localhost:9000
ничего не отдает.



Пользователь добавил сообщение 28 Март 2017, 06:49:38:
nginx -T вывод на https://paste.ngx.cc/ и ссылку сюда.
https://paste.ngx.cc/fb

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27415
    • Просмотр профиля
Re: nginx + php-fpr
« Ответ #11 : 28 Март 2017, 09:53:30 »
У вас всего один сервер описан.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн ravkoff

  • Автор темы
  • Любитель
  • *
  • Сообщений: 95
    • Просмотр профиля
    • Ravkoff.ru
Re: nginx + php-fpr
« Ответ #12 : 28 Март 2017, 10:11:08 »
У вас всего один сервер описан.
Я намеренно так сделал. Сообщением выше суть проблемы.
Попробую убрать все лишнее из предложений.

Сейчас из двух сайтов site1.ru и site2.ru описан только site2.ru.
Захожу на сайт site2.ru (без index.php) то, меня перекидывает на site1.ru (но он выключен!), а под этим доменным именем (site1.ru) отображается site2.ru, т.е. как будто site1.ru это и есть site2.ru.
А если я захожу на site2.ru/index.php, то остаюсь на site2.ru/index.php.


Может быть я не понимаю логику работы nginx? Запутался в край.
« Последнее редактирование: 28 Март 2017, 10:12:59 от ravkoff »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27415
    • Просмотр профиля
Re: nginx + php-fpr
« Ответ #13 : 28 Март 2017, 13:38:46 »
А в логах сервера что?
Возможно, редирект идёт в PHP, тогда надо смотреть там.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн TeenSpirit

  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
    • Speed24
Re: nginx + php-fpr
« Ответ #14 : 28 Март 2017, 17:18:54 »
Что выдает?
apt-get install libfcgi0ldbl

SCRIPT_NAME=/index.php \
SCRIPT_FILENAME=/var/www/jtss.ru/public_html/mail/index.php \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect localhost:9000

 

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