インストールはapt-getで一発、なんだけどどうもレポジトリに入ってるバージョンが古い可能性。それでもいいって言うなら最低限
apt-get install nginx php5 php5-fpm
拡張も入れるなら
apt-get install nginx php5 php5-fpm hp5-cgi php5-cli php5-gd php5-curl
最新安定版使いたい場合
wget http://nginx.org/keys/nginx_signing.key apt-key add nginx_signing.key
/etc/apt/sources.list.d/sources.listに以下を追記
# nginx deb http://nginx.org/packages/debian/ wheezy nginx deb-src http://nginx.org/packages/debian/ wheezy nginx
「wheezy」の部分は各OSによって変わるので注意
- Debian
- 6.x : squeeze
- 7.x : wheezy
- Ubuntu
- 10.04 : lucid
- 11.10 : oneiric
- 12.04 : precise
- 12.10 quantal
あとはupdateしてインストールすれば最新安定版が入るはず。
初期設定
/etc/nginx/sites-available/defaultにて以下を変更
(コメントアウト) listen 80; (デフォルト:/usr/share/nginx/www;) root /var/www; (index.php追加) index index.html index.htm index.php; (初期設定ではログがないので追記) error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log;
PHPの部分がデフォルトだとコメントアウトされているので以下のように変更する
location ~ \.(php|html|htm)$ { ←拡張子がPHP以外でも実行できるように # fastcgi_split_path_info ^(.+\.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: (コメントアウト) fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; }
PHPの設定ファイルは/etc/php5/fpm/php.iniになる。以下のように変更
cgi.fix_pathinfo=0
/etc/php5/fpm/pool.d/www.confにて
(127.0.0.1:9000から変更) listen = /var/run/php5-fpm.sock (コメントアウト) listen.owner = www-data listen.group = www-data listen.mode = 0660 (拡張子がphp以外でも実行されるように) security.limit_extensions = .php .html .htm
最後再起動
service nginx restart service php5-fpm restart