Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在服务器上发布之前,我应该更改什么?_Javascript_Node.js_Angular_Mongodb_Express - Fatal编程技术网

Javascript 在服务器上发布之前,我应该更改什么?

Javascript 在服务器上发布之前,我应该更改什么?,javascript,node.js,angular,mongodb,express,Javascript,Node.js,Angular,Mongodb,Express,我基于本教程: 我构建了我的应用程序,它运行良好,但我有一个问题。我想在服务器上发布应用程序。但是我不确定我应该改变什么。服务器运行在基于Debian的操作系统上。服务器上的应用程序应该在端口80上工作,MongoDB应该在默认的27017端口上工作。 这是我的原始文件和更改文件: 原始服务器.js: 1 app.use(bodyParser.json()); 2 app.use(bodyParser.urlencoded({ extended: false})); 3 app.use(expr

我基于本教程: 我构建了我的应用程序,它运行良好,但我有一个问题。我想在服务器上发布应用程序。但是我不确定我应该改变什么。服务器运行在基于Debian的操作系统上。服务器上的应用程序应该在端口80上工作,MongoDB应该在默认的27017端口上工作。 这是我的原始文件和更改文件:

原始服务器.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地址,我不确定,但在我看来,我不应该在这里再做任何更改


谢谢你的建议

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

sudo /sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
否则,您也可以使用nginx将流量从80重定向到3000


保持代码在本地计算机中的状态。因为数据库位于同一台服务器上,所以不会有问题。

为您的mongodb设置密码,不要将其暴露在外部。创建一个用户,该用户仅对应用程序的目录具有权限