Несколько серверов с помощью Nginx


Часть 1 — Получение экземпляра сервера

  • Создайте сервер Ubuntu у любого провайдера, например AWS, Linode, DigitalOcean и т.д.

  • Добавьте ключ ssh.


Часть 2 — Получение доменного имени

  • Получите доменное имя у любого провайдера, например BigRock, Google и т.д.

  • Добавьте запись A с ipv4-адресом сервера.

  • Вы можете добавить несколько записей A с различными поддоменами с одним и тем же ipv4-адресом.

Добавляйте записи только в DNS вашего доменного провайдера. Не создавайте новый домен в провайдере сервера.


Часть 3 — Подключение к серверу с локальной машины

  • Войдите в систему через ssh.

  • Выполните следующие команды,

sudo apt update

sudo apt upgrade -y
Войти в полноэкранный режим Выйти из полноэкранного режима
  • Перезагрузите ваш экземпляр.

  • Снова войдите в систему через ssh.

  • Установите Node.js через,

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

sudo apt install nodejs

node --version
Войдите в полноэкранный режим Выйти из полноэкранного режима
  • Создайте папку(и) вашего сервера и напишите код для него.

  • Пример кода сервера,

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})
Войти в полноэкранный режим Выход из полноэкранного режима

Часть 4 — Установка pm2

sudo npm i pm2 -g

pm2 start <server-file-name> --name "<process name>"
Вход в полноэкранный режим Выйти из полноэкранного режима

Часть 5 — Настройка брандмауэра ufw

sudo ufw enable

sudo ufw status

sudo ufw allow ssh (Port 22)

sudo ufw allow http (Port 80)

sudo ufw allow https (Port 443)
Войти в полноэкранный режим Выход из полноэкранного режима

Часть 6 — Установка NGINX и настройка

sudo apt install nginx

sudo nano /etc/nginx/sites-available/default
Войти в полноэкранный режим Выход из полноэкранного режима
  • Примерный вид блока сервера,
server {
    server_name <domain-name>;

    location / {
        proxy_pass http://localhost:<port of server>;
        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;
    }
    listen 80;
}
Вход в полноэкранный режим Выход из полноэкранного режима
  • Добавьте это, чтобы показывать страницу по умолчанию для всех остальных URL,
server {
    server_name <IPV4 address of the server>;
    root /var/www/html;
    index  index.nginx-debian.html;
    listen 80 default_server; 
}
Войти в полноэкранный режим Выйти из полноэкранного режима
  • Проверьте конфигурацию nginx через,
sudo nginx -t
Войти в полноэкранный режим Выйти из полноэкранного режима
  • Перезапустите nginx через,
sudo service nginx restart
Войти в полноэкранный режим Выйти из полноэкранного режима

Часть 7 — Добавление SSL с помощью Certbot

  • Следуйте инструкциям на официальном сайте certbot.

Оцените статью
devanswers.ru
Добавить комментарий