-
Notifications
You must be signed in to change notification settings - Fork 0
Настройка Nginx
-
Устанавливаем веб-сервер nginx:
sudo apt install -y nginx
-
Переходим в директорию nginx для редактирования конфигураций:
cd /etc/nginx/
-
Редактируем главный файл конфигурации:
sudo nano nginx.conf
-
Можно стереть всё содержимое и заменить на:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
server_tokens off;
server_name_in_redirect on;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log off;
error_log off;
##
# Gzip Settings
##
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_types *;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
# include /etc/nginx/sites-enabled/*;
}
Закрываем и сохраняем файл (ctrl+X)
-
Переходим в папку с конфигурациями для сайтом (приложений) на сервере:
cd /etc/nginx/conf.d/
-
Если в директории есть какие-то файлы (команда
ls
покажет что есть в директории), то удалить:sudo rm *
-
Создаем файл, например с именем нашего будущего домена (желательно, но потом можно переименовать):
sudo nano mysite.space.conf
-
Копируем в него конфигурацию:
Если домена еще нет, то строку с server_name удалить или закомментировать через # в начале строки.
server {
listen 80;
server_name www.mysite.space mysite.space; # если уже есть домен
location / {
proxy_pass http://$server_addr:5530;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
client_max_body_size 0;
client_body_in_single_buffer on;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Закрываем и сохраняем файл (ctrl+X)
- Проверяем что в конфигурации нет ошибок:
sudo nginx -t
. Если всё правильно, то вывод будет:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
- Перезапускаем сервис nginx:
sudo service nginx restart
Если всё сделано верно, то сайт будет доступен по IP без указания порта (т.е. на порту 80)