Как правильно развернуть приложение на VPS?
Приветствую.
Есть приложение обрабатывающее POST запросы, и записывающее данные в БД. Данные будут приходить с разных сайтов через скрипт, подключаемый в футер. Пока работаю на локалке, отправляю через fetch на localhost:3000/saveData Тестовый сайт тоже на локалке На VPS оно также должно работать? Т.е., сам сервер в любой папке развернуть, а подключаемый скрипт засунуть в public_htrml, и также отправлять данные на localhost? |
есть, например, vps где провайдер присвоил ему ip 1.1.1.1 и dns, например, example.com
vps может быть пустым, т.е. что там не установлен ни один web-server, бд, и т.д. так что сложить файлы в папку public_html, вы уверены что есть вебсервер который смотрит на эту папку? Предположим, вебсервер установили и запустили. Если пути в файлах относительные, все будет нормально, если там явно захардкодили localhost или пути абсолютные, это не будет работать. данные надо отправлять на ip vps сервера, 1.1.1.1:80/saveData, или example.com/saveData... Относительный путь: <form action="/saveData">blablabla<submit /></form> Абсолютный путь: <form action="http://localhost:3000/saveData">blablabla<submit /></form> с fetch та же история https://www.w3schools.com/html/html_filepaths.asp |
Цитата:
Браузер блокирует загрузку без https. На VPS стоит VestaCP. Я могу привязать домен, залить туда скрипт в public https://site.ru/script.js Но приложение (Koa) запускается на http://1.1.1.1:3000 (на 80 открывается привязанный site.ru), и данные сохранить не получается /saveData Вообще не пойму, куда копать. |
Я могу, конечно, Весту снести, но тогда вообще непонятно, что надо делать. С nginx что-то колдовать?
|
BrainyCP может в этом вопросе помочь?
|
Цитата:
|
Цитата:
|
недавно тоже столкнулся с подобным, инфы в рунете практически нет.
Что делал я, может поможет. - залил все через git прямо в home (не обязательно использовать git , но мне было интерсно) - VPS конечно пуст и нужно утанавливать все, с этим особых проблем небыло, только puppeteer вызвал сложность, если его используйте Код:
apt-get install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget - для доступа в открытую сессию используйте screen, в этой сесии и запускайте npm run dev, позже, используя screen вы сможете вернуться к данной сессии, остановить скрипт, обновить код и опять запустить. - для привязки домена ищите инфу о виртуальных доменах - для HTTPS тоже решаемо, но есть нюанс с обновлением сертификата, иначе будет слетать каждые 3 месяца. https://shra.ru/2017/07/ustanovka-le...ata-na-debian/ https://dil.livejournal.com/1715046.html все это у меня работает и через HTTP, может потому что на данном сервере у меня есть другой виртуальный домен с сертификатом, ХЗ. Что меня смущает. При перезагрузке сервера скрипт не запустится, нужно будет вручную это делать, но у меня пока работает и так пару месяцев без проблем |
без https тоже можно открывать, там в браузере должна быть ссылка в окне, когда открываешь, что-то типа, https://www.technipages.com/google-c...rivate-message ... если это все только для себя )
|
Цитата:
Переустановил ОС, установил nginx, сертификаты. Сайт открывается по https://site.ru/script.js Я правильно понял, что можно приложение запустить таки на localhost и проксировать запрос? Т.е., в скрипте у меня просто локальная ссылка /saveData А в nginx конфиге надо перенаправление запроса сделать на http://localhost:3000/saveData ? Как это сделать? Код:
server { Код:
location /api { |
Часовой пояс GMT +3, время: 04:59. |