웹 컨테이너는 웹 애플리케이션을 관리하고 배포하는 데 사용되는 웹 서버(Python의 웹 컨테이너에는 web.py 등이 포함됨)라고 더 정확하게 불러야 합니다.
그래서 Nginx는 공식적으로 웹 컨테이너입니다. /역방향 프록시 및 이메일(IMAP/POP3) 프록시 서버, BSD와 유사한 라이센스로 출시됨.
더 적은 메모리를 차지하고 강력한 동시성 기능을 제공하는 것이 특징입니다. 실제로 nginx의 동시성 기능은 동일한 유형의 웹 서버 중에서 더 나은 성능을 발휘합니다. 중국 본토의 nginx 웹사이트 사용자에는 Baidu, JD.com, Sina, NetEase, Tencent, Taobao 등이 있습니다.다음은 정적 페이지를 처리하는 웹 컨테이너 역할을 하는 Nginx의 예입니다.
Linux 커널 매개변수 설정, nginx 매개변수 설정, php-fpm 설정, nginx 소스 코드 수정 및 재컴파일 등 다른 사람들의 튜닝 경험을 많이 읽었습니다. 먼저, nginx 매개변수 설정user www www; #worker进程的用户 worker_processes 8; #一般和CPU核数一致 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000; #error_log /www/log/nginx_error.log crit; #为了得到更好的IO我是关闭日志的 pid /usr/local/nginx/nginx.pid; worker_rlimit_nofile 204800; events { use epoll; worker_connections 204800; } http { include mime.types; default_type application/octet-stream; charset utf-8; server_names_hash_bucket_size 128; client_header_buffer_size 2k; large_client_header_buffers 4 4k; client_max_body_size 8m; sendfile on; tcp_nopush on; keepalive_timeout 60; fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inactive=5m; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 4k; fastcgi_buffers 8 4k; fastcgi_busy_buffers_size 8k; fastcgi_temp_file_write_size 8k; fastcgi_cache TEST; fastcgi_cache_valid 200 302 1h; fastcgi_cache_valid 301 1d; fastcgi_cache_valid any 1m; fastcgi_cache_min_uses 1; fastcgi_cache_use_stale error timeout invalid_header http_500; open_file_cache max=204800 inactive=20s; open_file_cache_min_uses 1; open_file_cache_valid 30s; tcp_nodelay on; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; server { listen 8080; server_name localhost; index index.php index.htm; root /www/html/; location /status { stub_status on; } location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ { expires 30d; } log_format access '$remote_addr -- $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; #access_log /www/log/access.log access; } }정적 리소스에 액세스할 때, 작업자_프로세스 및 작업자_연결이 올바르게 설정되었다는 전제 하에 가장 큰 성능 향상은
open_file_cache max=204800 inactive=20s; open_file_cache_min_uses 1; open_file_cache_valid 30s;#🎜 🎜#캐시 파일 리소스입니다. 폭발적인 성능 증가를 테스트하기 위해 ab를 사용했습니다. 원래는 1,000개의 요청을 동시에 보내는 데 10초가 걸렸는데, 추가하고 나니 바로 0.4가 되었습니다. 처리량 속도가 수십K에서 1M로 변경되었습니다. 단일 코어 1G 가상 머신 구성이 있습니다. . . 그럼 PHP 파일에 액세스하는 것은 어떨까요?
fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2
keys_zone=TEST:10m
inactive=5m;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 4k;
fastcgi_buffers 8 4k;
fastcgi_busy_buffers_size 8k;
fastcgi_temp_file_write_size 8k;
fastcgi_cache TEST;
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 1m;
fastcgi_cache_min_uses 1;
fastcgi_cache_use_stale error timeout invalid_header http_500;
효율성을 크게 향상시킬 수 있습니다
nginx 효율성을 향상시키는 가장 효과적인 방법은 다양한 캐시를 활성화하는 것입니다!
더 많은 Nginx 관련 기술 기사를 보려면
Nginx 사용 튜토리얼위 내용은 nginx는 웹 컨테이너인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!