【问题标题】:How to let php artisan serve run as a background server to work like Apache?如何让 php artisan 作为后台服务器运行,像 Apache 一样工作?
【发布时间】:2019-01-17 11:01:37
【问题描述】:

我在 VPS 上设置了一个 Laravel 应用。仅用于演示目的。

我会使用 PuTTY SSH 登录到 VPS 并输入:

php artisan serve --host x.x.x.x

一切正常。但是,当我关闭 PuTTY 连接时,服务器会关闭。

是否可以让artisan server像Apache一样在后台运行?

【问题讨论】:

    标签: php


    【解决方案1】:

    您可以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
    

    不要对生产站点执行此操作,但快速演示可能没问题。

    【讨论】:

      【解决方案2】:

      至少在临时级别上,最快的方法可能是使用屏幕 - 您可以在屏幕会话中运行它,然后在 Putty/shell 中按 Ctrl-a 然后 d 以最小化它。会话结束后它将继续运行。

      您可以稍后恢复并杀死或重新启动。

      【讨论】:

        猜你喜欢
        • 2012-11-17
        • 2023-03-30
        • 1970-01-01
        • 2015-07-13
        • 1970-01-01
        • 2015-12-23
        • 1970-01-01
        • 2016-01-06
        • 2018-04-18
        相关资源
        最近更新 更多