>  기사  >  운영 및 유지보수  >  Linux 시스템에서 nginx를 최적화하는 방법

Linux 시스템에서 nginx를 최적화하는 방법

王林
王林앞으로
2023-05-12 20:34:231068검색

nginx 소개:

  • Nginx Nginx(엔진 x)는 고성능 HTTP 및 역방향 프록시 웹 서버이고, Nginx는 경량 웹 서버/역방향 프록시 서버입니다.

  • 떠오르는 스타 , Nginx의 매력은 많은 사람들을 그의 품에 빠지게 만들었습니다. 구성이 간단하고 구현 원리도 간단합니다. 로드 밸런싱 작업을 수행하는 것보다 더 좋은 것은 없습니다.

Linux 시스템에서 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.

 [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 시스템이란 무엇입니까

Linux는 UNIX와 유사한 운영 체제로 자유롭게 사용하고 배포할 수 있습니다. POSIX의 다중 사용자, 다중 작업, 다중 스레드 및 다중 CPU 운영 체제를 기반으로 하는 시스템으로 Linux를 사용하여 주요 Unix 도구 소프트웨어, 응용 프로그램 및 네트워크 프로토콜을 실행할 수 있습니다.

위 내용은 Linux 시스템에서 nginx를 최적화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제