gpt4 book ai didi

php - 为什么守护进程模式下的 HHVM 在服务器重启后不会自动启动?

转载 作者:可可西里 更新时间:2023-11-01 13:07:59 24 4
gpt4 key购买 nike

HipHop/HHVM 可以作为守护进程运行(因此它会在重启后自动启动)

sudo /usr/bin/hhvm --mode daemon --config /etc/hhvm/server.hdf

运行时,它运行良好(这表明配置没问题)。但是重启机器后HHVM就没有了,需要手动重启。上面的行包括。配置已从 HHVM 创建者的官方教程中取出。 sudo service hhvm start 等经典服务语法也可以完美运行,但无法在机器重启后继续运行。

我为追踪问题所做的工作:

/var/log/hhvm/error.log 中的 HHVM 错误日志在每次重新启动时记录此行:无法打开 pid 文件/var/run/hhvm/pid 进行写入/etc/hhvm/server.hdf 第一行有 PidFile =/var/run/hhvm/pid。由于默认情况下它随 HHVM 一起提供,因此我不想更改它。我认为 sudo 是这里的问题。没有 sudo HHVM 将无法运行。 Chmod 777'ing pid 文件并指向另一个空文件不能解决问题。

问题:

将 HHVM 安装为守护进程的正确方法是什么?

最佳答案

手动方式

引用HHVM's own packaging material ,您需要将 hhvm 作为守护进程运行。

因此,在/etc/init.d/hhvm 中创建一个文件并粘贴:

#! /bin/sh

test -x /usr/bin/hhvm || exit 0

case "$1" in
start)
/usr/bin/hhvm --config /etc/hhvm/server.hdf --user www-data --mode daemon
;;
stop)
start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/hhvm/pid
;;

reload|force-reload|restart|try-restart)
$0 stop
$0 start
;;

status)
echo "No status"
;;

*)
echo "Usage: /etc/init.d/hhvm {start|stop|restart|status}"
exit 1
esac

exit 0

现在,我们需要创建/etc/hhvm/server.hdf 文件。这是一个示例文件:https://gist.github.com/sinaa/9151973

对于/usr/share/hhvm/hdf/static.mime-types.hdf 文件,使用这个: https://github.com/hhvm/packaging/blob/master/hhvm/deb/skeleton/usr/share/hhvm/hdf/static.mime-types.hdf

最后,创建目录:

  • /var/run/hhvm
  • /var/log/hhvm

现在只需将 hhvm 作为服务启动: /etc/init.d/hhvm 重启


自动化方式:安装预构建包 (Ubuntu)

如果您使用的是预构建版本,则默认情况下 HHVM 包含上述所有内容。您可以按以下方式安装它 (source) :

# If this command is not found then do this: sudo apt-get install python-software-properties
sudo add-apt-repository ppa:mapnik/boost
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
echo deb http://dl.hhvm.com/ubuntu precise main | sudo tee /etc/apt/sources.list.d/hhvm.list
sudo apt-get update
sudo apt-get install hhvm

重启后

要让您的服务在启动时自动运行,请运行此命令:

sudo update-rc.d hhvm defaults

关于php - 为什么守护进程模式下的 HHVM 在服务器重启后不会自动启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21935322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com