任务错误解决记录

文章目录

      • 前言
      • walle (1.0)
        • 检测时的问题解决
      • walle & opcache
      • 后记

前言

平时工作中遇到的一些问题的排查和记录

walle (1.0)

walle一个web部署系统工具,配置简单、功能完善、界面流畅、开箱即用!支持gitsvn版本管理,支持各种web代码发布,PHPPythonJAVA等代码的发布、回滚,可以通过web来一键完成。
1.0版本的官方文档:http://www.walle-web.io/docs/1/

检测时的问题解决

walle部署的大概流程是:拉取代码到代码检出仓库 —> 同步代码到目标机器的发布版本库release目录 —> webroot目录软链到最新上线的目录

  • 宿主机代码检出检测出错,请确认php进程用户www有代码存储仓库/data/www/deploy读写权限。

    这一步是执行进程的用户没有对宿主机目录/data/www/deploy的操作权限,把/data/www/deploy这个目录权限给执行进程的用户
    1、执行进程的用户:没有改的话,就是www用户,可以执行ps -ef|grep nginx这个命令看看任务错误解决记录_第1张图片
    2、宿主机:就是walle这个web项目所部署的机器

    chown www:www /data/www/deploy
    
  • 宿主机代码检出检测出错,请确认把php进程用户www的ssh-key加入git的deploy-keys列表。

    这一步是将生成的id_rsa.pub文件内容,放到git里面的ssh key的配置里面,就是保证可以直接 git clone git@xxxxx 拉取到代码,不需要其他的额外操作

    假设www是执行程序的用户,按下面的操作,得到id_rsa.pub的内容,一般用户www的家目录(/home/www)是没有的,直接创建一个就好了

    su - www
    ssh-keygen -t rsa
    cat .ssh/id_rsa.pub
    
  • 目标机器检测出错,请确认php进程www用户ssh-key加入目标机器的root用户ssh-key信任列表。

    1、目标机:代码需要发布到的机器
    2、root用户:配置的目标机的用户
    把执行进程的用户的id_rsa.pub文件内容,放到目标机的authorized_keys里面就可以了

  • 目标机器检测出错,请确认root有目标机器发布版本库/data/releases写入权限。

    确认配置的目标机用户有发布版本目录/data/releases的权限

  • 还有一个好像是把git的域名,放到known_hosts里面,报错是什么样的,不记得了

    在执行进程的用户里面,先操作一次拉取代码

以上这些问题都解决了的话,就可以使用walle部署你的项目了,具体的前期搭建运行walle可以查看官方文档,文档很详细

walle & opcache

使用walle部署php项目的时候,如果开启了opcache并且配置不当,会存在文件缓存的问题,每次上线之后,一直是在走老代码,这里需要改改配置,增加代码路径检测和检测间隔的配置

opcache.revalidate_path=1
opcache.revalidate_freq=60

后记

有什么不懂的可以加群问我

QQ群:630661697

你可能感兴趣的:(后端)