Apache環境でPHP-FPM+FastCGIを動かす設定 | ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

ITサポート出張、ITシステム開発・保守をワンストップで|AWSクラウド|東京都中央区八丁堀

ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

電話でのお問い合わせ

Apache環境でPHP-FPM+FastCGIを動かす設定

   

Apache php-fpm fastcgiお客様の要件に合わせる為、色々なミドルウェアを組み合わせて環境を作ります。

今回はApache同梱のmod_phpを使わないでCGIでPHPを動作させる設定です。細かい部分はあるのですが、動くようにわかりやすく要点だけまとめます。

FastCGIの導入をします。

FastCGI

 

プロセス初回実行時に該当プロセスを一定時間サーバー内に保持することで、次回以降、実行時の「プロセスの起動/終了」を省略し、 高速化や、プロセスの起動/終了に伴うCPUへの負荷を軽減することで、速度面で優れるとされるモジュール版PHPと同等の処理能力を持つ動作方式です。

「FastCGI」を有効(ON)にすることで、一度「プロセスの起動」をすると、一定時間は「プロセスの終了」を することなく起動し続けることで、処理時間の大幅な短縮と、プロセスの起動/終了に伴うCPUへの負荷を軽減します。

 

@see https://www.xserver.ne.jp/manual/man_server_php_fastcgi.php

 

リポジトリを入れる

【EPEL】

【 RPMforge】

mod_fastcgiのインストール

 

mod_fastcgiモジュールを入れます。

PHPをFastCGIで動かす設定

所有権設定

実行権限を与えます。

 

バーチャルホスト設定

 

設定を適用させる。

 

これでひとまずfastcgiでPHPが動きます。

ここからPHP-FPMと連携させる

 

PHP-FPMはプロセスを制御・管理してくれる。

FPM (FastCGI Process Manager)

PHP の FastCGI 実装のひとつで、 主に高負荷のサイトで有用な追加機能を用意しています。

以下のような機能があります。

  • 緩やかな (graceful) 停止/起動 機能を含む高度なプロセス管理

  • 異なる uid/gid/chroot/environment でのワーカーの開始、 異なるポートでのリスン、異なる php.ini の使用 (safe_mode の代替)

  • 標準出力および標準エラー出力へのログ出力

  • opcode キャッシュが壊れた場合の緊急再起動

  • 高速なアップロードのサポート

  • “slowlog” – 実行時間が非常に長いスクリプトの記録 (スクリプト名だけでなく、PHP バックトレースも記録します。バックトレースを取得するために、 ptrace やそれと同等の仕組みを使ってリモートプロセスの execute_data を読みます)

  • fastcgi_finish_request() – 何か時間のかかる処理 (動画の変換や統計情報の処理など) を継続しながら リクエストを終了させてすべてのデータを出力させるための特殊な関数

  • 動的/静的 な子プロセスの起動

  • 基本的な SAPI の動作状況 (Apache の mod_status と同等)

  • php.ini ベースの設定ファイル

@see http://php.net/manual/ja/install.fpm.php

yumでPHP-FPMをインストール

設定ファイル

 

ディレクトリだけ作る(※空で大丈夫)

 

 

さっき設定したバーチャルホストの設定をPHP-FPM用に書き換える。

Apache既存のmod_phpモジュール用設定ファイルを無効化する。

Apacheに設定を反映させる

php-fpmを起動させよう

簡単にまとめるつもりが長くなっちゃいましたね。

お疲れ様です。

なんだか大変そうだなぁと思ったらご相談下さい。

優 ( エンジニア )

 

システムガーディアン爆弾処理班
アクセス負荷対策などNginxへの移行案件が多いこの頃。AzureやAWSなどクラウド案件も多くなってきました。

 

 - Linux/UNIX, PHP, テクニカル,

  関連記事

Wordpressサイト構築
WordPress よく使うプラグイン40 【2016年版】

WordPressで私がよく使うプラグインをまとめてみました。こういうのは社内でもフロントエンジニアの方が詳しいはずですが。サーバ側で仕組みを作ったり、WPの関 …

plesk11
Plesk11の基本設定からメールクライアント設定まで

サーバー操作といえば普通はコマンドラインによるコンソールですが、PleskやらWebminを使ってWindows Serverのように 『GUIでサーバーを管理 …

jQuery 伸びる メニュー
マウスオーバーでにょきっと伸びるメニュー jQuery

目次1 みんな大好きjQuery2 マウスオーバーで一瞬光る(ウィンク) みんな大好きjQuery 時々みかけるマウスでふれるとにょきっと伸びるメニューを jQ …

rsync サーバー バックアップ
rsyncによるバックアップ 公開鍵認証

目次1 rsyncとsshでバックアップする2 【ローカルバックアップサーバー】3 【リモートバックアップクライアント(データを抜かれる側)】4 【ローカルバッ …

HTC J Butterfly HTL21を分解
HTC J Butterfly HTL21 裏蓋を交換してみた。

こんにちは。カトーです。現在システムガーディアン社ではスマホ携帯交換ブームに。そんな私は未だにHTC J Butterfly HTL21 を使っているのですが、 …

WordPress ヘッダー
WordPressのプラグインを手動で無効化する

  検証環境でのプラグイン導入によるPHPやWordPressの関数エラーでの管理画面ログイン不能できない場合。とくかくエラー検証する時間もなく、手動 …

Windows ServerR2 バックアップスケジュール やり方
Windows Server 2008R2 バックアップ/スケジュール Corsair 540

目次1 まずバックアップ用のHDDを追加2 バックアップ機能をインストール!3 バックアップしてみよう4 スケジュール機能を使ったバックアップ5 スケジュールが …

linux プロセス 意味 とは top pstree
topでの主なプロセスの意味 pstree -pで樹系図表示 Linux

目次1 プロセスの意味2 topコマンドによるプロセスの表示3 *プロセスはプログラム実行に必要な処理情報の塊(プロセスの状態、資源へのアクセス使用状況など) …

台東区秋葉原
台東区 秋葉原 串揚げ 立吉 [はらぺこ日記]

会社帰りに寄ったおすすめのお店をご紹介なはらぺこ日記。 串揚げ立吉 秋原場UDX内のお店で『おまかせ』で変わり種の 美味しい串揚げをあげてくれます。 レモンから …

yamaha rtxルーター
YAMAHA RTX1200/1210ルーター 入門

お世話になっております。システムガーディアン加藤です。 昨年末にYamahaのRTX1200シリーズの後継RTX1210が発売されたから約1年が経過しました。ど …

トップページ