Erstellen Sie einen Deploy-Benutzer auf dem Zielcomputer (nehmen Sie den Deploy-Benutzer als Beispiel)
Fügen Sie einen Benutzer hinzu und erstellen Sie ein Passwort
/usr/sbin/groupadd deploy /usr/sbin/useradd -g deploy -s /bin/bash deploy passwd deploy
Geben Sie das Passwort zweimal ein und drücken Sie die Eingabetaste, um zu bestätigen
Zusätzlich: Benutzer wechseln, Befehl „su – bereitstellen“
Neuen Benutzer ohne Passwort verwenden und sudo-Befehl verwenden
Benutzer „deploy“ hinzufügen gerade jetzt kostenlos zu sudoers. Verwenden Sie den sudo-Befehl
visudo //修改/etc/sudoers的内容,或vim or vi 命令 vim /etc/sudoers ## Allow root to run any commands anywhere # 设置xxxx组下面的用户使用sudo不需要输入密码 root ALL=(ALL) ALL deploy ALL=(ALL) ALL # 新添加这一行 %deploy ALL=(ALL) NOPASSWD: ALL # 新添加这一行
Jetzt können Sie sudo hier verwenden, um den Befehl in exec auszuführen, ohne das Passwort einzugeben
Der Zielcomputer ändert den PHP-FPM-Prozess so, dass er als Bereitstellungsbenutzer ausgeführt wird
Nehmen Sie Centos7.5 als Beispiel
vim /etc/php-fpm.d/www.conf # 修改用户和用户组为deploy user = deploy group = deploy # 如果存在listen用户和用户组,同样修改,不存在可以忽略 ;listen.owner = deploy ;listen.group = deploy
Starten Sie PHP-FPM neu Dienst
service php-fpm restart
Der Zielcomputer ändert Nginx als Prozess und führt ihn als Bereitstellungsbenutzer aus
Nehmen Sie Centos7.5 als Beispiel
vim /etc/nginx/nginx.conf
Hinzufügen ein neuer Header (ändern, falls vorhanden)
user deploy;
Starten Sie nginx neu
nginx -t service nginx restart
An diesem Punkt können Sie das PHP-Skript verwenden, um den Befehl auszuführen und den Git-Code abzurufen. Achten Sie auf den Benutzer des PHP-Skripts und Sie können den Dateibenutzerbesitz festlegen:
# 批量修改 filedir 目录所属用户为deploy sudo chown -R deploy:deploy filedir
PHP pull git Code update example
$output = shell_exec('cd ~/www/test && git pull origin master'); var_dump(output);
Für weitere PHP-bezogene Kenntnisse, Bitte besuchen Sie das PHP-Tutorial!
Das obige ist der detaillierte Inhalt vonphp+nginx implementiert automatisiertes Bereitstellungsskript (einfache Version). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!