• centos, nginx, php

  • 生产目录全站【git.config.filemode = false】

  • chown www:www -R /home/wwwroot/websit
  • www用户下生成密钥并上传公钥

  • shell命令无需另加sudo等

  • 需要至少1次以www用户执行git pull并缓存账号

  • 需要加 unset GIT_DIR命令

  • cd /home/wwwroot/website/ && unset GIT_DIR && git pull origin master


  • 2020年7月13日 回头再看,这个方案是用php执行git pull命令,由于运行php的 账户时www账户,所以保证能手动用www用户执行git pull无报错, web_hook就跑起来了

  • 所以遇到的问题的解决方法无非就是用www跑程序的问题,不提权的情况下,www要有整站目录、日志文件的读写权限,git服务器处存有www用户公钥等