ターゲット マシン上にデプロイ ユーザーを作成します (デプロイ ユーザーを例にします)
ユーザーを追加してパスワードを作成します
/usr/sbin/groupadd deploy /usr/sbin/useradd -g deploy -s /bin/bash deploy passwd deploy
パスワードを 2 回入力し、 Enter キーを押して確認します
追加: ユーザー切り替えコマンド su - デプロイ
パスワードなしで新しいユーザーを使用し、sudo コマンドを使用します
ユーザーを追加してデプロイするだけですパスワードなしで操作できるように sudoers を使用します。パスワード
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 # 新添加这一行
を指定して sudo コマンドを使用します。これで、exec で sudo here is command を使用して、パスワードを入力せずにコマンドを通常どおり実行できるようになります
ターゲット マシンは、デプロイ ユーザーとして実行するように php-fpm プロセスを変更します
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 を変更します
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 pull git コード更新の例
$output = shell_exec('cd ~/www/test && git pull origin master'); var_dump(output);
PHP の詳細については、関連知識については、PHP チュートリアル をご覧ください。
以上がphp+nginxで自動デプロイメントスクリプトを実装(簡易版)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。