![](/img/trans.png)
[英]How can I change Environments variables in Electron between production and stage
[英]How deal with NVM in production environments?
我正在使用NVM开发Sails Web应用程序。 我已经通过NVM安装了节点v0.12.7,我使用这个版本来运行网站。
nvm use 0.12.7
sails lift
Sails默认使用端口1337,但对于生产环境,我们将其更改为443.问题是此端口需要root权限,并且仅为一个用户安装NVM。 因此,如果我尝试sudo sails lift,我会收到错误消息,说明没有安装风帆 。
处理该问题最有效的方法是什么? 如何使用NVM开发项目并进行部署?
我想到了不同的可能解决方案,但我不知道它们是好还是不安全。
iptables
转发端口。 问题是socket无法使用代理。 sudo
来部署或运行应用程序,这将迫使我这样做。 在这种情况下,最佳做法是什么?
提前致谢。
我已经解决了以下问题。
我已经更改了所有者和节点组。
which node # gives a string with the path to node
sudo chown root:root path_to_node
sudo chmod u+s path_to_node
这样,无论用户执行节点将使用所有者权限执行此操作。 在这种情况下,所有者是root用户,其权限足以使用1024以下的端口。
您对此解决方案有何看法?
出于安全原因,不建议让NodeJS以root权限运行。
您可以尝试在没有root权限的其他用户可访问的端口上运行应用程序,然后在443端口上配置反向代理。 这就是我使用nginx作为反向代理所做的事情,它可以轻松配置以执行此任务以及处理SSL流量。
在此链接上,您可以找到有关将nginx配置为反向代理的更多信息,它来自官方文档: https : //www.nginx.com/resources/admin-guide/reverse-proxy/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.