小编Eva*_*anK的帖子

从带有 start-stop-daemon 的 LSB init 脚本启动 PHP 守护进程

我正在编写一个 lsb init 脚本(不可否认,我从未从头开始做过)它启动了一个守护进程的 php 脚本。php 脚本是这样开始的:

#!/usr/bin/env php
<?php
/* do some stuff */
Run Code Online (Sandbox Code Playgroud)

然后在 init 脚本中像这样启动:

# first line is args to start-stop-daemon, second line is args to php-script
start-stop-daemon --start --exec /path/to/executable/php-script.php \
  -- --daemon --pid-file=$PIDFILE --other-php-script-args
Run Code Online (Sandbox Code Playgroud)

--daemon标志导致 php 脚本分离并作为守护程序本身运行,而不是依赖于start-stop-daemon分离它。

这就是它(试图)在 init 脚本中停止它的方式:

start-stop-daemon --stop --oknodo --exec /path/to/executable/php-script.php \
  --pidfile $PIDFILE
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试通过 init 脚本停止时,它给了我这个:

$ sudo /etc/init.d/my-lsb-init-script stop
 * Stopping My Project
No /path/to/executable/php-script.php found running; none killed.
   ...done.
Run Code Online (Sandbox Code Playgroud)

快速浏览一下ps告诉我,尽管 php …

php bash daemon lsb init.d

6
推荐指数
1
解决办法
9646
查看次数

将机器主机名作为 Apache 中的标头发送

我在负载平衡器后面有一组 linux apache 1.3 服务器,我希望能够一目了然地确定我正在访问哪个服务器。负载平衡器的监控能力受到严重限制,所以我想做的是配置 apache 以发送一个额外的标头,指示机器的主机名。

我知道我可以使用主机名将标头硬编码到 httpd.conf 中:

Header set X-Which-Host-Am-I 'host1'
Run Code Online (Sandbox Code Playgroud)

但是,所有有问题的服务器都使用 rsync 进行了镜像,包括配置,因此对主机名进行硬编码已经过时了。有没有办法可以调用hostname命令并将其转储到标题中?

说明:由于多个虚拟主机位于这些服务器上,我需要物理机的主机名,而不是请求中的域名。

hostname http-headers apache-1.3

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

apache-1.3 ×1

bash ×1

daemon ×1

hostname ×1

http-headers ×1

init.d ×1

lsb ×1

php ×1