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; }