インストールとセットアップ
重要:すべてのコマンドはルートからのものです。リポジトリを追加してキーを生成します。
更新: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
:
mysqlをインストールします。サーバー{ 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 = /
php5-fpmを再起動します。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