Доброго времени суток!
Как это должно работать:
пришел запрос nginx принял, послал сервису php7.2-fpm он обработал и отдал результат в nginx а тот в свою очередь отправил ответ клиенту.
Что было сделано:
1.установлен софт
2. настроен SSL, главный конфиг nginx, и виртуальный хост
3. в виртуальном хосте настроен коннект с FPM
4. rewrite были использованы с разных конфигов интернета, в том числе конфиги целиком
======================================
ЕСЛИ данная информация была для вас полезной напишите мне в Telegram: @skylakert "Спасибо" . Это будет лучшей благодарностью!
Возникли трудности:
Либо бесконечный 404 редирект
Либо не работающая главная страница и последующие (при этом админка работае
т но в платежах 404)
Либо постоянно перенаправляет на /install
Пожалуйста покидайте свои конфиги!
Были использованы конфиги с github и прочих сайтов но с этой версией никто не работал
======================================
РЕШЕНИЕ:
Был взят конфиг с офф станицы на github
https://github.com/PrestaShop/PrestaShop/blob/develop/docs/server_config/nginx.conf.distБыл отредактирован, его содержание было дополнено следующем:
location / {
try_files $uri $uri/ /index.php?$args;
aio threads; #тут мы включили пул ресурсов nginx, не добавляйте себе в конфиг если не знаете что это
}
Без данной функции при переходе на главную страницу все работает, но при дальнейшем клике на любую локацию страница/товар появляется ошибка.
Так же было изменена функция server:
1. По дефолту presta работает по http и в функции server находятся 2 параметра listen 80, listen 443.
2. Следует перейти на админку престы по http после нажать чек https, будет варнинг, нужно подтвердить
3.Включить ssl/tls на всех страницах (ОБЯЗАТЕЛЬНО)
4.После, когда преста работает полностью по защищенной версии вы можете смело отрубать 80 от этой конфигурации.
5. Добавляем еще один блок. В первом описана не защищенная версия, во втором уже защищенная. (в этом конфиге учет редирект с www на без www)
server {
#NETWORK
listen 80;
listen [::]:80;
server_name www.МОЙ ДОМЕН.ru МОЙ ДОМЕН.ru;
#rewrite ^(.*) https://МОй домен$1 permanent; # Редирект HTTP/1.1 301 Moved Permanently с http на https
#rewrite ^(.*) https://$host$1 permanent;
return 301 https://мой домен$request_uri; # без пробелов!
#MAIN
include acme; # не вникайте
это вам не нужно
}
server {
#NETWORK
listen 443 ssl http2;
listen [::]:443 ssl http2;
#MAIN
server_name мойдомен.ru ;
root /var/www/рабочая папка сервера/;
index index.php;
error_page 404 /index.php?controller=404;
charset UTF-8;
#SSL
ssl_certificate /etc/letsencrypt/live/мойдомен/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/мойдомен/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/мойдомен/chain.pem;
ssl_dhparam /etc/letsencrypt/dhparam.pem;
6. ВСЕ, графики в админке, главная страница и все локации работают. При этом не забудте там же настроить php-fpm (Но только в главной- рабочей функции а не функции редиректа)