Содержание
Установка NGINX на сервер Ubuntu
Для установки NGINX выполните следующие команды:
sudo apt update sudo apt install nginx
Далее появится сообщение(примерно такого содержания):
Need to get 2,690 kB of archives.(Нужно получить 2690 Кб архивов.)
After this operation, 8,335 kB of additional disk space will be used.(После этой операции будет использовано 8 335 Кб дополнительного дискового пространства.)
Do you want to continue? [Y/n] (Вы хотите продолжить? [Да/Нет])
Соглашаемся: вводим Y и жмем Enter
Готово! NGINX установлен.
Создание и активация конфигурационного файла NGINX для нашего сайта
Данный пример будем рассматривать с использованием домена example.com, если вы будете использовать данный код, не забудьте поменять на название своего домена.
Нижеперечисленные действия будут произведены используя ssh-клиент, например программа PuTTy. Но вы также можете использовать и ftp-клиент, такие как WinSCP, FileZilla, например для редактирования или добавления конфигурационных файлов.
Начнём
1. Перейдите в каталог конфигураций Nginx с помощью команды:
cd /etc/nginx/sites-available/
2. Создайте новый конфигурационный файл для вашего сайта. Назовите его, например, example.com.conf :
sudo nano example.com.conf
3. В открывшемся редакторе добавьте ваши конфигурации, например:
server {
listen 80;
server_name example.com;
location / {
# Проксируем его на 3001 порт
proxy_pass http://127.0.0.1:3001;
# прочие настройки
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}Настройки данного файла проксируют запросы с 80 порта (обычного HTTP порта) на наше приложение, работающее на порту 3001.
4. Сохраните и закройте файл (в Nano используйте сочетание клавиш Ctrl+O, затем Enter, а затем Ctrl+X).
5. Создайте символическую ссылку на файл конфигурации в каталоге sites-enabled, чтобы активировать его:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
6. Проверьте, нет ли синтаксических ошибок в конфигурации Nginx:
sudo nginx -t
Если обнаружатся ошибки, исправьте их и выполните команду ещё раз, чтобы убедиться, что ошибки отсутствуют.
7. Если ошибок нет, перезапустите Nginx:
sudo systemctl restart nginx
Файл конфигурации nginx для редиректа с www и https
server {
listen 80;
server_name www.api.bizoncrm.ru api.bizoncrm.ru;
return 301 https://api.bizoncrm.ru$request_uri;
}
server {
listen 443 ssl;
server_name api.bizoncrm.ru www.api.bizoncrm.ru;
ssl_certificate /etc/letsencrypt/live/api.bizoncrm.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.bizoncrm.ru/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location /media/ {
root /var/www/mediahoover/backend/core;
}
}
