产品服务AMH 免费服务器主机面板SSL证书 免费SSL证书申请 担保单 免费安全、零费率交易平台编程助手免费智能写代码、翻译AMYSQL 免费MySQL管理工具

AMH 社区首页

 AMH社区 - 开放自由有价值的社区

[求助帖] 请教php-fpm的pid问题

zzzzzza
银牌会员
1824.00 价值分

zzzzzza 发表于 2013-05-25 13:35:44
我在使用amh面板的时候发现有这么一个问题

我的php启动会报

[Notice] phpfm PHP starting...
[25-May-2013 13:31:53] ERROR: failed to open configuration file '/usr/local/php/etc/fpm/phpfm.conf': No such file or directory (2)
[25-May-2013 13:31:53] ERROR: failed to load configuration file '/usr/local/php/etc/fpm/phpfm.conf'
[25-May-2013 13:31:53] ERROR: FPM initialization failed


这样的错误

实际上 标识为 phpfm的这个主机已经在面板删除了

同样的启动

cat: /usr/local/php/var/run/pid/php-fpm-phpfm.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]


也回报类似的错误

我观察到 amh php的脚本中
$php_pid 这个变量没有在 php这个shell中定义到 请为 这个变量是如何获取值的?

也许是phpfm标识为这个名字的主机 删除的时候 php还在运行 ?
然后有残留文件?
2013-05-25 13:35:44 1

amysql
创始人
16530.81 价值分

如果只是提交amh php start 没额外加域名标识的话就会全部主机的php都启动。
脚本有
for domain in `ls /home/wwwroot/`; do
if [ "$domain" != 'index' ]; then
/root/amh/php $selected $domain;
fi;
done;

所以说是以/home/wwwroot/主机目录为准。
面板上只删除主机是没删除主机wwwroot文件目录的,避免误删整个目录。

另外/root/amh/php这个脚本有定义php_pid变量的。
php_pid="/usr/local/php/var/run/pid/php-fpm-$domain.pid";
  支持 (0分)  反对 (0分)
回复  2013-05-25 14:09:03 2

AMH面板 - 好用高效低占用、安全可靠极稳定

zzzzzza
银牌会员
1824.00 价值分

本帖最后由 zzzzzza 于 2013-5-25 14:12 编辑

啊哈 刚才没仔细看脚本
php_pid="/usr/local/php/var/run/pid/php-fpm-$domain.pid";

for domain in `ls /home/wwwroot/`; do
if [ "$domain" != 'index' ]; then
/root/amh/php $selected $domain;
fi;
done;
其实有了
那其实这里读取域名的脚本就有这么一个逻辑问题了
删除了域名 一般是不会删文件夹的
那这样就会在这里报错了 虽然不影响使用
不过我观察到域名的记录数据库也是有记录的
这里的$php_pid 是改成读取数据库好还是判断文件夹哪~
又或者这样 删除域名后 在被删除域名的文件夹添加个判断文件 removed

再在上面的循环中添加一个if ! -f removed

同时 建立主机的那里也要加个步骤
绑定域名 指定目录后
加一个删除 目录下的 removed文件的步骤
  支持 (0分)  反对 (0分)
回复  2013-05-25 14:09:04 3

amysql
创始人
16530.81 价值分

引用:
zzzzzza 发表于 2013-5-25 14:09
啊哈 刚才没仔细看脚本其实有了
那其实这里读取域名的脚本就有这么一个逻辑问题了
删除了域名 一般是不会删 ...


删除整个网站目录有点风险啊。误删了就不好了。
php_pid ,cat /usr/local/php/var/run/pid/php-fpm-主标识域名.pid
就好了吧。
  支持 (0分)  反对 (0分)
回复  2013-05-25 14:12:56 4

zzzzzza
银牌会员
1824.00 价值分

引用:
amysql 发表于 2013-5-25 14:09
如果只是提交amh php start 没额外加域名标识的话就会全部主机的php都启动。
脚本有
for domain in `ls /ho ...

啊哈 刚才没仔细看脚本
php_pid="/usr/local/php/var/run/pid/php-fpm-$domain.pid";

for domain in `ls /home/wwwroot/`; do
if [ "$domain" != 'index' ]; then
/root/amh/php $selected $domain;
fi;
done;
其实有了
那其实这里读取域名的脚本就有这么一个逻辑问题了
删除了域名 一般是不会删文件夹的
那这样就会在这里报错了 虽然不影响使用
不过我观察到域名的记录数据库也是有记录的
这里的$php_pid 是改成读取数据库好还是判断文件夹哪~
又或者这样 删除域名后 在被删除域名的文件夹添加个判断文件 domain.removed

再在上面的循环中添加一个if ! -f domain.removed

同时 建立主机的那里也要加个步骤
绑定域名 指定目录后
加一个删除 目录下的 domain.removed文件的步骤
  支持 (0分)  反对 (0分)
回复  2013-05-25 14:13:07 5

zzzzzza
银牌会员
1824.00 价值分

引用:
amysql 发表于 2013-5-25 14:12
删除整个网站目录有点风险啊。误删了就不好了。
php_pid ,cat /usr/local/php/var/run/pid/php-fpm-主标 ...



比如有个主机标识为demo 绑定了demo.com 在 /home/wwwroot/demo 目录
脚本会建立/home/wwwroot/demo 文件夹

但是删除这个主机以后 会kill掉demo.pid
文件夹未删除
这时候就没法通过pid判断了 脚本目前是通过判断目录的方式
保留文件夹我也觉的挺好 勿删就不好了 不过没标记
标记下 挺好的
  支持 (0分)  反对 (0分)
回复  2013-05-25 14:17:10 6

amysql
创始人
16530.81 价值分

引用:
zzzzzza 发表于 2013-5-25 14:17

比如有个主机标识为demo 绑定了demo.com 在 /home/wwwroot/demo 目录
脚本会建立/home/wwwroot/demo ...


你意思是不是说加个标识或判断?
删除后的主机就不去启动它的php了。
  支持 (0分)  反对 (0分)
回复  2013-05-25 14:22:00 7

zzzzzza
银牌会员
1824.00 价值分

引用:
amysql 发表于 2013-5-25 14:22
你意思是不是说加个标识或判断?
删除后的主机就不去启动它的php了。


嗯 是啊
不是什么大问题 就是有点略洁癖 看见那些报错代码不太舒服
  支持 (0分)  反对 (0分)
回复  2013-05-25 15:15:31 8

amysql
创始人
16530.81 价值分

引用:
zzzzzza 发表于 2013-5-25 15:15
嗯 是啊
不是什么大问题 就是有点略洁癖 看见那些报错代码不太舒服


OK 下版本加个判断就好了。
  支持 (0分)  反对 (0分)
回复  2013-05-25 15:26:41 9

ylx
银牌会员
4334.00 价值分

引用:
amysql 发表于 2013-5-25 15:26
OK 下版本加个判断就好了。


:) 期待~
  支持 (0分)  反对 (0分)
回复  2013-05-25 20:11:58 10
 1  (总1页)
AMH社区列表
用户服务中心