インターネット時代の今日、インターネット企業の発展には運用保守業務が不可欠となっており、運用保守の自動化により、より効率的かつ安定・安全なIT管理が実現します。 PHP は主流のプログラミング言語として、運用とメンテナンスの自動化においても重要な役割を果たしています。この記事では、PHPを使った基本的な自動運用保守の方法を紹介します。
1. 自動デプロイメント
自動デプロイメントは自動運用とメンテナンスの重要な側面であり、PHP にはオープンソース デプロイメント ツール Capistrano があり、コードの自動デプロイメントを簡単に実現できます。基本的な原理は、SSH プロトコルを使用してサーバーにリモート接続し、一連の自動化された操作を実行することです。 Capistrano を使用した自動 PHP デプロイメントの手順は次のとおりです。
コマンド ライン ツールを使用してターミナルを開き、次のコマンドを入力します:
gem install capistrano
プロジェクトのルート ディレクトリに新しい Capfile ファイルを作成し、そのファイルに次のコードを追加します。
# 配置使用的插件 require 'capistrano/composer' require 'capistrano/laravel' require 'capistrano/passenger' # 配置行为(任务) set :application, 'your_application_name' set :repo_url, 'your_git_repo_address' set :branch, 'master' set :deploy_to, '/var/www/your_application_name' set :keep_releases, 5 set :linked_files, %w{.env} set :linked_dirs, %w{storage} namespace :deploy do after :finishing, 'composer:install' after :finishing, 'laravel:migrate' after :finishing, 'laravel:optimize' after :finishing, 'passenger:restart' end
上記の構成の場合では、composer、laravel、passenger の 3 つの Capistrano プラグインを使用しました。これらは、PHP 依存関係パッケージのインストール、Laravel フレームワークの移行、Passenger プロセスの再起動に使用されます。さらに、アプリケーション名、コード リポジトリ アドレス、デプロイメント ブランチ、デプロイメント パス、保持する履歴バージョンの数、リンクする必要があるファイルとディレクトリも指定しました。コマンドラインにコマンド
cap install
を入力して、デフォルトの展開構成ファイルを生成します。
ターミナルでプロジェクトのルート ディレクトリを入力し、次のコマンドを入力します。
cap production deploy
ここで、production はデプロイメント サーバーを指します。 config/deploy.rb で変更できます。
2. ログ監視
ログ監視は運用保守業務において欠かせないものであり、システムに異常が発生した場合、ログに関連する情報は問題の早期発見と解決に役立ちます。 . . PHP にはオープン ソースのログ収集ツールである Logstash があり、ログ データが変更されたときに指定したサーバーにデータを自動的にプッシュできます。 PHP ログ監視に Logstash を使用する手順は次のとおりです。
コマンド ラインに次のコマンドを入力します:
brew install logstash
Where brew は Mac OS システム上のパッケージ管理ツールです。他のシステムを使用している場合は、公式 Web サイトにアクセスしてインストール パッケージをダウンロードしてインストールできます。
config/logstash/config フォルダーの下に新しい logstash.conf ファイルを作成し、その中で対応するパラメーターを構成します。例:
input { file { path => "/var/www/your_application_name/storage/logs/laravel.log" } } filter { grok { match => { "message" => "%{HTTPDATE:timestamp} %{LOGLEVEL:loglevel}: %{GREEDYDATA:message}" } add_tag => ["%{loglevel}"] remove_field => ["message"] } } output { elasticsearch_http { host => ["127.0.0.1:9200"] index => "your_application_name-%{+YYYY.MM.dd}" } }
上記の構成の意味は、ファイル パス /var/www/your_application_name/storage/logs/laravel.log のファイルからデータを読み取り、grok 正規表現を使用してログ情報を分離し、結合することです。対応するログ レベル (WARNING、ERROR など) でマークし、最後に、処理されたデータをローカルで実行されている Elasticsearch サーバーにプッシュします。
ターミナルに次のコマンドを入力して Logstash を起動し、先ほど作成した構成ファイルを読み取ります:
/opt/logstash/bin/logstash -f /path/to/config/file/logstash.conf
その中に、/ opt/logstash/bin は Logstash パスを表し、/path/to/config/file/logstash.conf は構成ファイルのパスを表します。
3. 自動化タスク
自動化タスクとは、定期的なバックアップ、オフサイト ストレージなど、一定の間隔で自動的に実行されるいくつかのスクリプトを指し、手動による負担を軽減します。オペレーション。 PHP にはオープンソースのスケジュールされたタスク管理ツールである Crontab があり、指定した時間に対応するスクリプトを自動的に実行できます。 PHP 自動タスク管理に Crontab を使用する手順は次のとおりです。
指定されたタスク コードを対応するスクリプト ファイルに書き込みます。
ターミナルに次のコマンドを入力します:
crontab -e
編集モードに入り、次の内容をファイルに追加します:
# 每周一备份数据库 0 0 * * 1 /usr/bin/php /path/to/script.php
上記のスケジュールされたタスクの意味は、毎週月曜日の 00:00 に /path/to/script.php スクリプトを実行し、このスクリプトでデータベースのバックアップ操作を実装することです。
ターミナルにコマンド
crontab -l
を入力して、設定されたスケジュールされたタスクを表示します。
まとめ
上記の紹介を通じて、PHP が運用と保守の自動化を実現する上で重要な役割を果たしていることがわかります。初心者の場合は、上記のコード例を参照してさらに学習し、練習することができます。自動運用保守を行う場合には、セキュリティ、信頼性、安定性などの点にももちろん注意する必要がありますが、実際の運用においては、テスト環境を利用して実験を行うことをお勧めします。正式な運用環境には影響しません。
以上がPHP を使用して基本的な自動運用と保守を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。