Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
nginx:nginx [2015/09/14 22:06] – внешнее изменение 127.0.0.1 | nginx:nginx [2016/12/24 19:31] (текущий) – mirocow | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{tag> | + | {{tag> |
- | ====== Nginx - Вопросы и Ответы | + | ====== Nginx установка ====== |
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[server: | ||
- | |||
- | ===== Вопросы-Ответы ===== | ||
- | |||
- | ==== Q: Нада перенаправить с site.com на www.site.com ==== | ||
+ | nano / | ||
< | < | ||
- | server { | + | deb http:// |
- | listen 80; | + | deb-src |
- | server_name site.com; | + | |
- | | + | |
- | } | + | |
- | + | ||
- | 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 { | + | $ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62 |
- | listen | + | $ apt-get update |
- | server_name site.com; | + | $ apt-get install |
- | location ^~ / | + | |
- | + | ||
- | index receive.php; | + | |
- | + | ||
- | alias / | + | |
- | + | ||
- | location ~ \.php$ { | + | |
- | + | ||
- | # Fix for server variables that behave differently under nginx/php-fpm than typically expected | + | |
- | fastcgi_split_path_info ^(.+\.php)(/ | + | |
- | + | ||
- | # Include the standard fastcgi_params file included with nginx | + | |
- | include fastcgi_params; | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | # 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 " | ||
- | </ | ||