📔
Установка Nginx
Nginx - это веб-сервер с большим количеством возможностей, сделанный по последним канонам технологий. Его используют самые крупные компании, такие как ВКонтакте, Google, Facebook и другие.
Перед установкой убедитесь, что у Вас не установлен Apache2!

Установка Веб-сервера

Его установка крайне проста, используйте следующую команду:
1
apt-get install nginx -y
Copied!

Настройка Nginx

Вам необходимо перейти в каталог /etc/nginx/sites-available и создать файл типа «site.conf».
Вставьте в конфиг и отредактируйте следующее:
site.conf
1
server {
2
listen *:80;
3
server_name spacecore.pro; # домен сайта
4
client_max_body_size 1000M; # максимальный размер файла, переданного через сайт
5
error_page 404 = @notfound;
6
location / {
7
root /home/site/spacecore; # путь до сайта
8
try_files $uri $uri.html $uri/ @extensionless-php;
9
index index.html index.php;
10
}
11
# Подключения PHP, если не нужен, то стираем с 13 по 21 строку
12
location ~ \.(php|html|htm)$ {
13
try_files $uri =404;
14
root /home/site/spacecore; # путь до сайта
15
fastcgi_pass unix:/run/php/php7.0-fpm.sock; # путь до php
16
fastcgi_index index.php;
17
fastcgi_param SCRIPT_FILENAME $request_filename;
18
include /etc/nginx/fastcgi_params;
19
}
20
}
Copied!
Перезагружаем Nginx:
1
service nginx restart
Copied!

Примечания к PHP

PHP не обязателен для работы с Nginx. Это примечание важно только для тех, чей сайт использует PHP.
Дополнительную информацию можно найти здесь.

Подключение SSL-сертификата к Nginx

Подключение SSL не обязательно, осуществляется при его наличии и Вашем желании.
Мы должны создать или отредактировать конфиг сайта до такого вида:
1
server {
2
listen 80;
3
server_name spacecore.pro; # домен сайта
4
return 301 https://$server_name$request_uri; # редирект с http на https
5
}
6
7
server {
8
listen 443 ssl http2;
9
server_name spacecore.pro; # домен сайта
10
11
root /var/www/spacecore; # путь до сайта
12
index index.html index.htm index.php; # индексные страницы
13
14
access_log /var/log/nginx/spacecore.app-access.log; # логи успешных подключений
15
error_log /var/log/nginx/spacecore.app-error.log error; # логи ошибочных подключений
16
17
# если требуется что-то отключить, вместо пути до файла пишем «off»
18
19
client_max_body_size 1000m; # максимальный размер файла, переданного через сайт
20
client_body_timeout 120s; # значение тайм-аута
21
22
sendfile off; # после включения Nginx будет отправлять заголовки HTTP-ответов одним пакетом, а не отдельными частями.
23
24
# SSL Configuration
25
ssl_certificate /etc/letsencrypt/live/spacecore.pro/fullchain.pem; # публичный ключ сертификата
26
ssl_certificate_key /etc/letsencrypt/live/spacecore.pro/privkey.pem; # приватный ключ сертификата
27
ssl_session_cache shared:SSL:10m; # объем кеша сессий SSL
28
ssl_protocols TLSv1.2 TLSv1.3;
29
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
30
ssl_prefer_server_ciphers on; # уменьшает время загрузки страниц сайта
31
32
location ~ \.(php|html|htm)$ {
33
try_files $uri =404;
34
root /var/www/spacecore; # путь до сайта
35
fastcgi_pass unix:/run/php/php7.2-fpm.sock; # путь до php
36
fastcgi_index index.php;
37
fastcgi_param SCRIPT_FILENAME $request_filename;
38
include /etc/nginx/fastcgi_params;
39
}
40
}
Copied!
Перезагружаем Nginx:
1
service nginx restart
Copied!

Проверка на Apache2

Если Nginx поставить c Apache2, то они будут конфликтовать из-за порта 80. Так что необходимо удалить один из Веб-серверов. Проверяем установлен ли Apache2:
1
service apache2 status
Copied!
Если не будет огромного сообщения с информацией, значит он не установлен.
Если Apache2 установлен, нужно его удалить:
1
apt-get remove --purge apache2* -y
Copied!

Удаление Nginx

Для того, чтобы полностью удалить Nginx c сервера, для начала его необходимо остановить:
1
service nginx stop
Copied!
А затем прописать команду, которая безвозвратно его удалит:
1
apt-get remove --purge nginx*
Copied!
Last modified 26d ago