您当前的位置: 首页 >  php

mac系统,php-fpm加入开机启动项

发布时间:2018-04-24 10:31:41 ,浏览量:0

寻找php-fpm的路径

whereis php-fpm

如果找不到,可以尝试使用:

find / -name php-fpm
一般默认的路径就是:

/usr/sbin/php-fpm

修改php-fpm.conf配置文件

默认位置是:

/private/etc/php-fpm.conf

如果不存在的话,就看看是不是存在

/private/etc/php-fpm.conf.default

然后 COPY 一份:

sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

修改php-fpm的配置文件的项目『daemonize』

daemonize = yes

把前面的分号去掉。

加入启动项

在~/Library/LaunchAgents目录,新建 org.php.php-fpm.plist 文件:

Labelphp-fpmProgram/usr/sbin/php-fpmKeepAlive

注意:xml文件中的php-fpm的路径,是通过上面的命令得到的。

sudo chown root:owner ~/Library/LaunchAgents/org.php.php-fpm.plist
sudo chmod +x ~/Library/LaunchAgents/org.php.php-fpm.plist
sudo launchctl load -w ~/Library/LaunchAgents/org.php.php-fpm.plist

执行完以上命令,可以用这个调试命令,来看看是否加载了启动项:

launchctl list | grep php

输出:

-	0	php-fpm

中间的数字是状态码,如果是0说明已经成功了,这时服务已经启动了;

如果不是0,就可能有问题了。

我开始在命令

sudo chown root:owner ~/Library/LaunchAgents/org.php.php-fpm.plist

中没有指定root,而是另一个我常用的用户,但是得到的状态是:78。

还有一点要注意:执行 launchctl 命令加 sudo 与不加结果是完全不同的。

2018-04-27  继续尝试

之前的配置还是没有成功,不知道是不是因为权限的问题!

1、新建文件 /Library/LaunchDaemons/org.macports.php-fpm.plist,参考:org.macports.nginx.plist ,删除了pid的部分。

Labelorg.macports.php-fpmProgramArguments/opt/local/bin/daemondo--label=php-fpm--start-cmd/usr/sbin/php-fpm;--pid=fileautoKeepAlive
2、修改权限 使可以直接使用 php-fpm 启动 sudo chmod 777 /usr/local/var/log/php-fpm.log sudo chmod 777 /usr/local/var/log/www.access.log 3、直接使用 launchctl load -w org.macports.php-fpm.plist 加载 加载后,执行 ps -ef | grep php 得到  501  2622     1   0 11:05上午 ??         0:00.01 /opt/local/bin/daemondo --label=nginx --start-cmd /usr/sbin/php-fpm ; --pid=fileauto  launchctl list | grep php 2644 2 org.macports.php-fpm - 70 php-fpm

2018-04-28  

1、服务是启动了;但是: launchctl list | grep php - 70 php-fpm 之前配置的还是没有启动成功; 2、修改:sudo vi /Library/LaunchDaemons/org.macports.php-fpm.plist

把文件中的nginx 改为 php-fpm

2018-05-02  

执行 launchctl list | grep php 和 sudo launchctl list | grep php 看到的是不同的结果,

$ launchctl list | grep php
3116	70	php-fpm
$ sudo launchctl list | grep php
Password:
3120	2	org.macports.php-fpm
查看进程
$ ps -ef | grep php
    0   140     1   0  8:49上午 ??         0:01.59 /usr/sbin/php-fpm
  501   155   140   0  8:50上午 ??         0:00.26 /usr/sbin/php-fpm
  501   156   140   0  8:50上午 ??         0:00.02 /usr/sbin/php-fpm
  501  3104   140   0 10:42上午 ??         0:00.01 /usr/sbin/php-fpm
    0  3158     1   0 10:45上午 ??         0:00.01 /opt/local/bin/daemondo --label=php-fpm --start-cmd /usr/sbin/php-fpm ; --pid=fileauto
  501  3163   580   0 10:45上午 ttys000    0:00.00 grep --color php
似乎是两种都启动成功了。

================================

关于上述启动文件的目录,/Library/LaunchAgents,还有个关联位置:/Library/LaunchDaemons/。当没有生效的时候,可以查看一下这个plist文件,不如换个位置试试。mac系统中,有几个类似的位置,功效是不同的。在本例中,建议大家使用~/Library/LaunchAgents/。

LaunchDaemons和LaunchAgents功能区别对比: LaunchDaemons是用户未登陆前就启动的服务(守护进程)。 LaunchAgents是用户登陆后启动的服务(守护进程)。

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.2156s