php+nginx implementiert automatisiertes Bereitstellungsskript (einfache Version)

藏色散人
Freigeben: 2023-04-08 07:22:01
nach vorne
3677 Leute haben es durchsucht

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
Nach dem Login kopieren

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 # 新添加这一行
Nach dem Login kopieren

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
Nach dem Login kopieren

Starten Sie PHP-FPM neu Dienst

service php-fpm restart
Nach dem Login kopieren

Der Zielcomputer ändert Nginx als Prozess und führt ihn als Bereitstellungsbenutzer aus

Nehmen Sie Centos7.5 als Beispiel

vim /etc/nginx/nginx.conf
Nach dem Login kopieren

Hinzufügen ein neuer Header (ändern, falls vorhanden)

user deploy;
Nach dem Login kopieren

Starten Sie nginx neu

nginx -t
service nginx restart
Nach dem Login kopieren

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
Nach dem Login kopieren

PHP pull git Code update example

 $output = shell_exec('cd ~/www/test && git pull origin master');
 var_dump(output);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage