Nginx Nginx(엔진 x)는 고성능 HTTP 및 역방향 프록시 웹 서버이고, Nginx는 경량 웹 서버/역방향 프록시 서버입니다.
떠오르는 스타 , 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는 UNIX와 유사한 운영 체제로 자유롭게 사용하고 배포할 수 있습니다. POSIX의 다중 사용자, 다중 작업, 다중 스레드 및 다중 CPU 운영 체제를 기반으로 하는 시스템으로 Linux를 사용하여 주요 Unix 도구 소프트웨어, 응용 프로그램 및 네트워크 프로토콜을 실행할 수 있습니다.
위 내용은 Linux 시스템에서 nginx를 최적화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!