nginx性能優化參考javascript
1)調整配置文件中的配置項的值(配置文件:nginx.conf)css
worker_processes auto;開啓的進程數,通常配置爲跟邏輯CPU核數同樣
worker_rlimit_nofile 51200;1個nginx進程可打開的最大文件描述符數目的數量前端
events
{
use epoll;設置工做模式爲消息通知模式(epoll),輪詢模式效率低(select)
worker_connections 51200;每一個進行可打開的最大鏈接數據,受最大文件描述符數目的限制
multi_accept on;開啓後,保持儘量的接受更多的鏈接請求
}java
keepalive_timeout 60;保持鏈接的超時時間,可將數字配置更小nginx
可根據實際狀況來決定是否關閉
access_log /home/wwwlogs/access.log access;
access_log off;性能優化
--開啓gzip壓縮
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";app
--設置存儲的資源的過時時間
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}異步
location ~ .*\.(js|css)?$
{
expires 12h;
}性能
location ~ /\.
{
deny all;
}優化
nginx 優化配置補充
uset root root;
在http中增長下列配置項
gzip_http_version 1.0;
include mime.types;
default_type application/octet-stream;
可在http server location中配置
sendfile on;
#每次調用sendfile()時,最大傳輸的數據大小
sendfile_max_chunk 512k;
壓縮可配置在http server location塊
需加載模塊
ngx_http_gzip_module
ngx_http_static_module
ngx_http_gunzip_module
前端代理中加上
proxy_set_header Accept-Encoding 'gzip'
同步阻塞 進程->內核發送IO,一直等待內核響應,不接受新請求,請求IO未完成,則進程一直等待,輪詢查看IO是否完成,完成後進程將IO結果返回給客戶端。
同步非阻塞 進程->內核發送IO,一直等待內核響應,可接受新請求,請求IO未完成,則進程不等待,輪詢查看IO是否完成,完成後進程將IO結果返回給客戶端。
異步阻塞 進程->內核發送IO,不等待內核響應,可接收新請求,請求IO未完成,則內核一直等待,完成後再有內核通知進程,進程再將IO結果返回給客戶端。
異步非阻塞 進程->內核發送IO,不等待內核響應,可接收新請求,請求IO未完成,則內核不等待,完成後再有內核通知進程,進程再將IO結果返回給客戶端。
nginx中針對mp3的優化,須要安裝ysam ffmpeg 源碼包
./configure --enable-shared --prefix=/usr/loacal/ffmpeg
動態連接庫
vi /etc/ld.so.conf
加入:/usr/local/ffmpeg/lib
執行 ldconfig 生效
修改/usr/local/ffmpeg/lib目錄下的文件權限爲777
cd /usr/local/ffmpeg/lib/
chmod 777 *