【发布时间】:2018-09-24 06:07:58
【问题描述】:
我基于本教程: 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 地址,我不确定,但在我看来,我不应该在这里更改任何内容。
感谢您的任何建议。
【问题讨论】:
-
为你的 mongodb 设置密码,不要对外暴露。创建一个仅对应用目录具有权限的用户
标签: javascript node.js angular mongodb express