ホームページ > バックエンド開発 > PHPチュートリアル > PHP を使用して基本的な自動運用と保守を行う方法

PHP を使用して基本的な自動運用と保守を行う方法

WBOY
リリース: 2023-06-22 16:58:01
オリジナル
1598 人が閲覧しました

インターネット時代の今日、インターネット企業の発展には運用保守業務が不可欠となっており、運用保守の自動化により、より効率的かつ安定・安全なIT管理が実現します。 PHP は主流のプログラミング言語として、運用とメンテナンスの自動化においても重要な役割を果たしています。この記事では、PHPを使った基本的な自動運用保守の方法を紹介します。

1. 自動デプロイメント

自動デプロイメントは自動運用とメンテナンスの重要な側面であり、PHP にはオープンソース デプロイメント ツール Capistrano があり、コードの自動デプロイメントを簡単に実現できます。基本的な原理は、SSH プロトコルを使用してサーバーにリモート接続し、一連の自動化された操作を実行することです。 Capistrano を使用した自動 PHP デプロイメントの手順は次のとおりです。

  1. Capistrano のインストール

コマンド ライン ツールを使用してターミナルを開き、次のコマンドを入力します:

gem install capistrano
ログイン後にコピー
  1. 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
ログイン後にコピー

を入力して、デフォルトの展開構成ファイルを生成します。

  1. デプロイメント コード

ターミナルでプロジェクトのルート ディレクトリを入力し、次のコマンドを入力します。

cap production deploy
ログイン後にコピー

ここで、production はデプロイメント サーバーを指します。 config/deploy.rb で変更できます。

2. ログ監視

ログ監視は運用保守業務において欠かせないものであり、システムに異常が発生した場合、ログに関連する情報は問題の早期発見と解決に役立ちます。 . . PHP にはオープン ソースのログ収集ツールである Logstash があり、ログ データが変更されたときに指定したサーバーにデータを自動的にプッシュできます。 PHP ログ監視に Logstash を使用する手順は次のとおりです。

  1. Logstash のインストール

コマンド ラインに次のコマンドを入力します:

brew install logstash
ログイン後にコピー

Where brew は Mac OS システム上のパッケージ管理ツールです。他のシステムを使用している場合は、公式 Web サイトにアクセスしてインストール パッケージをダウンロードしてインストールできます。

  1. Logstash の構成

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 サーバーにプッシュします。

  1. Logstash の実行

ターミナルに次のコマンドを入力して 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 を使用する手順は次のとおりです。

  1. スクリプトの書き込み

指定されたタスク コードを対応するスクリプト ファイルに書き込みます。

  1. スケジュールされたタスクを追加します

ターミナルに次のコマンドを入力します:

crontab -e
ログイン後にコピー

編集モードに入り、次の内容をファイルに追加します:

# 每周一备份数据库
0 0 * * 1 /usr/bin/php /path/to/script.php
ログイン後にコピー

上記のスケジュールされたタスクの意味は、毎週月曜日の 00:00 に /path/to/script.php スクリプトを実行し、このスクリプトでデータベースのバックアップ操作を実装することです。

  1. スケジュールされたタスクの表示

ターミナルにコマンド

crontab -l
ログイン後にコピー

を入力して、設定されたスケジュールされたタスクを表示します。

まとめ

上記の紹介を通じて、PHP が運用と保守の自動化を実現する上で重要な役割を果たしていることがわかります。初心者の場合は、上記のコード例を参照してさらに学習し、練習することができます。自動運用保守を行う場合には、セキュリティ、信頼性、安定性などの点にももちろん注意する必要がありますが、実際の運用においては、テスト環境を利用して実験を行うことをお勧めします。正式な運用環境には影響しません。

以上がPHP を使用して基本的な自動運用と保守を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート