Установка Nginx

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

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

Установка nginx

Его установка крайне проста:

apt-get install nginx -y

Настройка nginx

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

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

site.conf
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:

nginx -s reload

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

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

В настройках nginx необходимо указать путь до PHP, в параметре fastcgi_pass. Путь для всех версий PHP един, но названия конечного файла зависят от версии PHP.

Проверка версии PHP:

php -v

После чего будет выведена версия PHP, согласно ей, необходимо указать путь. Например: Вывело версию php 5.6, значит параметр должен выглядеть так:

fastcgi_pass unix:/run/php/php5.6-fpm.sock;

Выведена версия php 7.1, в этом случае параметр должен выглядеть таким образом:

fastcgi_pass unix:/run/php/php7.1-fpm.sock;

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

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

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

server {
listen *:80;
listen *:443 ssl;
server_name spacecore.pro; # домен сайта
client_max_body_size 1000M; # максимальный размер файла, переданного через сайт
error_page 404 = @notfound;
ssl on; # Включения SSL
ssl_certificate /home/ssl/GroupCertificate.pem; # Путь до пубичной части SSL
ssl_certificate_key /home/ssl/GroupKey.key; # Путь до приватной части SSL
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:

nginx -s reload

Проверка на Apache2

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

service apache2 status

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

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

apt-get remove --purge apache2* -y

Удаления nginx

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

service nginx stop

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

apt-get remove --purge nginx*