Javascript 在服务器上发布之前,我应该更改什么?
我基于本教程: 我构建了我的应用程序,它运行良好,但我有一个问题。我想在服务器上发布应用程序。但是我不确定我应该改变什么。服务器运行在基于Debian的操作系统上。服务器上的应用程序应该在端口80上工作,MongoDB应该在默认的27017端口上工作。 这是我的原始文件和更改文件: 原始服务器.js: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
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设置密码,不要将其暴露在外部。创建一个用户,该用户仅对应用程序的目录具有权限