添加用戶并創建密碼
/usr/sbin/groupadd deploy/usr/sbin/useradd -g deploy -s /bin/bash deploypasswd deploy
輸入兩次密碼,回車確認
附加: 切換用戶命令 su - deply
使用新增用戶免密使用sudo命令
添加剛才的用戶deploy到sudoers里面,進行免密使用sudo命令
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 # 新添加這一行
到這里已經可以正常在exec中使用sudo here is command來執行命令了,而無需輸入密碼
目標機器修改php-fpm進程為deploy用戶運行
以centos7.5為例子
vim /etc/php-fpm.d/www.conf# 修改用戶和用戶組為deployuser = deploygroup = deploy # 如果存在listen用戶和用戶組,同樣修改,不存在可以忽略;listen.owner = deploy;listen.group = deploy
重啟php-fpm服務
service php-fpm restart
目標機器修改nginx為進程為deploy用戶運行
以centos7.5為例子
vim /etc/nginx/nginx.conf
頭部新增 (如果存在則修改)
user deploy;
重啟nginx
nginx -tservice nginx restart
至此,可以使用php 腳本執行命令,并拉取git代碼,同時,注意PHP腳本所屬用戶,可以修復文件用戶歸屬:
# 批量修改 filedir 目錄所屬用戶為deploysudo chown -R deploy:deploy filedir
PHP拉取git代碼更新例子
$output = shell_exec('cd ~/www/test && git pull origin master'); var_dump(output);
更多PHP相關知識,請訪問PHP教程!
以上就是php+nginx實現自動化部署腳本(簡單版)的詳細內容,更多請關注電腦知識網其它相關文章!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答
圖片精選