Ubuntu Server 10.10を使用しており、 NginX 、PHP 5.3.3、PostgreSQL、できればAPCおよびPHP Suhosinを使用してWebサーバー環境をセットアップしたい。
apt-get install postgresql
でPostgreSQLを、apt-get install nginx
でNginxを既に設定しています。
しかし、これらのPHPを設定するにはどうすればよいですか? apt-get install
を使用してこれを実行できますか、ソースをダウンロードしてコンパイルする必要がありますか?私はapt-get
を使用してそれをしたいと思います。
Nginxには PHP-FPM を使用したいと思います。私がインターネットで見つけたほとんどのチュートリアルは古く、PHPをコンパイルしますが、実稼働サーバーにはお勧めしません。
Nginx、APC、PostgreSQLでPHPを最も簡単に設定するにはどうすればよいですか?または少なくともPHP-FPM + Nginx?
UPDATE
新しいUbuntu Server 10.10をインストールし、コマンド Peterが提案 を追加してphp5-suhosin
を実行しました。 Nginxが正常に動作した後、生成された構成ファイルを次のように編集します。新しい設定ファイルをリロードした後、Nginxはindex.html
ファイルを使用して引き続き正常に動作しますが、index.php
ファイルを追加すると動作しなくなります。これは、PHP-FPM、APC、またはPHP関連の何かに関係していると思います。ただし、PHP-FPMの構成ファイルでもあります。
私が使用しているNginxの構成ファイルは次のとおりです。そのほとんどはデフォルトで生成されます。コメントをスキップしました。
server {
listen 80;
listen [::]:80 default ipv6only=on;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location /favicon.ico {
empty_gif;
}
location / {
root /var/www;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
Ubuntu 10.10以降では、これは新しいphp5-fpmパッケージでは簡単です
次のパッケージは必要なすべてを行います
nginx
-ウェブサーバーphp5-fpm
-Fast-CGI phpサーバーphp-apc
-phpのAPCパッケージphp5-pgsql
-PHP用のPostgreSQLモジュールpostgresql
-PostgreSQLデータベースサーバーすべて一緒にSudo apt-get install nginx php5-fpm php-apc php5-pgsql postgresql
また、Apache2がインストールされているかどうかを確認することをお勧めします。その場合は、Sudo apt-get remove Apache2
で削除して、Apacheとnginxがポート80を奪い合うのを防ぎます。
また、xdebug標準では、php5-fpmと同様にポート9000を使用することも必要です。したがって、xdebugを使用する場合、そのポートをたとえば9001に変更します
ボーナスとして、nginxの設定例(/ etc/nginx/sites-availableに配置し、/ etc/nginx/sites-enabledにシンボリックリンクします)
server {
listen 80;
server_name site.com;
access_log /data/log/www/site.com/access.log;
error_log /data/log/www/site.com/error.log;
root /data/www_data/site.com/public;
index index.php;
location = /favicon.ico {
empty_gif;
#return 204;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}