PHP-FPMとは
PHP-FPM は PHP FastCGI マネージャーであり、PHP のみに使用されます
PHP-FPM は実際には PHP ソース コードのパッチであり、FastCGI プロセス管理を PHP パッケージに統合するように設計されています。 PHP ソース コードにパッチを適用する必要があり、PHP をコンパイルしてインストールした後に使用できるようになります。
最新のPHP 5.3.2のソースツリーにPHP-FPMを直接統合したブランチがダウンロードできるようになりました。次のバージョンではPHPのメインブランチに統合される予定だそうです。 Spawn-FCGI と比較すると、PHP-FPM は CPU とメモリの制御が優れており、前者はクラッシュしやすく、crontab で監視する必要がありますが、PHP-FPM にはそのような問題はありません。
PHP5.3.3 には php-fpm が統合されており、サードパーティ パッケージではなくなりました。 PHP-FPM は、メモリとプロセスを効果的に制御し、PHP 設定をスムーズにリロードできる、より優れた PHP プロセス管理方法を提供します。そのため、spawn-fcgi よりも多くの利点があるため、PHP に正式に組み込まれています。 PHP-FPM を有効にするには、./configure で –enable-fpm パラメーターを渡します。
上記は、CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI とは何ですか? からの抜粋です。
Nginxとは
Nginx (「エンジン x」) は、高性能 HTTP およびリバース プロキシ サーバー、および IMAP/POP3/SMTP プロキシ サーバーです。
Fedora17/16/15/14、CentOS6.2/6.1/6/5.8、Red Hat (RHEL)6.2/6.1/6/5.8 に Nginx/PHP-FPM をインストールして構成します
行動を始めましょう
STEP1. rootユーザーに切り替えます
【プレーン】
すー
## または ##
sudo-i
STEP2. 必要なソフトウェアソースをインストールします
2-1. Remi ソースを Fedora 17/16/15/14 にインストールします
【プレーン】
## Remi は Fedora 17、16、15 に依存しています
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
## Fedora 17 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-17.rpm
## Fedora 16 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-16.rpm
## Fedora 15 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-15.rpm
## Fedora 14 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-14.rpm
2-1. CentOS 6.2/6.1/6/5.8 および Red Hat (RHEL) 6.2/6.1//6/5.8 に Remi ソースをインストールします
【プレーン】
## Remi の CentOS 6 および Red Hat (RHEL) 6 への依存関係 ##
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
## CentOS 6 および Red Hat (RHEL) 6 ##
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
## Remi の CentOS 5 および Red Hat (RHEL) 5 への依存関係 ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
## CentOS 5 および Red Hat (RHEL) 5 ##
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
2-2. CentOS 6.2/6.1/6/5.8 および Red Hat (RHEL) 6.2/6.1/6/5.8 では、Nginx ソースも設定する必要があります
/etc/yum.repos.d/nginx.repo ファイルを作成し、次の内容を記述します
セントOS
【プレーン】
[nginx]
name=nginx リポジトリ
Baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
有効=1
レッドハット(RHEL)
【プレーン】
[nginx]
name=nginx リポジトリ
Baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
有効=1
STEP3. Nginx、PHP5.4.4、PHP-FPMをインストールします
3-1. フェドーラ 17/16/15/14
【プレーン】
yum --enablerepo=remi nginx php php-fpm php-common をインストールします
3-1. CentOS 6.2/5.8 および Red Hat (RHEL) 6.2/5.8 の場合
【プレーン】
yum --enablerepo=remi,remi-test nginx php php-fpm php-common をインストールします
STEP4. PHP5.4.4モジュール拡張機能をインストールします
APC (php-pecl-apc) – APC キャッシュ最適化ミドルウェア
CLI (php-cli) – PHP コマンドラインプラグイン
PEAR (php-pear) – 公式 PHP 拡張機能
PDO (php-pdo) – データベース PDO 拡張機能
MySQL (php-mysql) –MYSQL ドライバー
PostgreSQL (php-pgsql) – PostgreSQL ドライバー
MongoDB (php-pecl-mongo) – PHP MongoDB ドライバー
SQLite (php-sqlite) – SQLite V2 エンジンとドライバー
Memcache (php-pecl-memcache) – Memcache ドライバー
Memcached (php-pecl-memcached) – Memcached ドライバー
GD (php-gd) – GD 画像ライブラリ拡張
XML (php-xml) – XML 拡張子
MBString (php-mbstring) – マルチバイト文字列処理拡張機能
MCrypt (php-mcrypt) – MCrypt ライブラリ拡張
4-1. Fedora 17/16/15/14 でコマンドを使用します:
【プレーン】
yum --enablerepo=remi インストール php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php- mbstring php-mcrypt php-xml
4-1. CentOS 6.2/5.8 および Red Hat (RHEL) 6.2/5.8 で使用されるコマンド:
【プレーン】
yum --enablerepo=remi,remi-test インストール php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php -gd php-mbstring php-mcrypt php-xml
STEP5. httpd (Apache) サーバーを停止し、Nginx HTTP サービスと PHP-FPM を開始します
5-1. httpdを停止します
【プレーン】
/etc/init.d/httpd 停止
## または ##
サービス httpd が停止します
5-2. Nginxを起動する
【プレーン】
/etc/init.d/nginx 開始
## または ##
nginxサービス開始
5-3. PHP_FPMを起動します
【プレーン】
/etc/init.d/php-fpm 開始
## または ##
サービス php-fpm 開始
【翻訳者注】
この時点で、ステップ 9 に従って、ポート 80 を開くようにファイアウォールを構成します。ブラウザを開いて http://localhost と入力し、nginx のデフォルト ページを表示します。
STEP6. 起動時にNginxとPHP-FPMが自動的に起動するように設定します(Httpdの自動起動を無効にします)
6-1.HTTPDの起動を無効にする
【プレーン】
chkconfig httpd オフ
5-2 Nginx&PHP-FPMを起動時に自動起動するように設定する
[html]
chkconfig --nginx を追加
chkconfig --レベル 235 nginx
chkconfig --add php-fpm
chkconfig --levels 235 php-fpm
STEP7. Nginx&PHP-FPMの設定
7-1. Webサイトのディレクトリを作成します
ここでは、testsite.local をサイト ディレクトリとして使用します。実際のアプリケーションでは、www.csdn.com
など、対応するドメイン名をサイト ディレクトリとして使用することがよくあります。
[プレーン] plaincopy を表示します
##public_html ディレクトリと logs ログ ディレクトリを作成します
mkdir -p /srv/www/testsite.local/public_html
mkdir /srv/www/testsite.local/logs
##上記のディレクトリの所有者をnginxに変更します
chown -R nginx:nginx /srv/www/testsite.local
ログディレクトリを設定する
【プレーン】
mkdir -p /srv/www/testsite.local/public_html
mkdir -p /var/log/nginx/testsite.local
chown -R nginx:nginx /srv/www/testsite.local
chown -R nginx:nginx /var/log/nginx
7-2. nginx仮想ホストディレクトリの作成と設定
【プレーン】
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
/etc/nginx/nginx.conf ファイルを開き、include /etc/nginx/conf.d/*.conf" 行の後に次のコードを追加します (http ブロック内)
【プレーン】
/etc/nginx/sites-enabled/* を含めます
;
7-3. サイトtestsite.local
のnginx仮想ホストを設定します。
次の内容を含む testsite.local ファイルを /etc/nginx/sites-available/ ディレクトリに追加します。
【プレーン】
サーバー {
サーバー名 testsite.local
アクセスログ /srv/www/testsite.local/logs/access.log;
error_log /srv/www/testsite.local/logs/error.log;
ルート /srv/www/testsite.local/public_html;
場所 / {
インデックスインデックス.htmlインデックス.htmインデックス.php;
}
場所 ~ .php$ {
/etc/nginx/fastcgi_params を含めます
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_param SCRIPT_FILENAME /srv/www/testsite.local/public_html$fastcgi_script_name;
}
}
testsite.local を /etc/nginx/sites-enabled にリンクします
【プレーン】
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/testsite.local
サービスnginxの再起動
「ドメイン名」testsite.localを/etc/hostsに追加します
/etc/hosts ファイルを変更します
【プレーン】
cd /etc/nginx/sites-enabled/
127.0.0.1 localhost.localdomain localhost testsite.local
ステップ8.テスト
/srv/www/testsite.local/public_html/ に次の内容の Index.php ファイルを作成します
【プレーン】
cd /etc/nginx/sites-enabled/
phpinfo();
?>
にアクセスしてください
STEP9. ファイアウォールのiptables設定
Nginx Web サーバーのポート 80 を開き、/etc/sysconfig/iptables ファイルを変更して次の内容を追加します
【プレーン】
cd /etc/nginx/sites-enabled/
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables ファイアウォールを再起動します
【プレーン】
cd /etc/nginx/sites-enabled/
サービス iptables が再起動します
## または ##
/etc/init.d/iptables 再起動
作者:uuleaf