1. 架构说明: nginx + 4个tomcat
nginx作为前端代理,并且肩负负载均衡的作用,多个tomcat可以解决单台服务器高并发的性能问题,至于后端放几个tomcat要看你的服务器有多大内存,我的服务器是4核的CPU,8G内存。
2. nginx安装简单说明:
编译参数:
--prefix=/opt/mysql/ --enable-assembler --with-extra-charsets=complex \
--enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server \
--enable-local-infile --with-plugins=innobase
可以根据自己的环境修改配置
nginx.conf配置:
- user
www; - worker_processes
8; - error_log
/opt/logs/nginx/default/error/log; -
- pid
logs/nginx.pid; -
- worker_rlimit_nofile
51200; -
- events
{ -
use epoll; -
worker_connections 1024; #有的设置到65535 - }
-
- http
{ -
-
include mime.types; -
default_type application/octet-stream; -
-
server_names_hash_bucket_size 128; -
client_header_buffer_size 128k; -
large_client_header_buffers 8 128k; -
client_max_body_size 200m; -
client_body_buffer_size 128k; -
proxy_connect_timeout 600; -
proxy_read_timeout 600; -
proxy_send_timeout 600; -
proxy_buffer_size 16k; -
proxy_buffers 4 32k; -
proxy_busy_buffers_size 64k; -
log_format main '$remote_addr $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"'; -
access_log /opt/logs/nginx/default/access/log main; -
-
sendfile on; -
tcp_nopush on; -
tcp_nodelay on; -
-
keepalive_timeout 65; -
-
fastcgi_connect_timeout 300; -
fastcgi_send_timeout 300; -
fastcgi_read_timeout 300; -
fastcgi_buffer_size 64k; -
fastcgi_buffers 4 64k; -
fastcgi_busy_buffers_size 128k; -
fastcgi_temp_file_write_size 128k; -
-
gzip on; -
gzip_min_length 1k; -
gzip_buffers 4 16k; -
gzip_comp_level 8; -
gzip_http_version 1.1; -
gzip_types text/plain application/xml; -
gzip_vary on; -
-
proxy_temp_path /opt/nginx_cache/proxy_temp_path; -
proxy_cache_path /opt/nginx_cache/proxy_cache_path levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g; -
-
upstream testservers { -
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s; -
server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s; -
server 127.0.0.1:8082 weight=1 max_fails=2 fail_timeout=30s; -
server 127.0.0.1:8083 weight=1 max_fails=2 fail_timeout=30s; -
} -