Перед установкой убедитесь, что у Вас не установлен Apache2!
Его установка крайне проста, используйте следующую команду:
apt-get install nginx -y
Вам необходимо перейти в каталог /etc/nginx/sites-available и создать файл типа «site.conf».
Вставьте в конфиг и отредактируйте следующее:
site.confserver {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; # путь до phpfastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $request_filename;include /etc/nginx/fastcgi_params;}}
Перезагружаем Nginx:
service nginx restart
PHP не обязателен для работы с Nginx. Это примечание важно только для тех, чей сайт использует PHP.
Дополнительную информацию можно найти здесь.
Подключение SSL не обязательно, осуществляется при его наличии и Вашем желании.
Мы должны создать или отредактировать конфиг сайта до такого вида:
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 Configurationssl_certificate /etc/letsencrypt/live/spacecore.pro/fullchain.pem; # публичный ключ сертификатаssl_certificate_key /etc/letsencrypt/live/spacecore.pro/privkey.pem; # приватный ключ сертификатаssl_session_cache shared:SSL:10m; # объем кеша сессий SSLssl_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; # путь до phpfastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $request_filename;include /etc/nginx/fastcgi_params;}}
Перезагружаем Nginx:
service nginx restart
Если Nginx поставить c Apache2, то они будут конфликтовать из-за порта 80. Так что необходимо удалить один из Веб-серверов. Проверяем установлен ли Apache2:
service apache2 status
Если не будет огромного сообщения с информацией, значит он не установлен.
Если Apache2 установлен, нужно его удалить:
apt-get remove --purge apache2* -y
Для того, чтобы полностью удалить Nginx c сервера, для начала его необходимо остановить:
service nginx stop
А затем прописать команду, которая безвозвратно его удалит:
apt-get remove --purge nginx*