【发布时间】:2019-01-17 11:01:37
【问题描述】:
我在 VPS 上设置了一个 Laravel 应用。仅用于演示目的。
我会使用 PuTTY SSH 登录到 VPS 并输入:
php artisan serve --host x.x.x.x
一切正常。但是,当我关闭 PuTTY 连接时,服务器会关闭。
是否可以让artisan server像Apache一样在后台运行?
【问题讨论】:
标签: php
我在 VPS 上设置了一个 Laravel 应用。仅用于演示目的。
我会使用 PuTTY SSH 登录到 VPS 并输入:
php artisan serve --host x.x.x.x
一切正常。但是,当我关闭 PuTTY 连接时,服务器会关闭。
是否可以让artisan server像Apache一样在后台运行?
【问题讨论】:
标签: php
您可以run any shell command in the background by adding & to the end。如果您希望它在断开连接后继续运行,请使用nohup 运行它
nohup php artisan serve &
稍后要杀死它,您将获得一个进程 ID,但不要被愚弄,因为这会启动其他即使被杀死也会持续存在的进程。要获取实际的服务器 PID,您可以通过使用 grep 过滤 ps 输出来找到它
ps -ef | grep "$PWD/server.php"
应该给你一些这样的输出:
jeff 23978 23977 0 16:50 pts/4 00:00:00 /usr/bin/php7.0 -S 127.0.0.1:8000 /path/to/laravel-project/server.php
杰夫 24059 18581 0 16:51 pts/4 00:00:00 grep --color=auto /path/to/laravel-project/server.php
你的用户名后面的第一个数字是你要杀死的PID。
kill 23978
不要对生产站点执行此操作,但快速演示可能没问题。
【讨论】:
至少在临时级别上,最快的方法可能是使用屏幕 - 您可以在屏幕会话中运行它,然后在 Putty/shell 中按 Ctrl-a 然后 d 以最小化它。会话结束后它将继续运行。
您可以稍后恢复并杀死或重新启动。
【讨论】: