您好,登錄后才能下訂單哦!
在目標機器創建deploy用戶(以deploy用戶為例子)
添加用戶并創建密碼
/usr/sbin/groupadd deploy /usr/sbin/useradd -g deploy -s /bin/bash deploy passwd 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 # 修改用戶和用戶組為deploy user = deploy group = 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 -t service nginx restart
至此,可以使用php 腳本執行命令,并拉取git代碼,同時,注意PHP腳本所屬用戶,可以修復文件用戶歸屬:
# 批量修改 filedir 目錄所屬用戶為deploy sudo chown -R deploy:deploy filedir
PHP拉取git代碼更新例子
$output = shell_exec('cd ~/www/test && git pull origin master'); var_dump(output);
以上就是php+nginx實現自動化部署腳本(簡單版)的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。