Nginx cms: CMS Made Simple | NGINX

Рецепт конфигурации nginx для UMI.CMS с использованием статического кэша — DiPHOST.Ru wiki system

Материал из DiPHOST.Ru wiki system

Перейти к: навигация, поиск

Рецепт nginx «UMI.CMS кэш nginx»

Коллекция рецептов nginx нашего хостинга

UMI.CMS способна создавать статическую копию сайта: кэширование через nginx. Это позволяет в 10-ки раз ускорить работу сайтов. Предполагается, что config.ini UMI.CMS имеет такие строки:

[includes]
static.system-cache = /home/ваш_логин/www/site<N>/public_html/sys-temp/static-cache
[cache]
static.enabled = «1»
static.mode = «nginx»

Так выглядит конфигурация nginx сайта для хостинга:

       # конфигурация nginx для гипотетического пользователя хостинга username для сайта номер "один"
       # конфигурация обеспечивает работу со специальным кэшированием UMI.CMS
       # http://wiki.umisoft.ru/кэширование_через_nginx
       #
       # параметр listen и proxy_pass генерируется нашей системой автоматически по внутренним параметрам
       server {
                listen 192. 168.0.1:80;               # IP-адрес сервера
                proxy_buffer_size         8k;       # параметр изменяется в панели управления
                client_max_body_size   16m;    # параметр изменяется в панели управления
                client_body_buffer_size 512k;
                # кэш имён файлов для disable_symlinks
                open_file_cache          max=1000 inactive=20s; 
                open_file_cache_valid    30s;
                open_file_cache_min_uses 2;
                open_file_cache_errors   on;
                # имена сайта
                server_name example.com;
                server_name www.example.com
                # отключение лишних журналов
                access_log  off;
                log_not_found off;
                # корневая папка для статических файлов
                root /home/username/www/site1/public_html;
                index index.html;
                # запрет символьных ссылок на "чужие" файлы
                # если файл находится внутри папки /home/username/www/site1/public_html , 
                # то эту часть не проверять по соображением производительности
                disable_symlinks if_not_owner from=/home/username/www/site1/public_html;
                # обработать запрос, не соответствующий уточнениям ниже
                location / {
                        access_log /home/username/www/site1/logs/nginx-access. log;
                        # кодировка прописана во избежании ситуаций, когда отдаваемые nginx файлы .html интерпретируется 
                        # браузером в соответствии с его настройкой
                        charset utf-8;
                        source_charset utf-8;
                        # не смотреть в кэше, если метод запроса POST или есть аргументы, или пользователь залогинен
                        error_page 412 = @apache;
                        if ($request_method = 'POST') { return 412; }
                        if ($is_args = '?') { return 412; }
                        if ($cookie_umicms_session) { return 412; }
                        # переопределить корень сайта на папку статического кэша 
                        # попытаться воспользоваться им
                        root /home/username/www/site1/public_html/sys-temp/static-cache/$host/;
                        try_files $uri/index.html @apache;
                }
                # запретить доступ к файлам репозиториев, если они случайно оказались в публичном месте
                location ~ /\. /admin {
                       error_page 412 = @apache;
                       return 412;
                }
                # обрабатывать php-файлы веб-сервером apache
                location ~* \.php$ {
                       error_page 412 = @apache;
                       return 412;
                }
                # попытаться отдать файл с одним из расширений напрямую минуя apache
                location ~* \.(swf|zip|rar|arj|cab|exe|dll|ico|jpg|jpeg|gif|bmp|png|mp3|avi|mov|mpg|mpeg|amr|mmf|wml|wbmp|mid|midi|3gp|css|js|html|htm|txt)$ {
                        access_log /home/username/www/site1/logs/nginx-access.log;
                        charset utf-8;
                        source_charset utf-8;
                        try_files $uri @apache;
                }
                # передать запрос к apache
                location @apache {
                        proxy_pass  http://127.0.0.1:11111;
                }                
        }

Рецепт конфигурации nginx для UMI.

CMS — DiPHOST.Ru wiki system

Материал из DiPHOST.Ru wiki system

Перейти к: навигация, поиск

Рецепт nginx «UMI.CMS»

Коллекция рецептов nginx нашего хостинга

Для обработки статических файлов веб-сервером nginx мы разработали специальную с учётом особенностей UMI.CMS.

Так выглядит конфигурация nginx сайта для хостинга:

       # конфигурация nginx для гипотетического пользователя хостинга username для сайта номер "один"
       #
       # параметр listen и proxy_pass генерируется нашей системой автоматически по внутренним параметрам
       server {
                listen 192.168.0.1:80;               # IP-адрес сервера
                proxy_buffer_size         8k;       # параметр изменяется в панели управления
                client_max_body_size   16m;    # параметр изменяется в панели управления
                client_body_buffer_size 512k;
                # кэш имён файлов для disable_symlinks
                open_file_cache          max=1000 inactive=20s; 
                open_file_cache_valid    30s;
                open_file_cache_min_uses 2;
                open_file_cache_errors   on;
                # имена сайта
                server_name example. com;
                server_name www.example.com
                # отключение лишних журналов
                access_log  off;
                log_not_found off;
                # корневая папка для статических файлов
                root /home/username/www/site1/public_html;
                index index.html;
                # запрет символьных ссылок на "чужие" файлы
                # если файл находится внутри папки /home/username/www/site1/public_html , 
                # то эту часть не проверять по соображением производительности
                disable_symlinks if_not_owner from=/home/username/www/site1/public_html;
                # обработать запрос, не соответствующий уточнениям ниже
                location / {
                        proxy_pass  http://127.0.0.1:11111;
                }
                # запретить доступ к файлам репозиториев, если они случайно оказались в публичном месте
                location ~ /\.svn {
                        deny all;
                }
                location ~ /\. git {
                        deny all;
                }
                location ~ /\.hg {
                        deny all;
                }
                # запретить доступ к файлам .htaccess и .htpasswd
                location ~ /\.ht {
                        deny all;
                }
                # попытаться отдать файл с одним из расширений напрямую минуя apache
                location ~* \.(swf|zip|rar|arj|cab|exe|dll|ico|jpg|jpeg|gif|bmp|png|mp3|avi|mov|mpg|mpeg|amr|mmf|wml|wbmp|mid|midi|3gp|css|js|html|htm|txt)$ {
                        access_log /home/username/www/site1/logs/nginx-access.log;
                        charset utf-8;
                        source_charset utf-8;
                        try_files $uri @apache;
                }
                # передать запрос к apache
                location @apache {
                        proxy_pass  http://127.0.0.1:11111;
                }                
        }

Nginx — Какая CMS?

Manage

nginx



Технологии Категория Сайты Сравнить
PHP Язык программирования 2 912 705 Nginx против PHP
MySQL База данных 1 923 424 Nginx против MySQL
WordPress Блог / CMS 1 806 175 Nginx против WordPress
Элементор Конструктор целевых страниц / CMS 359 791 Nginx против Elementor
WooCommerce Электронная коммерция / CMS 358 910 Nginx против WooCommerce
Облачная вспышка CDN 339 107 Nginx против Cloudflare
wpПекарня Конструктор целевых страниц / CMS 247 896 Nginx против wpBakery
cdnjs CDN 246 622 Nginx против cdnjs
Библиотеки, размещенные в Google CDN 235 713 Nginx в сравнении с размещенными на Google библиотеками
Апач Веб-сервер 213 127 Nginx против Apache
Убунту Операционная система 196 141 Nginx против Ubuntu