在Mac下安装好了PHP开发环境(PHP-FPM,Nginx,MySql), 想设置成开机自启动,原来以为和一般的Linux系统一样,也是在rc.d这样目录放置启动脚本。在网上查了一些资料,发现苹果应该是把它完全封闭了,只能利用Mac系统里的Launchctl来做这个事。

Launchctl 其实就是写一个 *.plist的文件,它的作用和 Linux 里的 Crontab的作用是一样的。下面以自启动 MySql为例

1、新建文件 com.mysql.plist,但这个文件需要放到 /Library/LaunchDaemons 目录下

sudo vim /Library/LaunchDaemons/com.mysql.plist

其内容如下:

Label

com.mysql

ProgramArguments

/usr/local/mysql/bin/mysqld_safe

RunAtLoad

KeepAlive

2、注册这个 plist 文件到系统服务。

sudo launchctl load -w /Library/LaunchDaemons/com.mysql.plist

注意:卸载命令为

sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.plist

3、修改执行权限

sudo chown root:wheel /Library/LaunchDaemons/com.mysql.plist

sudo chmod +x /Library/LaunchDaemons/com.mysql.plist

4、其他开发软件(nginx、php-fpm)同理配置

/Library/LaunchDaemons/com.nginx.plist

Label

com.nginx

ProgramArguments

/usr/local/nginx/sbin/nginx

RunAtLoad

KeepAlive

/Library/LaunchDaemons/com.php-fpm.plist

Label

com.php-fpm

ProgramArguments

/usr/local/php/sbin/php-fpm -D

RunAtLoad

KeepAlive

可能的【报错】

1、执行 launchctl 的时候,出现 Dubious ownership on file (skipping) 这个错误

原因是:这个plist文件必须是属于 root 用户,wheel 组,用 chown 修改即可。

sudo chown root:wheel /Library/LaunchDaemons/com.mysql.plist

2、执行 launchctl 的时候,出现 launchctl: no plist was returned 这个错误

原因是:plist文件内容可能有格式错误。

用下面这个命令可以查看文件格式是否有问题,我就是用这个查看到 有一个 标记没有闭合。

sudo plutil -lint /Library/LaunchDaemons/com.mysql.plist

注意:php-fpm.conf、nginx.conf等配置文件中的 用户名 和 用户组 设置为当前登录用户,即 jianbao、staff。

延伸阅读:

参考:

注意:

个人用户 开机自启动 数据保持在/Library/LaunchDaemons/ 目录,而系统级别的 保存在 /system/Library/LaunchDaemons/ 目录。

launch mysql_Mac Pro 开机自启动 PHP-FPM,Nginx,MySql 等软件相关推荐

  1. Mac Pro 开机自启动 PHP-FPM,Nginx,MySql 等软件

    在Mac下安装好了PHP开发环境(PHP-FPM,Nginx,MySql), 想设置成开机自启动,原来以为和一般的Linux系统一样,也是在rc.d这样目录放置启动脚本.在网上查了一些资料,发现苹果应 ...

  2. centos7.x设置nginx开机自启动

    设置nginx开机自启动(centos7.x) 第一步:进入到/lib/systemd/system/目录 [root@iz2z init.d]# cd /lib/systemd/system/ 第二 ...

  3. CenOS8-置nginx开机自启动

    1:进入到/lib/systemd/system/目录 cd /usr/lib/systemd/system/ 2:创建nginx.service文件,并编辑 vim nginx.service 内容 ...

  4. linux设置开机自启动的三种方法

    一.rc.local文件中添加自启动命令 1.执行命令: 编辑"/etc/rc.local" vi /ect/rc.local 2.然后在文件最后一行添加要执行程序的全路径. 例如 ...

  5. Windows设置软件开机自启动与关闭

    Windows设置软件开机自启动 有时候我们需要手动为某些软件设置开机自启动权限,或者手动取消软件开机自启动权限. 取消开机自启动权限: 1. Win+R,在打开的运行程序中输入 msconfig,回 ...

  6. linux开机启动mysql脚本,ubuntu linux下mysql开机自启动 - 心之所向,无惧无悔! - 博客频道 - CSDN.NET...

    1. 预使mysql开机自启动,首先需要注册mysql为ubuntu下的服务. 直接拷贝MySQL.server文件至/etc/init.d/目录下即可. sudo cp $MYSQL_HOME/su ...

  7. 使用 RaiDrive 实现挂载阿里云盘到本地 并且 开机自启动

    使用RaiDrive 实现挂载阿里云盘到本地 并且 开机自启动 前言 第一步:准备软件 第二步:安装软件 1.RaiDrive 安装 2.安装配置 webdav-aliyundriver 和 WinS ...

  8. centos7下压缩包手动安装mysql以及设置开机自启动

    1.说明 在Centos7连接Xshell,Xftp 安装mysql-5.5.47 我百度网盘里有 网盘地址:https://pan.baidu.com/s/1W3iU06mGhyhCTd7NxdEw ...

  9. nginx已添加systemctl,但不能开机自启动问题

    [root@kgj01]# ll /lib/systemd/system/nginx.service -rw-r--r--. 1 root root 640 3月   9 15:35 /lib/sys ...

最新文章

  1. 如何利用客户端在CU发博客
  2. linux 脚本自动编制工具,全自动工具链编译脚本
  3. 最大矩形面积_JAVA
  4. Rancher搭建集群
  5. 在SQL 语句批量替换数据库字符串的方法
  6. 一个“小白”眼中的容器
  7. python面试题Python2.x和Python3.x的区别
  8. sqlalchemy filter
  9. 如何解除服务器注册,《天龙八部手游》服务器注册上限怎么办 服务器注册方法...
  10. java weblogic admin,weblogic admin 不能重起服务(Server may already be running)
  11. numpy—np.diag(v, k=0)
  12. 如何下载 MMS开头的视频资源
  13. SAR舰船检测数据集总结
  14. linux下批量查找文件内容
  15. ERROR 999999: Error executing function. The table name is invalid. No spatial reference exists.
  16. Android打包动态配置签名
  17. 【命令】Java调用Windows运行命令打开\关闭软键盘
  18. 小程序or网页前端CSS选择器
  19. 我的Jdon安装第三步出错解决
  20. 【Android】设计和实现一个BMI计算程序

热门文章

  1. linux系统下安装 Loadrunner11(个人感觉不错儿)
  2. 反思走火入魔 急功近利:一步一步的做 一步一步的走 顺其自然 水到渠成
  3. Mysql的B树/B+/B*/R树(补充)
  4. java换脸_随意换脸 · ink-image/api Wiki · GitHub
  5. python界面开发工具免费_Python程序员必备的四款开发工具
  6. 无线抄表免费透传云服务器,两个WIFI模块USR-WIFI232-B2连接有人云实现远程一对一透传...
  7. python中dom模块_Python中使用dom模块生成XML文件示例
  8. 加装的硬盘进入后点不了文件夹_Mac OS Catalina 挂载NTFS硬盘的问题 (无需第三方软件,几行代码即可)...
  9. C语言位于30到100之间的一个奇数,《帮你度过C语言新手阶段》系列之三
  10. 【oracle】查看数据库服务器的ip地址的SQL