nginx php

「nginx php」の編集履歴(バックアップ)一覧はこちら

nginx php」(2010/06/17 (木) 12:11:19) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

nginx php nginxでphpを動作させる方法を書いています。 nginxでphpを動作させるにはspawn-fcgi(lighthttpdというパッケージに含まれている)というラッパーが必要になります。 つまりnginx ---> spawn-fcgi ---> phpという風に連携させます。 http://d.hatena.ne.jp/demuyan/20080726 ここを参考にしています。 phpのインストール sudo aptitude install php5-common php5-cgi php5-mysql php5-cli spawn-fcgiを使ってphpを動作させます。 spawn-fcgiはlighttpdに含まれています。 lighttpdのインストール php5-cgiをFastCGIとして起動させるスクリプト(/usr/bin/php5-fastcgi)を作成します。 /usr/bin/php5-fastcgiの内容 重要なのは「-C 2」です。 このCオプションはspawn-fcgiのプロセス数を意味します。アクセスするユーザー数が多ければ多いほど、この値を大きくしていきます。 アクセスがこれを超えると、いわゆるサーバーが落ちるという状態になります。 #!/bin/sh /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -C 2 -f /usr/bin/php5-cgi php5-cgiの実行権限を設定します。 sudo chmod +x /usr/bin/php5-fastcgi リンクを作成します。 sudo ln -s /usr/bin/php5-fastcgi /usr/bin/php-fastcgi 起動用スクリプト/etc/init.d/fastcgiを作成します。 /etc/init.d/fastcgiの内容 #!/bin/bash PHP_SCRIPT=/usr/bin/php-fastcgi RETVAL=0 case "$1" in start) echo "Starting fastcgi" $PHP_SCRIPT RETVAL=$? ;; stop) echo "Stopping fastcgi" killall -9 php5-cgi RETVAL=$? ;; restart) echo "Restarting fastcgi" killall -9 php5-cgi $PHP_SCRIPT RETVAL=$? ;; *) echo "Usage: php-fastcgi {start|stop|restart}" exit 1 ;; esac exit $RETVAL 権限を設定します。 sudo chmod 755 /etc/init.d/fastcgi fastcgiを起動してみます。 sudo /etc/init.d/fastcgi start サーバー起動時に起動するようにします。 sudo update-rc.d fastcgi defaults /etc/nginx/sites-available/domain1.comのserver毎にに以下の内容を追加します。 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/user/public_html/mydomain.com/public$fastcgi_script_name; include /etc/nginx/fastcgi_params; } /etc/nginx/sites-available/domain1.comの内容 server { listen 80; server_name www.domain1.com; access_log /home/demo/public_html/domain1.com/log/access.log; error_log /home/demo/public_html/domain1.com/log/error.log; location / { root /home/demo/public_html/domain1.com/public/; index index.html index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/demo/public_html/domain1.com/public$fastcgi_script_name; include /etc/nginx/fastcgi_params; } } server { listen 80; server_name domain1.com; access_log /home/demo/public_html/domain1.com/log/access.log; error_log /home/demo/public_html/domain1.com/log/error.log; location / { root /home/demo/public_html/domain1.com/public/; index index.html index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/demo/public_html/domain1.com/public$fastcgi_script_name; include /etc/nginx/fastcgi_params; } } nginxを再起動 sudo /etc/init.d/nginx stop sudo /etc/init.d/nginx start これでnginxでphpスクリプトが動作します。 ここまでがnginxの基本設定となります。 [[お薦めの海外サーバー>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]] linodeでnginxを作動させています。
nginx php nginxでphpを動作させる方法を書いています。 nginxでphpを動作させるにはspawn-fcgi(lighthttpdというパッケージに含まれている)というラッパーが必要になります。 つまりnginx ---> spawn-fcgi ---> phpという風に連携させます。 http://d.hatena.ne.jp/demuyan/20080726 ここを参考にしています。 phpのインストール sudo aptitude install php5-common php5-cgi php5-mysql php5-cli spawn-fcgiを使ってphpを動作させます。 spawn-fcgiはlighttpdに含まれています。 lighttpdのインストール php5-cgiをFastCGIとして起動させるスクリプト(/usr/bin/php5-fastcgi)を作成します。 /usr/bin/php5-fastcgiの内容 重要なのは「-C 2」です。 このCオプションはspawn-fcgiのプロセス数を意味します。アクセス数が多ければ多いほど、この値を大きくしていきます。 アクセスがこれを超えると、いわゆるサーバーが落ちるという状態になります。 #!/bin/sh /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -C 2 -f /usr/bin/php5-cgi php5-cgiの実行権限を設定します。 sudo chmod +x /usr/bin/php5-fastcgi リンクを作成します。 sudo ln -s /usr/bin/php5-fastcgi /usr/bin/php-fastcgi 起動用スクリプト/etc/init.d/fastcgiを作成します。 /etc/init.d/fastcgiの内容 #!/bin/bash PHP_SCRIPT=/usr/bin/php-fastcgi RETVAL=0 case "$1" in start) echo "Starting fastcgi" $PHP_SCRIPT RETVAL=$? ;; stop) echo "Stopping fastcgi" killall -9 php5-cgi RETVAL=$? ;; restart) echo "Restarting fastcgi" killall -9 php5-cgi $PHP_SCRIPT RETVAL=$? ;; *) echo "Usage: php-fastcgi {start|stop|restart}" exit 1 ;; esac exit $RETVAL 権限を設定します。 sudo chmod 755 /etc/init.d/fastcgi fastcgiを起動してみます。 sudo /etc/init.d/fastcgi start サーバー起動時に起動するようにします。 sudo update-rc.d fastcgi defaults /etc/nginx/sites-available/domain1.comのserver毎にに以下の内容を追加します。 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/user/public_html/mydomain.com/public$fastcgi_script_name; include /etc/nginx/fastcgi_params; } /etc/nginx/sites-available/domain1.comの内容 下のようになります。 server { listen 80; server_name www.domain1.com; access_log /home/demo/public_html/domain1.com/log/access.log; error_log /home/demo/public_html/domain1.com/log/error.log; location / { root /home/demo/public_html/domain1.com/public/; index index.html index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/demo/public_html/domain1.com/public$fastcgi_script_name; include /etc/nginx/fastcgi_params; } } server { listen 80; server_name domain1.com; access_log /home/demo/public_html/domain1.com/log/access.log; error_log /home/demo/public_html/domain1.com/log/error.log; location / { root /home/demo/public_html/domain1.com/public/; index index.html index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/demo/public_html/domain1.com/public$fastcgi_script_name; include /etc/nginx/fastcgi_params; } } nginxを再起動 sudo /etc/init.d/nginx stop sudo /etc/init.d/nginx start これでnginxでphpスクリプトが動作します。 ここまでがnginxの基本設定となります。 [[お薦めの海外サーバー>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]] linodeでnginxを作動させています。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。