Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » переезд с lightt + mariadb 5.x на nginx + php-fpm + mariadb

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

PETYANORM

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток, коллеги.
 
Имею такую проблему:
 
Ранее был lighttpd на centos 7.X, всё работало корректно.
 
Сейчас имею nginx 1.10 с ubuntu 16.04.
 
Zabbix работает корректно, переходит по всем каталогам. У других веб-ресурсов не работает переход по каталогам - вместо этого возвращает значение 404, то есть, главная страница отображается, а все последующие с значением 404.
 
Конфиг Nginx:  

Цитата:
 
server {
    root /home/www/test/;
 
    index index.php index.html index.htm;
 
    server_name my_site;
 
    location / {
        try_files $uri $uri/ =404;
    }
 
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
         
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
}
 

Переезжали так:

Цитата:
 
tar -cvvf test.tar ./
vsftpd -> filezilla -> windows -> htt p
wget
tar -xvvf test.tar
 

 

Цитата:
 
mysqldump -u root -p dumpdb > dumpfile.sql
 
mysql -u root -p
 
CREATE DATABASE `db_name` CHARACTER SET utf8 COLLATE utf8_general_ci;
 
exit
 
mysql -u root -p db_name < dumpfile.sql
 

 
Логи:
 

Цитата:
 
2017/03/01 02:19:53 [error] 25546#25546: *1 "/home/www/test/test2/index.php" is not found (2: No such file or directory), clie$
2017/03/01 02:19:55 [error] 25546#25546: *2 "/home/www/test/test3/index.php" is not found (2: No such file or directory), client: IP_ADDRESS, server: zom$

Всего записей: 86 | Зарегистр. 05-10-2016 | Отправлено: 01:12 02-03-2017 | Исправлено: PETYANORM, 01:14 02-03-2017
PETYANORM

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Актуально. Буду признателен за любую помощь.

Всего записей: 86 | Зарегистр. 05-10-2016 | Отправлено: 21:53 02-03-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PETYANORM

Цитата:
"/home/www/test/test2/index.php" is not found (2: No such file or directory)

ну, а пусть такой фактически есть?
остальное то к делу отношения не имеет.

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 23:54 02-03-2017
PETYANORM

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, всё на месте.
Мне кажется, что всё-таки проблема в том, что в lighttpd есть .htcasses, настройки которого нужно переносить в nginx...
 
Взять в пример тот же zabbix, который заработал с аналогичным конфигом и настройками nginx - .htcasses отсутствовал.
К сожалению, я "готовить" nginx не умею, поэтому это только предположение.

Всего записей: 86 | Зарегистр. 05-10-2016 | Отправлено: 23:55 02-03-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PETYANORM

Цитата:
Да, всё на месте.  

вы уверены? и что при этом действительно запрашиваете index.php файл в той папке?
или пытаетесь получить листинг файлов в папке?

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 01:00 03-03-2017
PETYANORM

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не совсем компетентен в теории, поэтому опишу действия:
 
1. Зайдя по server_name my_site;  (параметр из виртуального хоста)
у меня корректно отображается главная страница.
2. Обращаясь к ссылкам вида my_site/novosti/ возвращает значение 404.
3. Обращаясь к ссылкам вида my_site/admin.php?mod=main всё работает корректно.
 
То есть, не работает по сути то, что располагается в самом xml, ибо my_site/novosti/ - novosti, это не директория, а то, что располагается в xml.
 
Кстати, php-xml установлен.

Всего записей: 86 | Зарегистр. 05-10-2016 | Отправлено: 01:14 03-03-2017 | Исправлено: PETYANORM, 01:19 03-03-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PETYANORM

Цитата:
Кстати, php-xml установлен.

дело не в нем, а в том, что не срабатывает аналог mod_rewrite.
 
скорее всего вам нужно

Код:
  location / {  
        try_files $uri $uri/ /index.php?$args;  
    }
или что то аналогичное (зависит от скрипта)

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 02:00 03-03-2017
PETYANORM

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
скорее всего вам нужно  

Ранее уже практиковал.
Значение 404 не возвращается, но при этом отображается только "начальная страница" (с которой был совершён переход). Аналогичная ситуация происходит на всех интернет-ресурсах.
 
Логи:
 

Код:
 
2017/03/03 18:48:59 [error] 12382#12382: *1 FastCGI sent in stderr: "Passing INI directive through FastCGI: empty value for key '#php_value default_charset windows-125$
Passing INI directive through FastCGI: unable to set '#date.timezone'" while reading response header from upstream, client: 141.8.142.105, server: my-site2, reque$
2017/03/03 18:49:00 [error] 12382#12382: *3 FastCGI sent in stderr: "Passing INI directive through FastCGI: empty value for key '#php_value default_charset windows-125$
Passing INI directive through FastCGI: unable to set '#date.timezone'" while reading response header from upstream, client: 95.158.200.30, server: my-site2, reque$
2017/03/03 18:49:00 [error] 12382#12382: *3 FastCGI sent in stderr: "Passing INI directive through FastCGI: empty value for key '#php_value default_charset windows-125$
Passing INI directive through FastCGI: unable to set '#date.timezone'" while reading response header from upstream, client: 95.158.200.30, server: my-site2, reque$
2017/03/03 18:49:00 [error] 12382#12382: *6 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function IPS\mb_internal_encoding$
Stack trace:
#0 /home/www/my-site/init.php(627): IPS\IPS::init()
#1 /home/www/my-site/index.php(12): require_once('/home/www/my-sit...')
#2 {main}
  thrown in /home/www/my-site/init.php on line 125" while reading response header from upstream, client: 69.30.234.2, server: my-site, request: "GET /?app=core&mod$
2017/03/03 18:49:00 [error] 12382#12382: *3 FastCGI sent in stderr: "Passing INI directive through FastCGI: empty value for key '#php_value default_charset windows-125$
Passing INI directive through FastCGI: unable to set '#date.timezone'" while reading response header from upstream, client: 95.158.200.30, server: my-site2, reque$
2017/03/03 18:49:00 [error] 12382#12382: *10 FastCGI sent in stderr: "Passing INI directive through FastCGI: empty value for key '#php_value default_charset windows-12$
Passing INI directive through FastCGI: unable to set '#date.timezone'" while reading response header from upstream, client: 95.158.200.30, server: my-site2, reque$
2017/03/03 18:49:01 [error] 12382#12382: *6 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function IPS\mb_internal_encoding$
Stack trace:
#0 /home/www/my-site/init.php(627): IPS\IPS::init()
#1 /home/www/my-site/index.php(12): require_once('/home/www/my-sit...')
#2 {main}
  thrown in /home/www/my-site/init.php on line 125" while reading response header from upstream, client: 69.30.234.2, server: my-site, request: "GET /?app=core&mod$
 

Проблема с кодировкой ясна (ибо наглядно видна проблема) - как зафиксить не знаю; с тайм зоной фиксить знаю как, но не трогаю - пытаюсь исправить основное.
 

Цитата:
или что то аналогичное (зависит от скрипта)

Как мне понять, "что мне нужно"?
На что обратить внимание?
 
p.s. О каком скрипте речь? .htcasses или .xml?

Всего записей: 86 | Зарегистр. 05-10-2016 | Отправлено: 10:43 03-03-2017 | Исправлено: PETYANORM, 18:52 03-03-2017
PETYANORM

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пробовали так:
 

Код:
 location / {
        try_files $uri $uri/ @backend;
    }
 
    location @backend {
        include snippets/fastcgi-php.conf;
         
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
 
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
         
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
 
 

 
в логах nginx и php-fpm пусто, но проблему это не решило.

Всего записей: 86 | Зарегистр. 05-10-2016 | Отправлено: 18:11 04-03-2017 | Исправлено: PETYANORM, 18:11 04-03-2017
PETYANORM

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Содержание конфига include snippets/fastcgi-php.conf;  
 
 

Код:
 
# regex to split $uri to $fastcgi_script_name and $fastcgi_path
fastcgi_split_path_info ^(.+\.php)(/.+)$;
 
# Check that the PHP script exists before passing it
try_files $fastcgi_script_name =404;
 
# Bypass the fact that try_files resets $fastcgi_path_info
# see: http://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
 
fastcgi_index index.php;
include fastcgi.conf;
 

Всего записей: 86 | Зарегистр. 05-10-2016 | Отправлено: 15:44 05-03-2017
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » переезд с lightt + mariadb 5.x на nginx + php-fpm + mariadb


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru