Автор Тема: PRESTA 1.7.6 + NGINX + FastCGI + PHP-FPM  (Прочитано 1835 раз)

16 Август 2019, 11:02:15
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго времени суток!

Как это должно работать:

пришел запрос 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 (Но только в главной- рабочей функции а не функции редиректа)
16 Август 2019, 21:13:05
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Файл конфигурации сайта покажите.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
20 Август 2019, 04:29:10
Ответ #2
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Отредактировал первое сообщение, все выходные потратил на решение)