Page 1 of 1

Nginx + PHP-fpm конфиг для shop-script

Posted: Thu Feb 16, 2017 4:27 pm
by Andrew72
Здравствуйте уважаемые!

Подскажите пожалуйста
как интегрировать (совместить) конфиг что бы cms shop-script работала исправно.

Разработчики cms дают такие рекомендации
Конфигурации для следующих условий:
Каталог на сервере, в который установлен фреймворк — /var/www/fw/.
PHP FastCGI обслуживает TCP-порт 9000 (это настройка по умолчанию).

Code: Select all

server {
    listen 80;

    server_name fw;
  
    root /var/www/fw;
    index index.php;

    try_files $uri $uri/ /index.php?$query_string;

    location /index.php {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
    }
    
    # for install only
    location /install.php {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
    }    
    
    location /api.php {
        fastcgi_split_path_info  ^(.+\.php)(.*)$;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
    }    

    location ^~ /wa-data/protected/ {
        #return 403;
        #X-Accel-Redirect
        internal;
    }

    location ~* ^/wa-(log|config|cache|system)/ {
        return 403;
    }

    location ~* ^/wa-data/public/contacts/photos/[0-9]+/ {
         root /var/www/fw/;
         access_log off;
         expires  30d;
         error_page   404  =  @contacts_thumb;
    }

    location @contacts_thumb {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/contacts/photos/thumb.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/wa-data/public/contacts/photos/thumb.php;
    }
  
    # photos app
    location ~* ^/wa-data/public/photos/[0-9]+/ {
        access_log   off;
        expires      30d;
        error_page   404  =  @photos_thumb;
    }

    location @photos_thumb {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/photos/thumb.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/wa-data/public/photos/thumb.php;
    }
    # end photos app
    
    # shop app
    location ~* ^/wa-data/public/shop/products/[0-9]+/ {
        access_log   off;
        expires      30d;
        error_page   404  =  @shop_thumb;
    }
    location @shop_thumb {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/shop/products/thumb.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/wa-data/public/shop/products/thumb.php;
    }
    # end shop app
    
    # mailer app
    location ~* ^/wa-data/public/mailer/files/[0-9]+/ {
        access_log   off;
        error_page   404  =  @mailer_file;
    }
    location @mailer_file {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/mailer/files/file.php;
        fastcgi_param  SCRIPT_FILENAME $document_root/wa-data/public/mailer/files/file.php;
    }
    # end mailer app

    location ~* ^.+\.(jpg|jpeg|gif|png|js|css)$ {
        access_log   off;
        expires      30d;
    }
}
конфиг из коробки при создании домена в vesta

Code: Select all

server {
    listen      192.168.1.13:80;
    server_name piz.ru www.piz.ru;
    root        /home/andrew/web/piz.ru/public_html;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/piz.ru.log combined;
    access_log  /var/log/nginx/domains/piz.ru.bytes bytes;
    error_log   /var/log/nginx/domains/piz.ru.error.log error;

    location / {

        location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
            expires     max;
        }

        location ~ [^/]\.php(/|$) {
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            if (!-f $document_root$fastcgi_script_name) {
                return  404;
            }

            fastcgi_pass    127.0.0.1:9003;
            fastcgi_index   index.php;
            include         /etc/nginx/fastcgi_params;
        }
    }

    error_page  403 /error/404.html;
    error_page  404 /error/404.html;
    error_page  500 502 503 504 /error/50x.html;

    location /error/ {
        alias   /home/andrew/web/piz.ru/document_errors/;
    }

    location ~* "/\.(htaccess|htpasswd)$" {
        deny    all;
        return  404;
    }

    location /vstats/ {
        alias   /home/andrew/web/piz.ru/stats/;
        include /home/andrew/web/piz.ru/stats/auth.conf*;
    }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phppgadmin.inc*;
    include     /etc/nginx/conf.d/webmail.inc*;

    include     /home/andrew/conf/web/nginx.piz.ru.conf*;
}
подскажите пожалуйста как их совместить?
что бы не было конфликтов между собой

Re: Nginx + PHP-fpm конфиг для shop-script

Posted: Thu Feb 16, 2017 4:57 pm
by Stesh
А в чем проблема?

Code: Select all

server {
    listen      192.168.1.13:80;
    server_name piz.ru www.piz.ru;
    root        /home/andrew/web/piz.ru/public_html;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/piz.ru.log combined;
    access_log  /var/log/nginx/domains/piz.ru.bytes bytes;
    error_log   /var/log/nginx/domains/piz.ru.error.log error;
	
	
	try_files $uri $uri/ /index.php?$query_string;

    location /index.php {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9003;
    }
    
    # for install only
    location /install.php {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9003;
    }    
    
    location /api.php {
        fastcgi_split_path_info  ^(.+\.php)(.*)$;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9003;
    }    

    location ^~ /wa-data/protected/ {
        #return 403;
        #X-Accel-Redirect
        internal;
    }

    location ~* ^/wa-(log|config|cache|system)/ {
        return 403;
    }

    location ~* ^/wa-data/public/contacts/photos/[0-9]+/ {
         root /var/www/fw/;
         access_log off;
         expires  30d;
         error_page   404  =  @contacts_thumb;
    }

    location @contacts_thumb {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9003;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/contacts/photos/thumb.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/wa-data/public/contacts/photos/thumb.php;
    }
  
    # photos app
    location ~* ^/wa-data/public/photos/[0-9]+/ {
        access_log   off;
        expires      30d;
        error_page   404  =  @photos_thumb;
    }

    location @photos_thumb {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9003;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/photos/thumb.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/wa-data/public/photos/thumb.php;
    }
    # end photos app
    
    # shop app
    location ~* ^/wa-data/public/shop/products/[0-9]+/ {
        access_log   off;
        expires      30d;
        error_page   404  =  @shop_thumb;
    }
    location @shop_thumb {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9003;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/shop/products/thumb.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/wa-data/public/shop/products/thumb.php;
    }
    # end shop app
    
    # mailer app
    location ~* ^/wa-data/public/mailer/files/[0-9]+/ {
        access_log   off;
        error_page   404  =  @mailer_file;
    }
    location @mailer_file {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9003;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/mailer/files/file.php;
        fastcgi_param  SCRIPT_FILENAME $document_root/wa-data/public/mailer/files/file.php;
    }
    # end mailer app

    location ~* ^.+\.(jpg|jpeg|gif|png|js|css)$ {
        access_log   off;
        expires      30d;
    }


    error_page  500 502 503 504 /error/50x.html;

    location /error/ {
        alias   /home/andrew/web/piz.ru/document_errors/;
    }

    location ~* "/\.(htaccess|htpasswd)$" {
        deny    all;
        return  404;
    }

    location /vstats/ {
        alias   /home/andrew/web/piz.ru/stats/;
        include /home/andrew/web/piz.ru/stats/auth.conf*;
    }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phppgadmin.inc*;
    include     /etc/nginx/conf.d/webmail.inc*;

    include     /home/andrew/conf/web/nginx.piz.ru.conf*;
}
Но этот кусок

Code: Select all

    location /vstats/ {
        alias   /home/andrew/web/piz.ru/stats/;
        include /home/andrew/web/piz.ru/stats/auth.conf*;
    }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phppgadmin.inc*;
    include     /etc/nginx/conf.d/webmail.inc*;
из соображений безопасности (нефиг светить phpmyadmin и прочим на рабочем сайте) я бы убрал

Re: Nginx + PHP-fpm конфиг для shop-script

Posted: Thu Feb 16, 2017 7:54 pm
by Andrew72
вот мой конфиг

Code: Select all

server {
    listen      192.168.1.13:80;
    server_name autorazbor.pro www.autorazbor.pro;
    root        /home/andrew/web/autorazbor.pro/public_html;
    index       index index.php;

    access_log  /var/log/nginx/domains/autorazbor.pro.log combined;
    access_log  /var/log/nginx/domains/autorazbor.pro.bytes bytes;
    error_log   /var/log/nginx/domains/autorazbor.pro.error.log error;

    try_files $uri $uri/ /index.php?$query_string;

    location /api.php {
        fastcgi_split_path_info  ^(.+\.php)(.*)$;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9002;
    }

    location ^~ /wa-data/protected/ {
        #return 403;
        #X-Accel-Redirect
        internal;
    }

    location ~* ^/wa-(log|config|cache|system)/ {
        return 403;
    }

    location ~* ^/wa-data/public/contacts/photos/[0-9]+/ {
         root /home/andrew/web/autorazbor.pro/public_html/;
         access_log off;
         expires  30d;
         error_page   404  =  @contacts_thumb;
    }

    location @contacts_thumb {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9002;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/contacts/photos/thumb.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/wa-data/public/contacts/photos/thumb.php;
    }
    # photos app
    location ~* ^/wa-data/public/photos/[0-9]+/ {
        access_log   off;
        expires      30d;
        error_page   404  =  @photos_thumb;
    }

    location @photos_thumb {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9002;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/photos/thumb.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/wa-data/public/photos/thumb.php;
    }
    # end photos app

    # shop app
    location ~* ^/wa-data/public/shop/products/[0-9]+/ {
        access_log   off;
        expires      30d;
        error_page   404  =  @shop_thumb;
    }
    location @shop_thumb {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9002;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/shop/products/thumb.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/wa-data/public/shop/products/thumb.php;
    }
    # end shop app

    # mailer app
    location ~* ^/wa-data/public/mailer/files/[0-9]+/ {
        access_log   off;
        error_page   404  =  @mailer_file;
    }
    location @mailer_file {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9002;
        fastcgi_param  SCRIPT_NAME  /wa-data/public/mailer/files/file.php;
        fastcgi_param  SCRIPT_FILENAME $document_root/wa-data/public/mailer/files/file.php;
    }
    # end mailer app

    location ~* ^.+\.(jpg|jpeg|gif|png|js|css)$ {
        access_log   off;
        expires      30d;
    }
location / {
  try_files $uri $uri/ /index.php?$uri&$args;
  location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
    expires     max;
  }

  location ~ [^/]\.php(/|$) {
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      if (!-f $document_root$fastcgi_script_name) {
        return  404;
      }

      fastcgi_pass    127.0.0.1:9002;
      fastcgi_index   index.php;
      include         /etc/nginx/fastcgi_params;
  }
}

   error_page  403 /error/404.html;
   error_page  404 /error/404.html;
   error_page  500 502 503 504 /error/50x.html;

   location /error/ {
        alias   /home/andrew/web/autorazbor.pro/document_errors/;
   }
   location ~* "/\.(htaccess|htpasswd)$" {
        deny    all;
        return  404;
   }

   location /vstats/ {
        alias   /home/andrew/web/autorazbor.pro/stats/;
        include /home/andrew/web/autorazbor.pro/stats/auth.conf*;
   }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phppgadmin.inc*;
    include     /etc/nginx/conf.d/webmail.inc*;

    include     /home/andrew/conf/web/nginx.autorazbor.pro.conf*;
}
Проблема в том что превьюшки (картинки товаров) не отображаются

Re: Nginx + PHP-fpm конфиг для shop-script

Posted: Thu Feb 16, 2017 8:17 pm
by Stesh
Потому что превьюшки попадают в этот локейшн

Code: Select all

 location ~* ^.+\.(jpg|jpeg|gif|png|js|css)$ {
        access_log   off;
        expires      30d;
    }
Имхо.

Re: Nginx + PHP-fpm конфиг для shop-script

Posted: Fri Feb 17, 2017 8:27 am
by Andrew72
yt
Stesh wrote:Потому что превьюшки попадают в этот локейшн
CODE: SELECT ALL
 location ~* ^.+\.(jpg|jpeg|gif|png|js|css)$ {
        access_log   off;
        expires      30d;
    }

Имхо.
не помогло. тестировал на виртуальной машине

Re: Nginx + PHP-fpm конфиг для shop-script

Posted: Tue Feb 21, 2017 4:48 pm
by Shaman2
Нашли в чем проблема?

Re: Nginx + PHP-fpm конфиг для shop-script

Posted: Tue Feb 21, 2017 4:54 pm
by Shaman2
А кто тут форумом управляет? Пожалуйста внесите в поиске слово shop-script в белый список, а то поиск форума блокирует это слово и пришлось искать через гугл

Re: Nginx + PHP-fpm конфиг для shop-script

Posted: Thu Apr 27, 2017 9:43 am
by skurudo
Shaman2 wrote:А кто тут форумом управляет? Пожалуйста внесите в поиске слово shop-script в белый список, а то поиск форума блокирует это слово и пришлось искать через гугл
Специально для этого добавили дополнительный поиск с гуглом.

Re: Nginx + PHP-fpm конфиг для shop-script

Posted: Sun Mar 25, 2018 8:52 am
by baoang
I don't understand Russian language, but guess this is about the nginx and php-fpm configuration problems.

Here is the link of nginx precanned config files for reference. Perhaps it may help.

https://www.nginx.com/resources/wiki/st ... igurations