@AndeDark

Нюансы деплоя приложения?

Всем привет! Возникла потребность деплоя моего сервиса (использую google cloud platform). И так как до этого никогда не сталкивался, возникла пара вопросов.
  1. Как я могу подключиться к SQL серверу?
    Работая локально я использовал обычный pool подключения, в котором указывал локальные адреса для соединения с БД postgres, будет ли это работать так же если я вместо локальных адресов укажу адрес своего SQL сервера? Либо же это делается как то иначе?
    const {Pool} = require('pg');
    
    const pool = new Pool({
        user: "macbookpro",
        password: "root",
        host: "localhost",
        port: 5432,
        database: "umuse"
    });
    
    module.exports = pool;


  2. Какой адрес указывать для сокетов ?
    Я работаю с библиотекой socket.io и для подключения к сокетам на клиенте я указываю адрес сервера, в случае если у меня и клиент и сервер будут крутиться на одной машине с адресом например 392.118.23.11, что мне будет необходимо написать вместо localhost... ?
    import io from 'socket.io-client';
    
    const socket = io('http://localhost:5000');
    
    export default socket;



  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
1. Делаете так чтобы конфиг подгружался из .env в переменные среды с помощью модуля dotenv - это самая классическая практика. Базу данных надо будет развернуть либо на той же машине где деплоите (можете сделать с помощью docker-compose) либо на соседней, к которой есть доступ с первой. Следите, чтобы данные между бд и приложением не гонялись по интернету, так как это а) сводит безопасность к нулю, если нет ssl и б) сильно снижает производительность.
2. Лучше всего тут либо ничего не указывать, либо указать 0.0.0.0, тогда будут слушаться все интерфейсы и не придется заморачиваться с ip адресами. Либо есть более продвинутый вариант, когда оставляете localhost, но перед node приложением ставится nginx с proxy_pass. Во втором случае можно будет еще и ssl сертификат прицепить с помощью letsencrypt
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы