我的 Node.js 应用程序在 Laravel Homestead 上运行良好,但现在需要将其移至服务器。我使用 Laravel Forge 进行服务器配置。服务器已经安装了 Node 和所需的软件包。
在本地运行时,我可以使用 Homestead 的 http://192.168.10.10:3000
进行连接。我的服务器上的地址是什么?如何保持 Node 应用程序运行?
当我通过 SSH 连接时,我可以运行它,并且我可以看到它正在输出收到的事件。但是我如何将客户端连接到它呢?我已经尝试了我的服务器的 IP 和域,但没有成功。
连接后,如何保持 Node 应用程序运行,这样我就不需要打开 SSH session ?
非常感谢,
山姆
最佳答案
如果服务器上尚未安装 NodeJS,请安装它:
sudo install nodejs
将您的应用推送到您想要的任何文件夹。
在 Laravel Forge 上为您的 NodeJS 应用程序创建一个应用程序(站点)。
在底部,会有一个编辑Nginx配置的按钮。如果存在 location/{
部分,请将其替换为反向代理(如果不存在,只需添加它):
location / {
proxy_pass http://SERVER_IP:APP_PORT;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
重新启动 nginx,运行应用程序。
它应该按照您希望的方式在您提供的 Laravel Forge 地址上运行。
要设置重新启动,您需要查看PM2 。这相当简单。
关于node.js - 通过 Laravel Forge 服务器上的地址访问 Node.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33629619/