Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| nginx:nginx [2016/03/29 20:04] – mirocow | nginx:nginx [2016/12/24 19:31] (текущий) – mirocow | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | {{tag> | + | {{tag> |
| ====== Nginx установка ====== | ====== Nginx установка ====== | ||
| Строка 16: | Строка 16: | ||
| </ | </ | ||
| - | ====== Nginx - Вопросы и Ответы ====== | ||
| - | |||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | * [[server: | ||
| - | |||
| - | ===== Вопросы-Ответы ===== | ||
| - | |||
| - | ==== Q: Нада перенаправить с site.com на www.site.com ==== | ||
| - | |||
| - | < | ||
| - | server { | ||
| - | listen 80; | ||
| - | server_name site.com; | ||
| - | return | ||
| - | } | ||
| - | |||
| - | server { | ||
| - | listen | ||
| - | server_name | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ==== Q: Надо перенаправить на другую папку ==== | ||
| - | |||
| - | * location /d { rewrite ^ other-folder permanent; } | ||
| - | |||
| - | ==== Q: Надо перенаправить GET на другой сервер ==== | ||
| - | |||
| - | * < | ||
| - | location /d { | ||
| - | rewrite ^ http:// | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ==== Q: Надо перенаправить GET|POST на другой сервер ==== | ||
| - | |||
| - | * В данном случае необходимо просто проксировать запрос | ||
| - | * < | ||
| - | location ~* /d { | ||
| - | proxy_pass http:// | ||
| - | proxy_redirect | ||
| - | resolver 8.8.8.8; | ||
| - | break; | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ==== *Q: Надо переправить в другой location, используя ошибку ==== | ||
| - | |||
| - | * < | ||
| - | location @nocached { | ||
| - | } | ||
| - | location / { | ||
| - | if ($cookie_dle_user_id) { return 412; } | ||
| - | } | ||
| - | error_page 412 = @nocached; | ||
| - | </ | ||
| - | |||
| - | ==== Q: Блокировка IP адресов и подсететей в Nginx ==== | ||
| - | |||
| - | * [[nginx: | ||
| - | | ||
| - | * **Q: Настройка proxy_pass на удаленный домен по DNS** | ||
| - | * < | ||
| - | location ^~ /freegeoip/ { | ||
| - | #use google as dns | ||
| - | resolver 8.8.8.8; | ||
| - | proxy_pass http:// | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ==== Q: Как запаролить location в Nginx ==== | ||
| - | |||
| - | |||
| - | * < | ||
| - | location ^~ /secure/ { | ||
| - | root / | ||
| - | auth_basic | ||
| - | auth_basic_user_file | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ==== Q: Как перенаправить обработку скрипта в другую папку ==== | ||
| - | |||
| - | < | ||
| - | server { | ||
| - | listen | ||
| - | server_name site.com; | ||
| - | location ^~ / | ||
| - | |||
| - | index receive.php; | ||
| - | |||
| - | alias / | ||
| - | |||
| - | location ~ \.php$ { | ||
| - | |||
| - | # Fix for server variables that behave differently under nginx/ | ||
| - | fastcgi_split_path_info ^(.+\.php)(/ | ||
| - | |||
| - | # Include the standard fastcgi_params file included with nginx | ||
| - | include fastcgi_params; | ||
| - | |||
| - | fastcgi_param | ||
| - | fastcgi_index receive.php; | ||
| - | |||
| - | # Override the SCRIPT_FILENAME variable set by fastcgi_params | ||
| - | fastcgi_param | ||
| - | |||
| - | # Pass to upstream PHP-FPM; This must match whatever you name your upstream connection | ||
| - | fastcgi_pass phpfpm; | ||
| - | |||
| - | # | ||
| - | # | ||
| - | |||
| - | } | ||
| - | |||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ==== Q: Количество открытых файлов и их лимиты ==== | ||
| - | |||
| - | <code bash> | ||
| - | for pid in `pidof nginx`; do echo " | ||
| - | </ | ||