Nginx & amp; PHP-FPM configuration and Optimization Guide (I) This article describes in Centos5.8/6.2 & amp; RedHat (RHEL) & nbsp; 5.8/6.2 LEMP/LNMP environment Nginx & amp; PHP-FPM WEB server configuration and Nginx & PHP-FPM configuration and Optimization Guide (on)
This article introduces the WEB server configuration and Optimization Guide for Nginx & PHP-FPM in LEMP/LNMP environment under Centos5.8/6.2 & RedHat (RHEL) 5.8/6.2.
Up to now, each software version is
- Nginx 1.2.2
- PHP & PHP-FPM5.4.4
If you have not set up a LEMP environment, refer to the Yum building process of a LEMP (or LNMP) high-performance WEB server under CentOS 5.8. In the "LEMP build Guide", I only gave the Nginx & PHP-FPM basic configuration instructions.
This article gives a more in-depth introduction to Nginx & PHP-FPM WEB server configuration.
Nginx configuration file can also refer to: http://wiki.nginx.org/NginxChs
Nginx & PHP-FPM configuration and Optimization Guide (I)
Nginx configuration file
Put the Nginx configuration file under the/etc/nginx path and run ls-l/etc/nginx output
total 36drwxr-xr-x. 2 root root 4096 Jul 11 19:52 conf.d-rw-r--r--. 1 root root 964 Jul 3 19:53 fastcgi_params-rw-r--r--. 1 root root 2837 Jul 3 19:53 koi-utf-rw-r--r--. 1 root root 2223 Jul 3 19:53 koi-win-rw-r--r--. 1 root root 3463 Jul 3 19:53 mime.types-rw-r--r--. 1 root root 643 Jul 3 19:50 nginx.conf-rw-r--r--. 1 root root 596 Jul 3 19:53 scgi_params-rw-r--r--. 1 root root 623 Jul 3 19:53 uwsgi_params-rw-r--r--. 1 root root 3610 Jul 3 19:53 win-utf
Nginx. conf
# Run user nginx; # Number of processes, which are usually set to the same number as the cpu: worker_processes 1; # global error log error_log/var/log/nginx/error. log warn; # PID/var/run/nginx. pid; # working mode and maximum number of connections events {# maximum number of concurrent connections for a single worker_process process worker_connections 1024;} # set the http server, with its reverse proxy function, server load balancer supports http {# set the mime type, which is determined by mime. the type file defines include/etc/nginx/mime. types; # set the default MIME type to binary byte stream default_type application/octet-stream; # log format, refer to the URL log_format main '$ remote_addr-$ remote_user [$ time_local] "$ request" ''$ status $ response" $ http_referer "'' "$ http_user_agent" "$ http_x_forwarded_for "'; # log storage path access_log/var/log/nginx/access. log main; # Enable and call Linux's sendfile () to provide file transfer efficiency # sendfile is generally set to on. if it is used for downloading and other application disk I/O heavy load applications, you can set it to off, to balance the disk and network I/O processing speed and reduce the system's uptime sendfile on; # whether to allow the use of socket TCP_NOPUSH or TCP_CORK option # tcp_nopush on; # specify the timeout time for client connection persistence. after this time, the server will turn off keepalive_timeout 65; # set to enable gzip compression, refer to URL # gzip on; # introduce include/etc/nginx/conf to the VM configuration file. d /*. conf ;}
Main configuration file nginx. conf parameter optimization points Nginx & PHP-FPM configuration and Optimization Guide (I)
1. worker_processes and worker_connections configuration
In the default configuration, the number of worker_processes and worker_connections is small, and only 1000 requests/second are allowed.
# Worker_processes 1; worker_connections 1024 by default;
Generally, worker_processes is set to the number of CPUs, and worker_connections is set to 1024. You can use cat/proc/cpuinfo | grep processor to view the number of CPUs
2. hide Ngnix version information
server_tokens off;
3. deny web access to system hidden files
location ~ /\. { access_log off; log_not_found off; deny all;}
4. restrict the maximum file upload size
client_max_body_size 20m;client_body_buffer_size 128k;
5. Nginx static file cache control
Browser cache is very helpful for saving bandwidth and easy to configure in Nginx
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d;}
6. Ngnix forward PHP requests to PHP-FPM
# Pass PHP scripts to PHP-FPMlocation ~* \.php$ { try_files $uri /index.php; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name;}
7. enable GZIP compression
gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/cssapplication/xml;gzip_vary on;
**************************************** ****
* Author: Ye Wentao
* Link to this article:
Nginx & PHP-FPM configuration and Optimization Guide (I)
* ***************** For reprinting, please indicate the source ***************