linux:nginx:nginx_example
nginx: примеры конфигов
Примеры для Wordpress, Joomla, Drupal
Wordpress
Показать
Скрыть
# конфигурация 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 / { access_log /home/username/www/site1/logs/nginx-access.log; charset utf-8; source_charset utf-8; try_files $uri @apache; } # запретить доступ к системным файлам location ~ /\. { deny all; } # запретить доступ к скриптам .php в каталогах, использующихся для заливки файлов location ~* /(?:uploads|files)/.*\.php$ { deny all; } # отдать напрямую favicon.ico location = /favicon.ico { access_log /home/username/www/site1/logs/nginx-access.log; } # отдать напрямую robots.txt location = /robots.txt { allow all; access_log /home/username/www/site1/logs/nginx-access.log; } # попытаться отдать файл с одним из расширений напрямую минуя apache location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { access_log /home/username/www/site1/logs/nginx-access.log; charset utf-8; source_charset utf-8; expires 24h; } # запретить все прямые обращения к несуществующим файлам .php location ~ \.php$ { try_files $uri =404; proxy_pass http://127.0.0.1:11111; } # передать запрос к apache location @apache { proxy_pass http://127.0.0.1:11111; } }
Joomla
Показать
Скрыть
# конфигурация 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 / { access_log /home/username/www/site1/logs/nginx-access.log; charset utf-8; source_charset utf-8; try_files $uri @apache; } # запретить доступ к файлам репозиториев, если они случайно оказались в публичном месте location ~ /\.svn { deny all; } location ~ /\.git { deny all; } location ~ /\.hg { deny all; } # запретить доступ к файлам .htaccess и .htpasswd location ~ /\.ht { deny all; } # избыточный запрет вызова исполняемых файлов из несоответствующих каталогов location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ { return 403; } # попытаться отдать файл с одним из расширений напрямую минуя apache location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { access_log %%sitedir%%/logs/nginx-access.log; charset utf-8; source_charset utf-8; expires 24h; } # запретить все прямые обращения к несуществующим файлам .php location ~ \.php$ { try_files $uri =404; proxy_pass http://127.0.0.1:11111; } # передать запрос к apache location @apache { proxy_pass http://127.0.0.1:11111; } }
Drupal
Показать
Скрыть
# конфигурация 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 / { access_log /home/username/www/site1/logs/nginx-access.log; charset utf-8; source_charset utf-8; try_files $uri @apache; } # запретить махинации с php location ~ \..*/.*\.php$ { return 403; } # запретить доступ к резервным копиям извне location = /backup { deny all; } # запретить доступ к файлам репозиториев, если они случайно оказались в публичном месте location ~ /\.svn { deny all; } location ~ /\.git { deny all; } location ~ /\.hg { deny all; } # запретить доступ к файлам .htaccess и .htpasswd location ~ /\.ht { deny all; } # отдать напрямую favicon.ico location = /favicon.ico { access_log /home/username/www/site1/logs/nginx-access.log; } # отдать напрямую robots.txt location = /robots.txt { allow all; access_log /home/username/www/site1/logs/nginx-access.log; } # попытаться отдать файл с одним из расширений напрямую минуя apache location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { access_log /home/username/www/site1/logs/nginx-access.log; charset utf-8; source_charset utf-8; expires 24h; } # попытаться отдать кэш изображений напрямую location ~ ^/sites/.*/files/imagecache/ { try_files $uri @apache; } # попытаться отдать стили напрямую location ~ ^/sites/.*/files/styles/ { try_files $uri @apache; } # запретить все прямые обращения к несуществующим файлам .php location ~ \.php$ { try_files $uri =404; proxy_pass http://127.0.0.1:11111; } # передать запрос к apache location @apache { proxy_pass http://127.0.0.1:11111; } }
Рецепт конфигурации 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|txt|amr|mmf|wml|wbmp|mid|midi|3gp|js|css|htm|html?)$ 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; } }
Page generated in 0.204 seconds and 1.57 MiB of RAM used 🚀
linux/nginx/nginx_example.txt · Последнее изменение: 2020/04/03 14:52 — 127.0.0.1
Обсуждение