Настройка nginx для drupal 7

Главные вкладки

Аватар пользователя redizka redizka 20 августа 2020 в 20:48

Сервер VDS debian, Apache MPM-ITK, PHP module 7.0.33-0+deb9u8, PHP-FPM 7.0.33-0+deb9u8, nginx

Через панель ISP панель включаю режим работы PHP - FastCGI (Nginx + PHP-FPM). После этого сайт открывается только главная страница. Остальные пишут Error 404.

Конфиг Nginx пробовал менять по разным примерам с разных сайтов и статей, ни чего не выходит. В лучшем случае начинает открываться по ссылкам другой сайт на этом сервере.
Официальный конфиг тоже пробовал, и комбинировал их по разному, толку ноль.

Может кто подскажет чего не хватает в конфиге чтобы нормально открывались страницы кроме главной.

Это штатный конфиг при включении режима Nginx + PHP-FPM
Чего ему не хватает?

server {
        server_name asiaforyou.ru www.asiaforyou.ru;
        charset off;
        index index.php index.html;
        disable_symlinks if_not_owner from=$root_path;
        include /etc/nginx/vhosts-includes/*.conf;
        include /etc/nginx/vhosts-resources/asiaforyou.ru/*.conf;
        access_log /var/www/httpd-logs/asiaforyou.ru.access.log;
        error_log /var/www/httpd-logs/asiaforyou.ru.error.log notice;
        ssi on;
        set $root_path /var/www/asiaforyou.ru/data/www/asiaforyou.ru;
        root $root_path;
        gzip on;
        gzip_comp_level 5;
        gzip_disable "msie6";
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
        location / {
                location ~ [^/]\.ph(p\d*|tml)$ {
                        try_files /does_not_exists @php;
                }
        }

        listen 144.76.92.41:80;
        location @php {
                fastcgi_index index.php;
                fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@asiaforyou.ru";
                fastcgi_pass unix:/var/www/php-fpm/asiaforyou.ru.sock;
                fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
                try_files $uri =404;
                include fastcgi_params;
        }
}
server {
        server_name asiaforyou.ru www.asiaforyou.ru;
        ssl_certificate "/var/www/httpd-cert/asiaforyou.ru/asiaforyou.ru_le1.crtca";
        ssl_certificate_key "/var/www/httpd-cert/asiaforyou.ru/asiaforyou.ru_le1.key";
        ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4;
        ssl_prefer_server_ciphers on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_dhparam /etc/ssl/certs/dhparam4096.pem;
        charset off;
        index index.php index.html;
        disable_symlinks if_not_owner from=$root_path;
        include /etc/nginx/vhosts-includes/*.conf;
        include /etc/nginx/vhosts-resources/asiaforyou.ru/*.conf;
        access_log /var/www/httpd-logs/asiaforyou.ru.access.log;
        error_log /var/www/httpd-logs/asiaforyou.ru.error.log notice;
        ssi on;
        set $root_path /var/www/asiaforyou.ru/data/www/asiaforyou.ru;
        root $root_path;
        gzip on;
        gzip_comp_level 5;
        gzip_disable "msie6";
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
        location / {
                location ~ [^/]\.ph(p\d*|tml)$ {
                        try_files /does_not_exists @php;
                }
        }
       
        listen 144.76.92.41:443 ssl http2;
        location @php {
                fastcgi_index index.php;
                fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@asiaforyou.ru";
                fastcgi_pass unix:/var/www/php-fpm/asiaforyou.ru.sock;
                fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
                try_files $uri =404;
                include fastcgi_params;
        }
}

Комментарии

Аватар пользователя bsyomov bsyomov 20 августа 2020 в 21:53

Не хватает конфига nginx для drupal.
Правильное применение вышеупомянутого официального конфига вполне будет работать и тут. Если у вас не работает, то что-то не так делается.

Зачем переключаться в такой режим, если нет знаний в настройке nginx?
Nginx + Apache mpm-itk + mod_php, который по умолчанию в панели вполне нормальный вариант. С этой связкой будет заметно проще. И если у вас такие вопросы возникают, стоит её и придерживаться.

Аватар пользователя bsyomov bsyomov 20 августа 2020 в 23:43

А чего тут недостаёт? Smile
Правильное, это понимая, как именно это должно работать всё. Прочесть документацию например...

Кто же знает, как именно вам удалось скомпоновать два конфига. Что именно у вас получилось?