利用walle发布项目流程:
1.设定一个宿主主机用于拉取git或svn
2.目标发布主机
3.git配置项目,本地可以实现push
4.当修改完成发布的时候只需push上去,然后到宿主主机那边拉取并发布。
记录:
1.walle基于yii 故它拉取git的时候需要宿主主机的写入权限,所以可以采用is_writeable 来验证对应文件对于当前php-fpm 用户是否有写入权限 这个很关键
2.当能够写入时,还需宿主免密码登录发布主机,基本方案是 在宿主主机当前php-fpm用户的.ssh下 用 ssh-keygrn -t rsa 生成 id_rsa 然后 cp id_rsa.pub 成 authroized_key 然后 用 scp authotized_key users@ip:/users/.ssh 并在发布主机上将改authkey chmod 成600
3.在宿主中 ssh users@ip 查看能否免密码
4.还需要在发布主机中设置发布文件夹 同样,需要对 ssh 上去的users 给予改文件夹或上级目录读写的权限
坑:
1.在宿主主机中配置walle的时候, 流程都ok 到最后显示 4xx 说明是nignx 的 vhost 配置有问题
2.配置好后 发现了 5xx错误 说明是 nginx 在连接 cgi的时候报错了 ,这个时候可以查看nignx 的 错误日志 具体可以查看nignx.conf 查看对于日志的目录 最后发现是 nignx vhost server 配饰 fastcgi_pass 需要和 php-fpm 下的 listen = /tmp/php-cgi.sock或 127.0.0.1:9000 相同 修改其一与另一相同 重启相关服务即可fix 502
3. ssh 连接的时候 切记权限问题 .ssh文件夹 700 authroized_key 600
4.如果拉git的时候报错 可以把git链接ssh 指向一个固定的账户