如何在生产中运行 Laravel Websockets(ubuntu + apache2)?
Posted
技术标签:
【中文标题】如何在生产中运行 Laravel Websockets(ubuntu + apache2)?【英文标题】:How to run Laravel Websockets in production (ubuntu + apache2)? 【发布时间】:2020-12-09 12:27:54 【问题描述】:我正在使用 Laravel Websockets 包https://beyondco.de/docs/laravel-websockets/getting-started/introduction。
在我的本地开发服务器中,我使用php artisan websockets:server
运行它,它运行良好,但我想知道如何在我的生产服务器(Ubuntu + Apache2)中运行它。
【问题讨论】:
这是一个更适合 Laravel Websockets 论坛的产品支持问题吗? 【参考方案1】:在运行你的 websocket 服务器后,你需要 proxypass 到你的 apache。如下配置:
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName your.domain.com
ProxyPass / http://localhost:6001/
ProxyPassReverse / http://localhost:6001/
</VirtualHost>
将 6001 更改为您的 websocket 端口。
要在后台运行,您需要使用 nohup 或 pm2 在后台添加您的 websocket 服务器。示例:
pm2 start "php artisan websockets:server"
或使用 nohup
nohup php artisan websockets:server
【讨论】:
我建议有 supervisord ,这样你就可以设置 php artisan websockwt:serve 我还需要在生产中运行php artisan websockets:serve
吗?或者只是 apache 配置就足够了?
@Fantasmic 你需要使用 supervisord、pm2 或 nohup 运行它
谁能帮忙如何在nginx Server中运行?【参考方案2】:
你可以使用 supervisord ,你可以安装并有配置文件来运行命令 php artisan web socket:serve
【讨论】:
以上是关于如何在生产中运行 Laravel Websockets(ubuntu + apache2)?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 中将 Vue.js 切换到生产模式?
可以在生产 laravel 网站上运行 php artisan :clear 命令吗? [关闭]