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

藏色散人
リリース: 2023-04-08 07:22:01
転載
3676 人が閲覧しました

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

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

/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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート