Содержание
Часть 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.