Mac 和 CentOS 搭建 Lumen + Swoole 开发环境

每次遇到部署的问题都让我很难受,但还好这次用了半天时间就解决了问题,记录下来以备再用

CentOS

  1. CentOS 7.0 下安装 Lumen 和 Swoole 的方案就是中规中矩,在其它文档里都有写,关键是这个 supervisord 又让我花费了不少的时间去排错
  2. 按照 Laravel-S 的文档写好配置文件(配置文件里的 user 不能乱写),却一直报 socket 的错误,导致 run 不起来,找了半天发现只要这样就可以了:
sudo supervisord -c /etc/supervisord.conf
sudo supervisorctl -c /etc/supervisord.conf

依次执行即可,关于 cli 管理工具的一些方法,抄录下来:
运行 supervisord -c /etc/supervisord.conf 启动运行
ps aux | grep supervisord 查看 supervisord 是否正在运行使用
Supervisorctl 是 supervisord 的一个命令行客户端工具,运行以下命令指定其读取配置文件:
supervisorctl -c /etc/supervisord.conf
运行 supervisorctl 进入客户端运行 reread 读取项目 ini 文件
运行 add xxx 命令后,被添加的项目将会一直显示在supervisorctl 中,便于管理
常用命令supervisord:
初始启动Supervisord,启动、管理配置中设置的进程;
supervisorctl stop(start, restart) xxx,停止(启动,重启)某一个进程(xxx);
supervisorctl reread: 只载入最新的配置文件, 并不重启任何进程;
supervisorctl reload: 载入最新的配置文件,停止原来的所有进程并按新的配置启动管理所有进程;
supervisorctl update: 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启;

Swoole 跑起来之后,根据 Laravel-S 的文档把 Nginx 的配置改一下,然后 reload 就可以了

MacOS

一开始机器上装的 PHP 没有 Swoole,然后也没装PECL,折腾了好久一直装不好 PECL,最后发现只要删掉 PHP,用 brew 重装到 [email protected] 就可以了,这个版本直接自带了 PECL
然后通过:

pecl install swoole

中间也出现了/usr/include/文件夹不存在,导致扩展装不上,或是openssl/.sh不存在的问题,恶心了半天。

  1. 解决openssl
ln -s /usr/local/opt/openssl/include/openssl /usr/local/include/openssl
  1. 解决 /usr/include/ 权限
    先在 Mac 上安装 Linux 运行环境
xcode-select --install

先关闭 Mac 的安全模式:
重启 --> command + R 进入安全模式,打开命令行,输入:

csrutil disable(操作完成之后再进入安全模式 csrutil enable 打开安全模式)

重启后 cd 过去(MacOSX--vvv后面的版本可能会不同)

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk

然后 把 include 文件夹 copy 到 /usr 下面就行了,最后按照脚本提示安装完成即可

php -m 查看 swoole 扩展是否安装

你可能感兴趣的:(Mac 和 CentOS 搭建 Lumen + Swoole 开发环境)