स्थापना और सेटअप
महत्वपूर्ण: सभी कमांड रूट से हैं।रिपॉजिटरी जोड़ें और कुंजी उत्पन्न करें:
अद्यतन:इको "डिबेट http://backports.debian.org/debian-backports lenn-backports main" >> /etc/apt/source.list इको "deb http://php53.dotdeb.org स्थिर सभी" >> / etc /apt/sources.list gpg --keyserver keys.gnupg.net --recv-key 89DF5277 && gpg -a --export 89DF5277 | उपयुक्त कुंजी जोड़ -
Nginx और php5-fpm स्थापित करें:एप्टीट्यूड अपडेट
हम फॉर्म में config /etc/nginx/nginx.conf लाते हैं:एप्टीट्यूड स्थापित -t लेनी-बैकपोर्ट्स "निग्नेक्स" apt-get install php5-cli php5-common php5-suhosin apt-get install php5-fpm php5-cgi
उपयोगकर्ता www-डेटा; कार्यकर्ता_प्रोसेस 1; # हमने संख्या को कोर की संख्या से रखा टाइमर_ समाधान 100ms; worker_rlimit_nofile 8192; कार्यकर्ता_परायणता -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; पर भेज देना; Keepalive_timeout 65; tcp_nodelay on; पर gzip; gzip_min_length 1100; #gzip_disable "msie6"; # तेज़, लेकिन केवल नगनेक्स के नए संस्करणों पर काम करता है gzip_disable "MSIE [1-6] \ _? (?!? * SV1)"; gzip_proxied कोई भी; gzip_comp_level 4; gzip_types text / plain text / css application / x-javascript text / xml application / xml application / xml + rss text / javascript; gzip_vary पर; /etc/nginx/conf.d/*.conf शामिल करें; / etc / nginx / साइट्स-सक्षम / * शामिल करें; }
हटाएं
/etc/nginx/sites-available/default
विन्यास उदाहरण
वर्डप्रेस सीएमएस के साथ उपयोग के लिए विन्यास,/etc/nginx/sites-enabled/example.ru
के उपयोग को ध्यान में रखते हुए:
Mysql स्थापित करें:सर्वर { 80 सुनो; server_name www.example.ru; rewrite ^ 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&osargs; } स्थान ~ * ^। + (js | css | png | jpg | jpeg | gif | ico) $ { access_log बंद; अधिकतम समाप्त; } स्थान ~ \ .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 पर; fastcgi_ignore_client_abort बंद; 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 बंद; access_log बंद; } स्थान = /robots.txt { सभी की अनुमति दें; log_not_found बंद; access_log बंद; } ## देखने को अक्षम करें .htaccess और .htpassword स्थान ~ /\.ht { सभी को अस्वीकार; } }
निर्देशिका और index.php फ़ाइल बनाएँ:apt-get mysql-server mysql-client php5-mysql स्थापित करें mkdir -p / var / www / var / run / mysqld आरोह - bind / var / run / mysqld / / var / www / var / run / mysqld /
Nginx और php5-fpm को पुनरारंभ करें:mkdir -p /var/www/example.ru इको "<? php phpinfo ();?>"> /var/www/example.ru/index.php
/etc/init.d/nginx पुनरारंभ करें /etc/init.d/php5-fpm पुनः आरंभ करें
सुरक्षा
निर्देशिकाओं पर सही अनुमति दें:हम इससे जुड़ी भेद्यता को ठीक करते हैं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 पते को हल करने में सक्षम नहीं होगी, हम इसे ठीक करते हैं:चुरोट = / var / www चदिर = /
Php5-fpm को पुनरारंभ करें:mkdir / var / www / {etc, lib}; cp / etc / मेजबान / var / www / etc / मेजबान; 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 पुनः आरंभ करें
हम अपनी साइट example.ru के पेज पर जाते हैं और हमारी साइट के phpinfo () इनपुट की प्रशंसा करते हैं।
पीएस ब्लॉग के लेखक डेबियन.प्रो ने मुझे इंकविज़िटर 68 एसएल के साथ सेटिंग्स का पता लगाने में मदद की।
नई:
Nginx 0.8.54 स्थापित करें
apt-get update apt-get install libxml2-dev libbz2-dev libcurl4-opensl-dev libmcrypt-dev libmhash2 libmhash-dev libpcre3 libpcre3-dev बनाना wget http://sysoev.ru/nginx/nginx-0.8.54.tar.gz टर zxf नगनेक्स-0.8.54.tar.gz सीडी नग्नेक्स-0.8.54 ./configure \ --conf- पथ = / etc / nginx / nginx.conf \ --err-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 -xy-temp-path = / var / lib / nginx /xy \ n --लॉक-पथ = / var / लॉक / nginx.lock \ --पिड-पथ = / var / run / nginx.pid \ - साथ-डिबग - साथ-http_dav_module \ - साथ-http_gzip_static_module \ - साथ-http_realip_module \ - साथ-http_stub_status_module \ --with-http_sub_module && मेक इनस्टॉल करें
डेबियन "निचोड़"
Php-fpm पैकेज को स्थापित करने के लिए आपको आवश्यकता होगी:UPD: mysql इंस्टालेशन में कुछ पंक्तियों को जोड़ा गया, अब जो सेटिंग काम करती है उसमें लोकलहोस्ट को निर्दिष्ट करता है। धन्यवाद इंकविज़िटर 68 एसएल ।इको "deb http://packages.dotdeb.org सभी निचोड़ें" >> /etc/apt/source.list wget http://www.dotdeb.org/dotdeb.gpg && cat dotdeb.gpg | apt- कुंजी जोड़ें - & aptitude अद्यतन