我以前从未使用过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 之前,我从未使用过终端,所以我真的不知道我需要研究什么。
您可以创建一个脚本文件 ( 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,看看人们如何在生产服务器中运行这些应用程序。
NVM。我在 myserver.sh 中添加了两张CD的完整路径cd/Applications/MAMP/htdocs/work/nodejs/Redis/src./redis-server &
cd/Applications/MAMP/htdocs/work/nodejs节点服务器.js &