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
Если не будет огромного сообщения с информацией, значит он не установлен.
Удаление nginx
Для того, чтобы полностью удалить nginx c VDS, для начала его необходимо остановить:
service nginx stop
А затем прописать команду, которая безвозвратно его удалит: