Как запустить вебсервер с базой node.js в облачном сервисе?

Ссылка скопирована
1 ответ

Привет. перенес с виртуалки qemu/kvm в облачный сервис timeweb. и столкунлся с таким моментом при запуске вебсервера, что не корретный хост.

$ npm start > frontend@0.1.0 start > react-scripts start Invalid options object. Dev Server has been initialized using an options object that does not match the API schema.  - options.allowedHosts[0] should be a non-empty string. $ cat package.json | grep proxy   "proxy": "http://IPADDRESS:8000",     "http-proxy-middleware": "^2.0.6", $ cat src/setupProxy.js const {createProxyMiddleware} = require('http-proxy-middleware'); module.exports = function (app) {   app.use(     '/api',     createProxyMiddleware({       // ️ make sure to update your target       target: 'http://IPADDRESS:3000',       changeOrigin: true,     }),   ); }; $ npm run build $ sudo npm install -g serve $ serve -s build ...  HTTP  3/18/2024 7:58:11 AM IPADDRESS2 Returned 200 in 4 ms

$ npm start > frontend@0.1.0 start > react-scripts start Invalid options object. Dev Server has been initialized using an options object that does not match the API schema. - options.allowedHosts[0] should be a non-empty string. $ cat package.json | grep proxy "proxy": "http://IPADDRESS:8000", "http-proxy-middleware": "^2.0.6", $ cat src/setupProxy.js const {createProxyMiddleware} = require('http-proxy-middleware'); module.exports = function (app) { app.use( '/api', createProxyMiddleware({ // ️ make sure to update your target target: 'http://IPADDRESS:3000', changeOrigin: true, }), ); }; $ npm run build $ sudo npm install -g serve $ serve -s build ... HTTP 3/18/2024 7:58:11 AM IPADDRESS2 Returned 200 in 4 ms

при этом в виртуалке запускалось все нормально. Ладно, добавил файл setupProxy.js с указанием ip адреса, по источникам запустил через БИЛД, в браузере запустил IPADDRESS:3000 запустился сайт, а информация на сайте из базы не появилась, причем база коннектится. я думаю что это из-за ip адреса, который выдает провайдер, ибо в базе приходилось прописывать адрес провайдера при подключении к базе. Даже при выводе моей последней команде видно что другой адрес указывается IPADDRESS2, это адрес провайдера . Но веб сервере данные вообще не отображаются, кто может подсказать что с этим делать? кто -то знаком уже с timeweb? и разворачивал уже там веб сервер?

Дополнительно:

Так брать надо было виртуалку у таймвеба

https://timeweb.com/ru/docs/virtualnyj-hosting/pri...

Вы можете использовать Node.js на виртуальном хостинге в качестве консольной утилиты, но запуск в виде системной службы или веб-сервера будет невозможен из-за ограничений. Чтобы разместить Node.js-службу, подойдут наши виртуальные серверы.

Надо было арендовать не shared хостинг, а vds или ds, далее выполнить эти шаги.

  • А в облачном сервере разве нельзя так настроить?? странно просто
  • David It,

    в облачном сервере

    Что это? Виртуальный (shared) хостинг?

    странно просто

    Ничего странного, это стандартное явление и зависит от конкретного хостинг провайдера, у одних можно, у других нет. Да и там где можно, он будет запускаться в режиме Phusion Passenger, со всеми его недостатками.

    Например в данном случае, nodejs не может работать как сервер и слушать определенный порт, а python может.

    Если хотите стандартного поведения на любом хостинге - арендуйте vds или ds.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Стас DB Ответ

Для запуска вебсервера с базой данных node.js в облачном сервисе, вам потребуется выполнить следующие шаги:

1. Выберите облачный сервис, который поддерживает node.js и базы данных. Некоторые из популярных облачных сервисов, которые можно использовать, это AWS (Amazon Web Services), Google Cloud Platform, Microsoft Azure и Heroku.

2. Создайте учетную запись на выбранном облачном сервисе и зайдите в панель управления.

3. Создайте новый проект или приложение и выберите настройки, поддерживающие node.js и базу данных (например, MongoDB или MySQL).

4. Установите необходимые зависимости для вашего проекта, такие как express.js для создания вебсервера на node.js и mongoose для работы с базой данных MongoDB.

5. Настройте конфигурацию вашего вебсервера, указав порт, на котором он будет слушать запросы, и подключение к базе данных.

6. Загрузите ваш код на облачный сервис, используя git или другие средства управления версиями.

7. Запустите ваш вебсервер, выполнив команду запуска, указанную в документации облачного сервиса.

Пример кода для запуска вебсервера на node.js с использованием express.js и базы данных MongoDB:

const express = require('express');
const mongoose = require('mongoose');
 
const app = express();
const port = process.env.PORT || 3000;
 
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true });
 
app.get('/', (req, res) => {
  res.send('Hello World!');
});
 
app.listen(port, () => {
  console.log(`Server is running on port ${port}`);
});

const express = require('express'); const mongoose = require('mongoose'); const app = express(); const port = process.env.PORT || 3000; mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true }); app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(port, () => { console.log(`Server is running on port ${port}`); });

Это базовый пример кода для запуска вебсервера на node.js с базой данных MongoDB. Не забудьте заменить 'mongodb://localhost/mydatabase' на ваше подключение к базе данных.

После выполнения этих шагов, ваш вебсервер с базой данных node.js должен успешно запуститься на выбранном облачном сервисе.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно