Установка и настройка Nginx на сервере

9 мин чтенияОбновлено 25 сентября 2026

Nginx — это веб-сервер с большим количеством возможностей, сделанный по последним канонам технологий. Его используют самые крупные компании.

Перед установкой убедитесь, что у вас не установлен Apache2.

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

Его установка крайне проста, используйте следующую команду:

bash
apt-get install nginx -y

#Настройка Nginx

Вам необходимо перейти в каталог /etc/nginx/sites-available и создать файл типа «site.conf».

Вставьте в конфиг и отредактируйте следующее:

nginx
server { listen *:80; server_name spacecore.pro; # домен сайта client_max_body_size 1000M; # максимальный размер файла, переданного через сайт error_page 404 = @notfound; location / { root /home/site/spacecore; # путь до сайта try_files $uri $uri.html $uri/ @extensionless-php; index index.html index.php; } # Подключения PHP, если не нужен, то стираем с 13 по 21 строку location ~ \.(php|html|htm)$ { try_files $uri =404; root /home/site/spacecore; # путь до сайта fastcgi_pass unix:/run/php/php7.0-fpm.sock; # путь до php fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; } }

Перезагружаем Nginx:

bash
service nginx restart

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

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

Дополнительную информацию можно найти в статье «Установка и настройка PHP».

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

Подключение SSL не обязательно, осуществляется при его наличии и вашем желании.

Мы должны создать или отредактировать конфиг сайта до такого вида:

nginx
server { listen 80; server_name spacecore.pro; # домен сайта return 301 https://$server_name$request_uri; # редирект с http на https } server { listen 443 ssl http2; server_name spacecore.pro; # домен сайта root /var/www/spacecore; # путь до сайта index index.html index.htm index.php; # индексные страницы access_log /var/log/nginx/spacecore.app-access.log; # логи успешных подключений error_log /var/log/nginx/spacecore.app-error.log error; # логи ошибочных подключений # если требуется что-то отключить, вместо пути до файла пишем off client_max_body_size 1000m; # максимальный размер файла, переданного через сайт client_body_timeout 120s; # значение тайм-аута sendfile off; # после включения Nginx будет отправлять заголовки HTTP-ответов одним пакетом, а не отдельными частями. # SSL Configuration ssl_certificate /etc/letsencrypt/live/spacecore.pro/fullchain.pem; # публичный ключ сертификата ssl_certificate_key /etc/letsencrypt/live/spacecore.pro/privkey.pem; # приватный ключ сертификата ssl_session_cache shared:SSL:10m; # объем кеша сессий SSL ssl_protocols TLSv1.2 TLSv1.3; 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"; ssl_prefer_server_ciphers on; # уменьшает время загрузки страниц сайта location ~ \.(php|html|htm)$ { try_files $uri =404; root /var/www/spacecore; # путь до сайта fastcgi_pass unix:/run/php/php7.2-fpm.sock; # путь до php fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; } }

Перезагружаем Nginx:

bash
service nginx restart

#Проверка на Apache2

Если Nginx поставить с Apache2, то они будут конфликтовать из-за порта 80. Так что необходимо удалить один из веб-серверов. Проверяем, установлен ли Apache2:

bash
service apache2 status

Если не будет огромного сообщения с информацией, значит он не установлен.

Если Apache2 установлен, нужно его удалить:

bash
apt-get remove --purge apache2* -y

#Удаление Nginx

Для того чтобы полностью удалить Nginx с сервера, для начала его необходимо остановить:

bash
service nginx stop

А затем прописать команду, которая безвозвратно его удалит:

bash
apt-get remove --purge nginx*

Не нашли ответ? Мы на связи 24/7.Написать в поддержку