worker_processes 1; worker_connections 1024;
这两个参数的默认值,基本知足通常网站的平常需求。可是根据服务器情况,来作点微调,效果会更好!php
max_clients = worker_processes * worker_connections
默认配置中,一台服务器处理1000个并发。当服务器的磁盘慢时,就会致使 Nginx 在 I/O 操做上被锁住。css
为了不此类问题,能够作以下处理浏览器
worker_processes [number of processor cores]
接下来,咱们看看CPU有多少个内核缓存
cat /proc/cpuinfo |grep processor processor : 0 processor : 1 processor : 2 processor : 3
有4个内核,设置参数以下:安全
worker_processes 4;
有人认为这两个参数的值越大越好,这是不正确的。致使资源浪费的同时可能会致使一些严重的问题产生。服务器
基于安全缘由,不想让用户知道当前使用的 Nginx 版本信息等,须要作以下设置并发
server_tokens off;
若是遇到如下错误,你就应该提升上传大小限制了。svn
“Request Entity Too Large” (413)
参数设置php-fpm
client_max_body_size 20m; client_body_buffer_size 128k;
若是你想节省资源和带宽,引入浏览器缓存不失为一个好的方案。这里,主要针对一些静态文件。网站
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; }
两种方式:TCP/IP 和 Unix Socket。
# Pass PHP scripts to PHP-FPM location ~* \.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; }
在服务器根目录或公共目录下,有不少隐藏文件,好比.开头的文件,版本控制文件以及目录 .svn .htaccess 等。这些都不该该让用户看到。
location ~ /\. { access_log off; log_not_found off; deny all; }