インストールとセットアップ
重要:すべてのコマンドはルートからのものです。リポジトリを追加してキーを生成します。
更新:echo "deb http://backports.debian.org/debian-backports lenny-backports main" >> /etc/apt/sources.list echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list gpg --keyserver keys.gnupg.net --recv-key 89DF5277 && gpg -a --export 89DF5277 | apt-key add-
nginxとphp5-fpmをインストールします。適性の更新
構成/etc/nginx/nginx.confを次の形式にします。aptitude install -t lenny-backports "nginx" apt-get install php5-cli php5-common php5-suhosin apt-get php5-fpm php5-cgiをインストール
 ユーザーwww-data;
 worker_processes 1;  #コアの数で数を入れます
 timer_resolution 100ms;
 worker_rlimit_nofile 8192;
 worker_priority -5;  #優先度を上げる
 error_log /var/log/nginx/error.log;
 pid /var/run/nginx.pid;
イベント{
     worker_connections 1024;
 }
 http {
     /etc/nginx/mime.typesを含めます。
     access_log /var/log/nginx/access.log;
     sendfile on;
     keepalive_timeout 65;
     tcp_nodelay on;
     gzip on;
     gzip_min_length 1100;
     #gzip_disable "msie6";  #より高速ですが、nginxの新しいバージョンでのみ動作します
     gzip_disable "MSIE [1-6] \。(?!。* SV1)";
     gzip_proxied any;
     gzip_comp_level 4;
     gzip_typesテキスト/プレーンテキスト/ cssアプリケーション/ x-javascriptテキスト/ xmlアプリケーション/ xmlアプリケーション/ xml + rssテキスト/ javascript;
     gzip_vary on;
     include /etc/nginx/conf.d/*.conf;
     include / etc / nginx / sites-enabled / *;
 }
/etc/nginx/sites-available/default
      
      削除し
/etc/nginx/sites-available/default
      
      構成例
chroot/etc/nginx/sites-enabled/example.ru
      
      使用を考慮に入れた、WordPress CMSで使用するための
/etc/nginx/sites-enabled/example.ru
      
      :
サーバー{
	 80を聞きます。
	 server_name www.example.ru;
	リライト^ http://example.ru$request_uri? 永久;  #301リダイレクト
 }
サーバー{
     80を聞きます。
	 server_name example.ru; 
	 root /var/www/example.ru;
	 index index.php;
	場所/ {
		 try_files $ uri $ uri / /index.php?q=$uri&$args;
	 }
	 location〜* ^。+。(js | css | png | jpg | jpeg | gif | ico)$ {
		 access_log off;
		最大有効期限。
	 }
	場所〜\ .php $ {
		 #fastcgi_split_path_info ^(。+ \。php)(。*)$;
		 fastcgi_pass 127.0.0.1:9000;
		 fastcgi_index index.php;
		 fastcgi_param DOCUMENT_ROOT /example.ru;
		 fastcgi_param SCRIPT_FILENAME /example.ru$fastcgi_script_name;
		 fastcgi_param PATH_TRANSLATED /example.ru$fastcgi_script_name;
		 fastcgi_paramsを含めます。
		 fastcgi_param QUERY_STRING $ query_string;
		 fastcgi_param REQUEST_METHOD $ request_method;
		 fastcgi_param CONTENT_TYPE $ content_type;
		 fastcgi_param CONTENT_LENGTH $ content_length;
		 fastcgi_intercept_errors on;
		 fastcgi_ignore_client_abort off;
		 fastcgi_connect_timeout 60;
		 fastcgi_send_timeout 180;
		 fastcgi_read_timeout 180;
		 fastcgi_buffer_size 128k;
		 fastcgi_buffers 4 256k;
		 fastcgi_busy_buffers_size 256k;
		 fastcgi_temp_file_write_size 256k;
	 }
	
	場所= /favicon.ico {
		 log_not_found off;
		 access_log off;
	 }
	 location = /robots.txt {
		すべて許可;
		 log_not_found off;
		 access_log off;
	 }
	 ## .htaccessおよび.htpasswordの表示を無効にする 
	場所〜/\.ht {
		すべてを拒否します。
	 }
 }
ディレクトリとindex.phpファイルを作成します。apt-get install mysql-server mysql-client php5-mysql mkdir -p / var / www / var / run / mysqld mount --bind / var / run / mysqld / / var / www / var / run / mysqld /
nginxとphp5-fpmを再起動します。mkdir -p /var/www/example.ru echo "<?php phpinfo();?>"> /var/www/example.ru/index.php
/etc/init.d/nginx restart /etc/init.d/php5-fpm restart
安全性
ディレクトリに適切なアクセス許可を設定します。に関連する脆弱性を修正しますchown -R www-data /var/www/example.ru && chmod -R 750 /var/www/example.ru
 ロケーション〜.php $ {   、このために/etc/php5/fpm/php.iniに書き込みます chrootを有効にして、システムへのPHPアクセスを制限します。 これを行うには、ファイル/etc/php5/fpm/php5-fpm.confを編集して、次のように記述します。cgi.fix_pathinfo = 0
次に、PHPがアドレスを解決できないという問題が発生します。修正します。chroot = / var / www chdir = /
 mkdir / var / www / {etc、lib};
 cp / etc / hosts / var / www / etc / hosts;
 cp /etc/resolv.conf /var/www/etc/resolv.conf;
 cp /lib/libnss_dns.so.2 /var/www/lib/libnss_dns.so.2 //システムは32ビット
 cp /lib64/libnss_dns.so.2 /var/www/lib64/libnss_dns.so.2 //システムは64ビットです /etc/init.d/php5-fpm restart
サイトexample.ruのページに移動し、サイトのphpinfo()入力を賞賛します。
PSブログDebian.proの著者は、inkvizitor68slの設定を理解するのを助けてくれました。
新規:
Nginx 0.8.54をインストールします
apt-get update apt-get install libxml2-dev libbz2-dev libcurl4-openssl-dev libmcrypt-dev libmhash2 libmhash-dev libpcre3 libpcre3-dev make wget http://sysoev.ru/nginx/nginx-0.8.54.tar.gz tar zxf nginx-0.8.54.tar.gz cd nginx-0.8.54 ./configure \ --conf-path = / etc / nginx / nginx.conf \ --error-log-path = / var / log / nginx / error.log \ --http-client-body-temp-path = / var / lib / nginx / body \ --http-fastcgi-temp-path = / var / lib / nginx / fastcgi \ --http-log-path = / var / log / nginx / access.log \ --http-proxy-temp-path = / var / lib / nginx / proxy \ --lock-path = / var / lock / nginx.lock \ --pid-path = / var / run / nginx.pid \ --with-debug --with-http_dav_module \ --with-http_gzip_static_module \ --with-http_realip_module \ --with-http_stub_status_module \ --with-http_sub_module make && make install
Debian「スクイーズ」
php-fpmパッケージをインストールするには、次のものが必要です。UPD: mysqlインストールに数行を追加し、設定でlocalhostを指定できるようになりました。 inkvizitor68slに感謝します 。echo "deb http://packages.dotdeb.org squeeze all" >> /etc/apt/sources.list wget http://www.dotdeb.org/dotdeb.gpg && cat dotdeb.gpg | apt-key add-&& aptitude update