如何在laravel app启动时自动运行Node和Redis服务器

时间:2014-01-02 23:06:26

标签: node.js deployment laravel redis command

我之前从未使用过Node或Redis,但是在我正在构建的应用程序中,我使用node和Redis来运行socket.io.js以获得一些实时更新功能。

目前为了让我完成这项工作,我必须打开终端并运行

$ cd project/nodejs/Redis/lib/src
$ ./redis-server

然后我再也无法使用那个终端窗口了。所以我打开一个新的终端窗口并运行

$ cd project/nodejs
$ node server.js

我再也无法使用此终端窗口了。

然后我打开另一个窗口并运行

$ cd project 
$ php artisan serve

如何将所有这些结合起来并在某个导航到应用程序URL时运行它?

我是否需要在命令目录中构建命令?我做了一些研究,但我仍然感到困惑。在我开始使用laravel之前,我从未使用过终端,所以我真的不知道我需要研究什么。

2 个答案:

答案 0 :(得分:2)

您可以创建一个脚本文件(myserver.sh),并按顺序显示所有命令:

cd /your/www/folder/project/nodejs/Redis/lib/src
./redis-server &

cd /your/www/folder/project/nodejs
node server.js &

cd /your/www/folder/project 
php artisan serve &

请注意,我在每个命令的末尾添加了&,这将使该命令在后台运行。

然后通过运行:

运行它
bash myserver.sh

或者你可以让它可执行

chmod +x myserver.sh

然后运行

./myserver.sh

这将有助于开发,但它不是一个非常好的生产选择。您应该使用真正的Web服务器,如Apache 2或NGINX,而不是PHP内置服务器。但这只是我的意见。

不要考虑创建Laravel命令来执行Node或Redis服务器,它不是它的服务,看看他们自己的wiki,看看人们如何在生产服务器中运行这些应用程序。

答案 1 :(得分:1)

哦NVM。我在myserver.sh中添加了两张CD的完整路径 cd / Applications / MAMP / htdocs / work / nodejs / Redis / src ./redis-server&

cd / Applications / MAMP / htdocs / work / nodejs node server.js&