Страницы

Поиск по вопросам

пятница, 1 марта 2019 г.

Node.js приложение запустить на хостинге

Всем привет! У меня проблемка. Перерыл google и satackoverflow но не могу найти решения. Написал сайт на Node+react+mongo. Соответственно все делал на локале (Запуск сервера и коддинг). Теперь взял пробное место на хостинге Timeweb. Залил туда проект, установил на сервере Node + все зависимости проекта. Код работает если вызываю команду node app.js, который запускает этот код
const express = require('express'); const MongoClient = require('mongodb').MongoClient; // const path = require('path'); // const logger = require('morgan'); // const multer = require('multer'); const bodyParser = require('body-parser'); const db = require('./config/db'); const app = express(); const port = 8000; app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: true})); app.use(express.static(`${__dirname}/public`)); const dirname = __dirname; MongoClient.connect(db.url, (err, database) => { if (err) return console.log(err) require('./server/routes')(app, database, dirname); app.listen(process.env.PORT || port, () => { console.log(process.env.PORT || port) }) })
и выводит в консоль соответствующий порт 8000. Вопрос собственно в том, как мне сделать чтобы мое приложение запускалось и все рендерилось под доменом так же как я это видел на локале.
Можно хотябы ссылку на какуюто информаию или туториал.
Извините а такой банальный вопрос. Всем спасибо заранее!)


Ответ

Зависит от того, что у вас там за сервер. Для nginx делать так:
Для начала сам nginx установить sudo apt-get -y install nginx Открыть конфиг файл sudo nano /etc/nginx/sites-available/default и написать там:
server { listen 80; server_name имя_вашего_домена;
location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; } } Перезапустить nginx sudo service nginx restart Остаётся только в настройках DNS вашего домена направить его на ip этого сервера.

Комментариев нет:

Отправить комментарий