CS-CART конфиг Nginx + PHP-FPM ?

Обсуждение установки и настройки поддерживаемых вебсерверов, а также работы с ними.
Ответить
etc
Сообщения: 15
Зарегистрирован: Ср июл 11, 2018 11:38 am

CS-CART конфиг Nginx + PHP-FPM ?

Сообщение etc » Ср июл 11, 2018 11:59 am

В документации к CS-CART "Настройка веб-сервера Nginx + PHP-FPM + MySQL" в пункте 8. Конфигурация Nginx https://www.cs-cart.ru/docs/4.8.x/insta ... x.html#id8 приведены настройки хоста.

Код: Выделить всё

#######################################################################
# Описание и конфигурация основного домена для интернет-магазина
#######################################################################

server {
    listen  80;
    #   Домен интернет-магазина
    server_name example.com;

    ############################################################################

    #   Кодировка по умолчанию
    charset utf-8;

    ############################################################################

    #   Основной каталог интернет-магазина
    root /var/www/html/example.com;
    index  index.php index.html index.htm;

    ############################################################################

    #   Сжатие
    gzip on;
    gzip_disable "msie6";
    gzip_comp_level 6;
    gzip_min_length  1100;
    gzip_buffers 16 8k;
    gzip_proxied any;
    gzip_types text/plain application/xml
    application/javascript
    text/css
    text/js
    text/xml
    application/x-javascript
    text/javascript
    application/json
    application/xml+rss;

    ############################################################################

    #   Прочие настройки
    client_max_body_size            100m;
    client_body_buffer_size         128k;
    client_header_timeout           3m;
    client_body_timeout             3m;
    send_timeout                    3m;
    client_header_buffer_size       1k;
    large_client_header_buffers     4 16k;

    ############################################################################

    access_log  /var/log/nginx/example.com_access.log combined;
    error_log   /var/log/nginx/example.com_error.log;

    ############################################################################

    error_page 598 = @backend;

    ############################################################################

    location @backend {
        try_files $uri $uri/ /$2$3 /$3 /index.php  =404;
        #   Путь к сокету PHP-FPM
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        #
        fastcgi_index index.php;
        fastcgi_read_timeout 360;
        #   Добавляем содержимое fastcgi_params.conf
        ################################################################################
        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;
        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_param  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;
        fastcgi_param  HTTPS              $https if_not_empty;
        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
        fastcgi_param  REMOTE_ADDR        $remote_addr;
        fastcgi_param  REMOTE_PORT        $remote_port;
        fastcgi_param  SERVER_ADDR        $server_addr;
        fastcgi_param  SERVER_PORT        $server_port;
        fastcgi_param  SERVER_NAME        $server_name;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param  REDIRECT_STATUS    200;
        ################################################################################
    }

    ############################################################################

    location  / {
        index  index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$args;
    }

    ############################################################################

    location ~ ^/(\w+/)?(\w+/)?api/ {
        rewrite ^/(\w+/)?(\w+/)?api/(.*)$ /api.php?_d=$3&ajax_custom=1&$args last;
        rewrite_log off;
    }

    ############################################################################

    location ~ ^/(\w+/)?(\w+/)?var/database/ {
        return 404;
    }

    location ~ ^/(\w+/)?(\w+/)?var/backups/ {
        return 404;
    }

    location ~ ^/(\w+/)?(\w+/)?var/restore/ {
        return 404;
    }

    location ~ ^/(\w+/)?(\w+/)?var/themes_repository/ {
        allow all;
        location ~* \.(tpl|php.?)$ {
            return 404;
        }
    }

    location ~ ^/(\w+/)?(\w+/)?var/ {
        return 404;
        location ~* /(\w+/)?(\w+/)?(.+\.(js|css|png|jpe?g|gz|yml|xml))$ {
            try_files $uri $uri/ /$2$3 /$3 /index.php?$args;
            allow all;
            access_log off;
            expires 1M;
            add_header Cache-Control public;
            add_header Access-Control-Allow-Origin *;
        }
    }

    ############################################################################

    location ~ ^/(\w+/)?(\w+/)?app/payments/ {
        return 404;
        location ~ \.php$ {
            return 598;
        }
    }

    location ~ ^/(\w+/)?(\w+/)?app/addons/rus_exim_1c/ {
        return 404;
        location ~ \.php$ {
            return 598;
        }
    }

    location ~ ^/(\w+/)?(\w+/)?app/ {
        return 404;
    }

    ############################################################################

    location ~* /(\w+/)?(\w+/)?(.+\.(jpe?g|jpg|ico|gif|png|css|js|pdf|txt|tar|woff|svg|ttf|eot|csv|zip|xml|yml))$ {
        access_log off;
        try_files $uri $uri/ /$2$3 /$3 /index.php?$args;
        expires max;
        add_header Access-Control-Allow-Origin *;
        add_header Cache-Control public;
    }

    ############################################################################

    location ~ ^/(\w+/)?(\w+/)?design/ {
        allow all;
        location ~* \.(tpl|php.?)$ {
            return 404;
        }
    }

    ############################################################################

    location ~ ^/(\w+/)?(\w+/)?images/ {
        allow all;
        location ~* \.(php.?)$ {
            return 404;
        }
    }

    ############################################################################

    location ~ ^/(\w+/)?(\w+/)?js/ {
        allow all;
        location ~* \.(php.?)$ {
            return 404;
        }
    }

    ############################################################################

    location ~ ^/(\w+/)?(\w+/)?init.php {
        return 404;
    }

    location ~* \.(tpl.?)$ {
        return 404;
    }

    location ~ /\.(ht|git) {
        return 404;
    }

    location ~* \.php$ {
        return 598 ;
    }

    ################################################################################

}
Подскажите какие из них необходимо прописать в Webserver VHOST configurator для корректной работы сайта.

Аватара пользователя
eugene
Сообщения: 123
Зарегистрирован: Ср сен 27, 2017 9:58 am

Re: CS-CART конфиг Nginx + PHP-FPM ?

Сообщение eugene » Вс авг 26, 2018 7:25 pm

Вот это:

############################################################################

location ~ ^/(\w+/)?(\w+/)?api/ {
rewrite ^/(\w+/)?(\w+/)?api/(.*)$ /api.php?_d=$3&ajax_custom=1&$args last;
rewrite_log off;
}

############################################################################

location ~ ^/(\w+/)?(\w+/)?var/database/ {
return 404;
}

location ~ ^/(\w+/)?(\w+/)?var/backups/ {
return 404;
}

location ~ ^/(\w+/)?(\w+/)?var/restore/ {
return 404;
}

location ~ ^/(\w+/)?(\w+/)?var/themes_repository/ {
allow all;
location ~* \.(tpl|php.?)$ {
return 404;
}
}

location ~ ^/(\w+/)?(\w+/)?var/ {
return 404;
location ~* /(\w+/)?(\w+/)?(.+\.(js|css|png|jpe?g|gz|yml|xml))$ {
try_files $uri $uri/ /$2$3 /$3 /index.php?$args;
allow all;
access_log off;
expires 1M;
add_header Cache-Control public;
add_header Access-Control-Allow-Origin *;
}
}

############################################################################

location ~ ^/(\w+/)?(\w+/)?app/payments/ {
return 404;
location ~ \.php$ {
return 598;
}
}

location ~ ^/(\w+/)?(\w+/)?app/addons/rus_exim_1c/ {
return 404;
location ~ \.php$ {
return 598;
}
}

location ~ ^/(\w+/)?(\w+/)?app/ {
return 404;
}

############################################################################

location ~* /(\w+/)?(\w+/)?(.+\.(jpe?g|jpg|ico|gif|png|css|js|pdf|txt|tar|woff|svg|ttf|eot|csv|zip|xml|yml))$ {
access_log off;
try_files $uri $uri/ /$2$3 /$3 /index.php?$args;
expires max;
add_header Access-Control-Allow-Origin *;
add_header Cache-Control public;
}

############################################################################

location ~ ^/(\w+/)?(\w+/)?design/ {
allow all;
location ~* \.(tpl|php.?)$ {
return 404;
}
}

############################################################################

location ~ ^/(\w+/)?(\w+/)?images/ {
allow all;
location ~* \.(php.?)$ {
return 404;
}
}

############################################################################

location ~ ^/(\w+/)?(\w+/)?js/ {
allow all;
location ~* \.(php.?)$ {
return 404;
}
}

############################################################################

location ~ ^/(\w+/)?(\w+/)?init.php {
return 404;
}

location ~* \.(tpl.?)$ {
return 404;
}

location ~ /\.(ht|git) {
return 404;
}

location ~* \.php$ {
return 598 ;
}

################################################################################


Но вообще конечно вам бы лучше обратиться не к нам, а к разработчикам CMS.

Ответить