Vesta CP config Nginx + php fpm шаблон для Opencart

Вопросы по работе Веб сервера
Apache + Nginx, Nginx + PHP5-FPM
Baggio824
Posts: 31
Joined: Tue Feb 16, 2016 8:53 am

Re: Vesta CP config Nginx + php fpm шаблон для Opencart

Postby Baggio824 » Tue Feb 23, 2016 3:27 pm

Убрал строчку, теперь не вылетает nginx:

Code: Select all

location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
        deny all;
    }



Обновил:

Code: Select all

server {
    listen      %ip%:%web_port%;
    server_name %domain_idn% %alias_idn%;
    root        %docroot%;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/%domain%.log combined;
    access_log  /var/log/nginx/domains/%domain%.bytes bytes;
    error_log   /var/log/nginx/domains/%domain%.error.log error;

    location / {
   
   try_files $uri @opencart;
   
   if ($query_string ~ "^route=common/home$"){
rewrite ^/index\.php$ http://$http_host? redirect;
}
   
        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    %backend_lsnr%;
            fastcgi_index   index.php;
            include         /etc/nginx/fastcgi_params;
        }
    }

   location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }
   
   location /admin {
        index index.php;
    }
   
   location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
   
   rewrite ^/sitemap.xml$ /index.php?route=feed/google_sitemap last;
   rewrite ^/googlebase.xml$ /index.php?route=feed/google_base last;
   rewrite ^/download/(.*) /index.php?route=error/not_found last;
   
    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%/%user%/web/%domain%/document_errors/;
    }

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

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

    include     %home%/%user%/conf/web/nginx.%domain%.conf*;
}

Baggio824
Posts: 31
Joined: Tue Feb 16, 2016 8:53 am

Re: Vesta CP config Nginx + php fpm шаблон для Opencart

Postby Baggio824 » Wed Feb 24, 2016 8:00 am

Кто-то может подсказать, почему качается index.php по пути http://opencart.local/admin/index.php?

Вообщем в админку не заходит! :)

Кстати может кому-то пригодится, оригинальный файл конфига isenselabs для Opencart 2.x:

Code: Select all

server {
    server_name  nginx.demo.isenselabs.com;
    listen 80;
    root /usr/share/nginx/html;
    index index.php index.html;
    location /image/data {
        autoindex on;
    }
    location /admin {
        index index.php;
    }
    location / {
        try_files $uri @opencart;
    }
    location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

   rewrite ^/sitemap.xml$ /index.php?route=feed/google_sitemap last;
   rewrite ^/googlebase.xml$ /index.php?route=feed/google_base last;
   rewrite ^/download/(.*) /index.php?route=error/not_found last;
   
    location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
        deny all;
    }
    # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
    location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
        expires max;
        log_not_found off;
    }
    location ~ \.php$ {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

imperio
VestaCP Team
Posts: 5497
Joined: Sat Dec 01, 2012 12:37 pm
Contact:

Re: Vesta CP config Nginx + php fpm шаблон для Opencart

Postby imperio » Wed Feb 24, 2016 3:32 pm

Качается index.php - это значит что php не работает.
-> DigitalOcean competition - please, support us
-> fix for phpmyadmin - nice and sweet now

ZirG
Posts: 40
Joined: Fri Aug 02, 2013 11:39 am

Re: Vesta CP config Nginx + php fpm шаблон для Opencart

Postby ZirG » Thu Feb 25, 2016 5:39 pm

Baggio824 wrote:Убрал строчку, теперь не вылетает nginx:

Code: Select all

location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
        deny all;
    }



Обновил:

Code: Select all

server {
    listen      %ip%:%web_port%;
    server_name %domain_idn% %alias_idn%;
    root        %docroot%;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/%domain%.log combined;
    access_log  /var/log/nginx/domains/%domain%.bytes bytes;
    error_log   /var/log/nginx/domains/%domain%.error.log error;

    location / {
   
   try_files $uri @opencart;
   
   if ($query_string ~ "^route=common/home$"){
rewrite ^/index\.php$ http://$http_host? redirect;
}
   
        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    %backend_lsnr%;
            fastcgi_index   index.php;
            include         /etc/nginx/fastcgi_params;
        }
    }

   location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }
   
   location /admin {
        index index.php;
    }
   
   location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
   
   rewrite ^/sitemap.xml$ /index.php?route=feed/google_sitemap last;
   rewrite ^/googlebase.xml$ /index.php?route=feed/google_base last;
   rewrite ^/download/(.*) /index.php?route=error/not_found last;
   
    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%/%user%/web/%domain%/document_errors/;
    }

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

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

    include     %home%/%user%/conf/web/nginx.%domain%.conf*;
}

Спасибо огромное за конфикг. Протестировал на SeoPro. Ссылки работают, но теперь не работает php

imperio wrote:Качается index.php - это значит что php не работает.

У меня та же проблема выявилась после установки конфига.

Baggio824
Posts: 31
Joined: Tue Feb 16, 2016 8:53 am

Re: Vesta CP config Nginx + php fpm шаблон для Opencart

Postby Baggio824 » Tue Mar 01, 2016 11:43 am

Опять обновил конфиг:

Code: Select all

server {
    listen      %ip%:%web_port%;
    server_name %domain_idn% %alias_idn%;
    root        %docroot%;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/%domain%.log combined;
    access_log  /var/log/nginx/domains/%domain%.bytes bytes;
    error_log   /var/log/nginx/domains/%domain%.error.log error;

    location / {
   
   try_files $uri @opencart;
   
   if ($query_string ~ "^route=common/home$"){
rewrite ^/index\.php$ http://$http_host? redirect;
}
   
        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    %backend_lsnr%;
            fastcgi_index   index.php;
            include         /etc/nginx/fastcgi_params;
        }
    }

   location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }
   
   location /admin {
        index index.php;
    }
   
   location /vqmod/install/ {
    index index.php;
  }
   
   location = /favicon.ico {
    log_not_found off;
    access_log off;
  }
 
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
   
    location /vqmod/install/ {
    index index.php;
  }
   
   location = /sitemap.xml {
    rewrite ^(.*)$ /index.php?route=feed/google_sitemap break;
  }
 
  location = /googlebase.xml {
    rewrite ^(.*)$ /index.php?route=feed/google_base break;
  }
   
   location ~ [^/]\.php(/|$) {
    # 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_pass unix:/var/run/domain.com.sock;
    fastcgi_index index.php;
    # Uncomment if site is HTTPS
    #fastcgi_param HTTPS on;
    include fastcgi.conf;
  }
   
   rewrite ^/download/(.*) /index.php?route=error/not_found last;
   
    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%/%user%/web/%domain%/document_errors/;
    }

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

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

    include     %home%/%user%/conf/web/nginx.%domain%.conf*;
}


Теперь работает админка! :)

До конца недели постараюсь доковырять конфиг.

Principle
Posts: 10
Joined: Thu Feb 25, 2016 9:50 pm

Re: Vesta CP config Nginx + php fpm шаблон для Opencart

Postby Principle » Tue Mar 01, 2016 12:29 pm




А на MaxSite, где найти конфиг?) Будет ли для него добавлен шаблон, если для DLE есть? MaxSite тоже немало известный.

Baggio824
Posts: 31
Joined: Tue Feb 16, 2016 8:53 am

Re: Vesta CP config Nginx + php fpm шаблон для Opencart

Postby Baggio824 » Tue Mar 01, 2016 1:29 pm

Principle wrote:



А на MaxSite, где найти конфиг?) Будет ли для него добавлен шаблон, если для DLE есть? MaxSite тоже немало известный.

MaxSite это и есть Opencart :)
Есть два варианта решения вопроса, самому создать конфиг (чем сейчас и занимаюсь) или ждать когда разработчики добавят в новой версии. На данный момент в процессе тестирую конфиг, может сегодня ещё, что-то получится.

Principle
Posts: 10
Joined: Thu Feb 25, 2016 9:50 pm

Re: Vesta CP config Nginx + php fpm шаблон для Opencart

Postby Principle » Tue Mar 01, 2016 2:42 pm

Baggio824 wrote:
Principle wrote:



А на MaxSite, где найти конфиг?) Будет ли для него добавлен шаблон, если для DLE есть? MaxSite тоже немало известный.

MaxSite это и есть Opencart :)
Есть два варианта решения вопроса, самому создать конфиг (чем сейчас и занимаюсь) или ждать когда разработчики добавят в новой версии. На данный момент в процессе тестирую конфиг, может сегодня ещё, что-то получится.


OpenCart? o_o, я ньюфаг на самом деле, 3 дня назад VPS впервые увидел, и cms не увлекался, но нужно - приходится. Я читал, что автор MaxSite поддерживал WordPress, он не нравился из-за его веса - тяжелый, много лишнего и т.п., поэтому он решил свою cms создать, я считал, что он плясал от WordPress, только в оптимизированном, лаконичном виде.

Это из-за отсутствия актуального конфига - вылетает ошибка 500? Я обновлял php до 7-й, всё вроде бы ровно, проверял через info.php, показывало 7-ю, когда выбирал в Vest-e php+fpm - всё, поплыло, ошибка 500. Думал, что криво обновил php, установил со старым php - тоже самое, даже никакую cms не устанавливал, просто на чистой весте - выбрал php-fmp, и ошибка. Это второй пост я увидел, где пишут про конфиги, решил, что из-за этого такая борода.

А open cart разве нет в шаблонах Vest-ы?

И на счёт обновлений, где глазеть инфу про будущие обновления, или это предположения?)

Baggio824
Posts: 31
Joined: Tue Feb 16, 2016 8:53 am

Re: Vesta CP config Nginx + php fpm шаблон для Opencart

Postby Baggio824 » Tue Mar 01, 2016 3:44 pm

Вот я поднимал темку по поводу новой версии: http://forum.vestacp.com/viewtopic.php?f=28&t=10656&p=39869&hilit=%D0%BD%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F#p39869

Возможно я и ошибся, если MaxSite это переделка Wordpress, значит пробуйте использовать шаблоны Wordpress на конфиге nginx + php fpm.

А вообще есть сайты где можно конвертировать .htaccess в nginx:
http://winginx.com/ru/htaccess
http://www.anilcetin.com/
Затем как я писал выше, создаём файлы конфигов, вставляем код, загружаем на сервер :)

Baggio824
Posts: 31
Joined: Tue Feb 16, 2016 8:53 am

Re: Vesta CP config Nginx + php fpm шаблон для Opencart

Postby Baggio824 » Wed Mar 02, 2016 10:52 am

Обновил opencart.tpl работает админка и ЧПУ ссылки, возможно уже окончательная версия!

И не забываем кидать этот файлик по пути: /usr/local/vesta/data/templates/web/nginx/php5-fpm

Code: Select all

server {
    listen      %ip%:%web_port%;
    server_name %domain_idn% %alias_idn%;
    root        %docroot%;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/%domain%.log combined;
    access_log  /var/log/nginx/domains/%domain%.bytes bytes;
    error_log   /var/log/nginx/domains/%domain%.error.log error;

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

    }

   location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }
   
   location /image/data {
        autoindex on;
    }
   
   location /admin {
        index index.php;
    }
   
   location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
   
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
   
   rewrite ^/sitemap.xml$ /index.php?route=feed/google_sitemap last;
   rewrite ^/googlebase.xml$ /index.php?route=feed/google_base last;
   rewrite ^/download/(.*) /index.php?route=error/not_found last;
   
    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%/%user%/web/%domain%/document_errors/;
    }

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

            fastcgi_pass    %backend_lsnr%;
            fastcgi_index   index.php;
            include         /etc/nginx/fastcgi_params;
        }
   
   location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
        deny all;
    }
   
    location ~* "/\.(htaccess|htpasswd)$" {
        deny    all;
        return  404;
    }

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

    include     %home%/%user%/conf/web/nginx.%domain%.conf*;
}


opencart.stpl будет позже ;)


Return to “Веб сервер”



Who is online

Users browsing this forum: No registered users and 7 guests

cron