Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 73f35ad

Browse files
committed
Fixed syntax highlighter
1 parent f9ab56f commit 73f35ad

File tree

1 file changed

+40
-36
lines changed

1 file changed

+40
-36
lines changed

README.md

Lines changed: 40 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
##Location блок на PHP
4141
Простой шаблон для быстрой и легкой установки PHP, FPM или CGI на ваш сайт.
42-
42+
```
4343
location ~ \.php$ {
4444
try_files $uri =404;
4545
client_max_body_size 64m;
@@ -48,11 +48,11 @@
4848
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
4949
fastcgi_pass unix:/path/to/php.sock;
5050
}
51-
51+
```
5252
##Rewrite и Redirection
5353
### Force www
5454
[Корректный способ](http://nginx.org/en/docs/http/converting_rewrite_rules.html) определить удаленный сервер по домену без *www* и перенаправить его c *www*:
55-
55+
```
5656
server {
5757
listen 80;
5858
server_name example.org;
@@ -64,12 +64,12 @@
6464
server_name www.example.org;
6565
...
6666
}
67-
67+
```
6868
*Также работает для HTTPS *
6969

7070
###Force no-www
7171
Корректный способ определить удаленный сервер по домену c *www* и перенаправить его без *www*:
72-
72+
```
7373
server {
7474
listen 80;
7575
server_name example.org;
@@ -80,10 +80,10 @@
8080
server_name www.example.org;
8181
return 301 $scheme://example.org$request_uri;
8282
}
83-
83+
```
8484
### Force HTTPS
8585
Способ для переадресации с HTTP на HTTPS:
86-
86+
```
8787
server {
8888
listen 80;
8989
return 301 https://$host$request_uri;
@@ -97,51 +97,52 @@
9797
9898
...
9999
}
100-
100+
```
101101
###Force Trailing Slash
102102
Данная строка добавляет слэш `/` в конце каждого URL, только в том случаее если в URL нет точки или параметров. Тоесть после *example.com/index.php* или *example.com/do?some=123* слэш не поставится.
103-
103+
```
104104
rewrite ^([^.\?]*[^/])$ $1/ permanent;
105-
105+
```
106106
### Редирект на страницу
107-
107+
```
108108
server {
109109
location = /oldpage.html {
110110
return 301 http://example.org/newpage.html;
111111
}
112112
}
113-
113+
```
114114
### Редирект на сайт
115-
115+
```
116116
server {
117117
server_name old-site.com
118118
return 301 $scheme://new-site.com$request_uri;
119119
}
120-
120+
```
121121
### Редирект на определенный путь в URI
122+
```
122123
location /old-site {
123124
rewrite ^/old-site/(.*) http://example.org/new-site/$1 permanent;
124125
}
125-
126-
126+
```
127127
##Производительность
128128

129129
###Кэширование
130130
Навсегда разрешить браузерам кэшировать статические содержимое. Nginx установит оба заголовка: Expires и Cache-Control.
131-
131+
```
132132
location /static {
133133
root /data;
134134
expires max;
135135
}
136-
136+
```
137137
Запретить кэширование браузерам (например для отслеживания запросов) можно следующим образом:
138-
138+
```
139139
location = /empty.gif {
140140
empty_gif;
141141
expires -1;
142142
}
143-
143+
```
144144
###Gzip сжатие
145+
```
145146
gzip on;
146147
gzip_buffers 16 8k;
147148
gzip_comp_level 6;
@@ -157,24 +158,24 @@
157158
font/opentype application/x-font-ttf application/vnd.ms-fontobject
158159
image/x-icon;
159160
gzip_disable "msie6";
160-
161+
```
161162
### Кэш файлов
162163
Если у вас кешируется большое количество статических файлов через Nginx, то кэширование метаданных этих файлов позволит сэкономить время задержки.
163-
164+
```
164165
open_file_cache max=1000 inactive=20s;
165166
open_file_cache_valid 30s;
166167
open_file_cache_min_uses 2;
167168
open_file_cache_errors on;
168-
169+
```
169170
### SSL кэш
170171
Подключение SSL кэширования позволит возобновлять SSL сессии и сократить время к следующим обращениям к SSL/TLS протоколу.
171-
172+
```
172173
ssl_session_cache shared:SSL:10m;
173174
ssl_session_timeout 10m;
174-
175+
```
175176
### Поддержка Upstream
176177
Активация кеширования c использованием Upstream подключений:
177-
178+
```
178179
upstream backend {
179180
server 127.0.0.1:8080;
180181
keepalive 32;
@@ -188,15 +189,15 @@
188189
proxy_set_header Connection "";
189190
}
190191
}
191-
192+
```
192193
###Мониторинг
193194
По умолчанию [Stub Status](http://nginx.org/ru/docs/http/ngx_http_stub_status_module.html) модуль не собирается, его сборку необходимо разрешить с помощью конфигурационного параметра —with-http_stub_status_module и активировать с помощью:
194-
195+
```
195196
location /status {
196197
stub_status on;
197198
access_log off;
198199
}
199-
200+
```
200201
Данная настройка позволит вам получать статус в обычном текстовом формате по общему количеству запросов и клиентским подключениям (принятым, обработанным, активным).
201202

202203
Более информативный статус от Nginx можно получить с помощью [Luameter](https://luameter.com/), который несколько сложнее в установке и требует наличия Nginx Lua модуля. Это предоставит следующие метрики по различным конфигурационным группам в формате JSON:
@@ -215,21 +216,23 @@
215216
##Безопасность
216217
###Активация базовой аунтификации
217218
Для начала вам потребуется создать пароль и сохранить его в обычной текстовом файле:
218-
219+
```
219220
имя:пароль
220-
221+
```
221222

222223
Затем установить найтройки для server/location блока, который необходимо защитить:
223-
224+
```
224225
auth_basic "This is Protected";
225226
auth_basic_user_file /path/to/password-file;
226-
227+
```
227228
###Открыть только локальный доступ
229+
```
228230
location /local {
229231
allow 127.0.0.1;
230232
deny all;
231233
...
232234
}
235+
```
233236
###Защита SSL настроек
234237
* Отключить SSLv3, если он включен по умолчанию. Это предотвратит [POODLE SSL Attack](http://nginx.com/blog/nginx-poodle-ssl/).
235238
* Шифры, которые наилучшим образом обеспечат защиту. [Mozilla Server Side TLS and Nginx](https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx).
@@ -244,7 +247,7 @@
244247
##Прочее
245248
###Подзапросы после завершения
246249
Бывают ситуации, когда вам необходимо передать запрос на другой бэкэнд **в дополнении или после его обработки**. Первый случай - отслеживать количество завершенных загрузок путем вызова API, после того как пользователь скачал файл. Второй случай -отслеживать запрос, к которому вы бы хотели вернуться как можно быстрее (возможно с пустым .gif) и сделать соответствующие записи в фоновом режиме. [**post_action**](http://wiki.nginx.org/HttpCoreModule#post_action), который позволяет вам определить подзапрос и будет отклонен по окончанию текущего запроса - является [лучшим решением](http://mailman.nginx.org/pipermail/nginx/2008-April/004524.html) для обоих вариантов.
247-
250+
```
248251
location = /empty.gif {
249252
empty_gif;
250253
expires -1;
@@ -255,14 +258,15 @@
255258
internal;
256259
proxy_pass http://tracking-backend;
257260
}
258-
261+
```
259262
###Распределение ресурсов между источниками
260263

261264
Самый простой и наиболее известный способ кросс-доменного запроса на ваш сервер:
262-
265+
```
263266
location ~* \.(eot|ttf|woff) {
264267
add_header Access-Control-Allow-Origin *;
265268
}
269+
```
266270
## Источники
267271

268272
- [Nginx Official Guide](http://nginx.com/resources/admin-guide/)

0 commit comments

Comments
 (0)