ОЗНАКОМЛЕНИЕ, что я должен изменить перед выпуском на сервер? - PullRequest
0 голосов
/ 24 сентября 2018

Я основан на этом уроке: https://coursetro.com/posts/code/84/Setting-up-an-Angular-4-MEAN-Stack-(Tutorial), и я создаю свое приложение, и оно работает хорошо, но у меня есть проблема.Я хотел выпустить приложение на сервере.Но я не уверен, что я должен изменить.Сервер работает на ОС Debian.Приложение на сервере должно работать на порте 80, а MongoDB должно работать на порте 27017 по умолчанию.Вот мои исходные и измененные файлы:

Оригинальный server.js:

1 app.use(bodyParser.json());
2 app.use(bodyParser.urlencoded({ extended: false}));
3 app.use(express.static(path.join(__dirname, 'dist')));
4 app.use('/api', api);
5 app.get('*', (req, res) => {
6   res.sendFile(path.join(__dirname, 'dist/index.html'));
7 });
8 const port = process.env.PORT || '3000';
9 app.set('port', port);
10 const server = http.createServer(app);
11 server.listen(port, () => console.log(`Running on localhost:${port}`));

Перед выпуском я изменяю строку 8 на

 const port = process.env.PORT || '80';

, и я не уверенно я должен изменить строки 3 и 6?Я знаю, что dist - это угловая папка, но я не знаю, как это должно быть.Выходные файлы на сервере, который я храню в папке www, путь примерно такой: var / www / www

. Имеется файл api.js с подключением:

1 const connection = (closure) => {
2  return MongoClient.connect('mongodb://localhost:27017/mean', (err, db) => 
3     {
4      if (err) return console.log(err);
5      closure(db);
6    });
7 };

Перед выпуском я изменяю строку2 к «mongodb: // IPADDRESS: 27017 / mean».IPADDRESS - это IP-адрес моего приложения, я не уверен, но, на мой взгляд, мне не следует ничего менять здесь.

Спасибо за любые предложения.

1 Ответ

0 голосов
/ 24 сентября 2018

Ваш порт по умолчанию для приложения - 3000. Чтобы запустить приложение на универсальном HTTP-порту 80, вам нужно будет перенаправить порт 80 на 3000. Вы можете попробовать следующую команду

sudo /sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000

В противном случае, вы также можете использовать nginx для перенаправления трафика с 80 на 3000. Попробуйте это .

Сохраните ваш код на локальном компьютере.Поскольку база данных находится на том же сервере, это не будет проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...