Nginx Nginx (engine x) は、高性能 HTTP およびリバース プロキシ Web サーバーです。Nginx は軽量 Web サーバー/リバース プロキシ サーバーです。
新星としての Nginx の魅力は、多くの人々を惹きつけて投資を受け入れてきました。構成も実装原理もシンプルです。負荷分散を行うことほど良いことはありません。
1. Nginx の同時実行性を最適化する
[root@proxy ~]# ab -n 2000 -c 2000 http://192.168.4.5/ Benchmarking 192.168.4.5 (be patient) socket: Too many open files (24) //提示打开文件数量过多
Nginx 構成を変更するファイルの同時実行量を増やします。
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf .. .. worker_processes 2; //与CPU核心数量一致 events { worker_connections 65535; //每个worker最大并发连接数 use epoll; } .. .. [root@proxy ~]# nginx -s reload
2. Linux カーネル パラメータを最適化します (ファイルの最大数)
[root@proxy ~]# ulimit -a //查看所有属性值 [root@proxy ~]# ulimit -Hn 100000 //设置硬限制(临时规则) [root@proxy ~]# ulimit -Sn 100000 //设置软限制(临时规则) [root@proxy ~]# vim /etc/security/limits.conf .. .. * soft nofile 100000 * hard nofile 100000 #该配置文件分4列,分别如下: #用户或组 硬限制或软限制 需要限制的项目 限制的值
最適化後のサーバーの同時実行性をテストします。
[root@proxy ~]# ab -n 2000 -c 2000 http://192.168.4.5/
3. Nginx パケット ヘッダー キャッシュの最適化
[root@proxy ~]# cat lnmp_soft/buffer.sh #!/bin/bash URL=http://192.168.4.5/index.html? for i in {1..5000} do URL=${URL}v$i=$i done curl $URL //经过5000次循环后,生成一个长的URL地址栏 [root@proxy ~]# ./buffer.sh .. .. 414 Request-URI Too Large //提示头部信息过大
Nginx 設定ファイルを変更し、パケット ヘッダー キャッシュ サイズを増やします
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf .. .. http { client_header_buffer_size 1k; //默认请求包头信息的缓存 large_client_header_buffers 4 4k; //大请求包头部信息的缓存个数与容量 .. .. } [root@proxy ~]# nginx -s reload
4. ページの圧縮
[root@proxy ~]# cat /usr/local/nginx/conf/nginx.conf http { .. .. gzip on; //开启压缩 gzip_min_length 1000; //小文件不压缩 gzip_comp_level 4; //压缩比率 gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; //对特定文件压缩,类型参考mime.types .. ..
5. サーバー メモリ キャッシュ
http { open_file_cache max=2000 inactive=20s; open_file_cache_valid 60s; open_file_cache_min_uses 5; open_file_cache_errors off; //设置服务器最大缓存2000个文件句柄,关闭20秒内无请求的文件句柄 //文件句柄的有效时间是60秒,60秒后过期 //只有访问次数超过5次会被缓存 }
6. ブラウザは静的データをキャッシュしますローカルでの
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ { expires 30d; //定义客户端缓存时间为30天 } } [root@proxy ~]# cp /usr/share/backgrounds/day.jpg /usr/local/nginx/html [root@proxy ~]# nginx -s reload
Linux は、無料で使用し、自由に普及できる UNIX に似たオペレーティング システムです。POSIX ベースのマルチユーザー、マルチ-タスク、マルチスレッド、および Linux を使用して主要な Unix ツール ソフトウェア、アプリケーション、およびネットワーク プロトコルを実行するマルチ CPU オペレーティング システム。
以上がLinux システムで nginx を最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。