gpt4 book ai didi

javascript - MEAN 应用程序,在服务器上发布之前我应该​​更改什么?

转载 作者:行者123 更新时间:2023-12-03 01:04:25 24 4
gpt4 key购买 nike

我根据本教程: 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 是输出 Angular 文件夹,但我不知道它应该是什么样的。我存储在 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 地址,我不确定,但在我看来,我不应该在此处更改任何内容。

感谢您的任何建议。

最佳答案

应用程序的默认端口是 3000。为了在通用 HTTP 端口 80 上运行应用程序,您需要将端口 80 转发到 3000。您可以尝试以下命令

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

或者,您也可以使用 nginx 将流量从 80 重定向到 3000。 Try this .

将您的代码保留在本地计算机中。由于数据库在同一台服务器上,所以不会有问题。

关于javascript - MEAN 应用程序,在服务器上发布之前我应该​​更改什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52473518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com