ホームページ  >  記事  >  バックエンド開発  >  php+nginxで自動デプロイメントスクリプトを実装(簡易版)

php+nginxで自動デプロイメントスクリプトを実装(簡易版)

藏色散人
藏色散人転載
2020-01-02 17:52:453667ブラウズ

ターゲット マシン上にデプロイ ユーザーを作成します (デプロイ ユーザーを例にします)

ユーザーを追加してパスワードを作成します

/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 サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。