没有合适的资源?快使用搜索试试~ 我知道了~
首页【LINUX】Nginx + Tomcat 动静分离实现负载均衡
资源详情
资源评论
资源推荐

0.前期准备
使用 环境。安装 默认安装,一个 项目,安装 默认安装等。
1.一份 Nginx.conf 配置文件
# 定义 Nginx 运行的用户 和 用户组 如果对应服务器暴露在外面的话建议使用权限较小的用户 防止被入侵 #
user www www; #Nginx 进程数, 建议设置为等于 CPU 总核心数 worker_processes 8; #开启全局错误日志类
型 error_log /var/log/nginx/error.log info; # 进程文件 pid /var/run/nginx.pid; #一个 Nginx
进程打开的最多文件描述数目 建议与 ulimit -n 一致 # 如果面对高并发时 注意修改该值 ulimit -n 还有部分系
统参数 而并非这个单独确定 worker_rlimit_nofile 65535; events{ #使用 epoll 模型提高性能 use
epoll; # 单个进程最大连接数 worker_connections 65535; } http{ # 扩展名与文件类型映射表
include mime.types; # 默认类型 default_type application/octet-stream; sendfile on;
tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; #日
志 access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; #gzip
压缩传输 gzip on; gzip_min_length 1k; #最小 1K gzip_buffers 16 64K; gzip_http_version
1.1; gzip_comp_level 6; gzip_types text/plain application/x-javascript text/css
application/xml application/javascript; gzip_vary on; # 负载均衡组 # 静态服务器组
upstream static.zh-jieli.com { server 127.0.0.1:808 weight=1; } # 动态服务器组
upstream zh-jieli.com { server 127.0.0.1:8080; #server 192.168.8.203:8080; } #配置
代理参数 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP
$remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 65;
proxy_send_timeout 65; proxy_read_timeout 65; proxy_buffer_size 4k; proxy_buffers 4
32k; proxy_busy_buffers_size 64k; # 缓存配置 proxy_cache_key '$host:
$server_port$request_uri'; proxy_temp_file_write_size 64k; proxy_temp_path
/dev/shm/JieLiERP/proxy_temp_path; proxy_cache_path
/dev/shm/JieLiERP/proxy_cache_path levels=1:2 keys_zone=cache_one:200m inactive=5d
max_size=1g; proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
server{ listen 80; server_name erp.zh-jieli.com; location / { index index; #默认主页
为 /index #proxy_pass http://jieli; } location ~ .*\.(js|css|ico|png|jpg|eot|svg|
ttf|woff) { proxy_cache cache_one; proxy_cache_valid 200 304 302 5d;
proxy_cache_valid any 5d; proxy_cache_key '$host:$server_port$request_uri';
add_header X-Cache '$upstream_cache_status from $host'; proxy_pass http://static.zh-
jieli.com; # 所有静态文件直接读取硬盘 # root /var/lib/tomcat7/webapps/JieLiERP/WEB-INF ;
expires 30d; #缓存 30 天 } #其他页面反向代理到 tomcat 容器 location ~ .*$ { index index;
proxy_pass http://zh-jieli.com; } } server{ listen 808; server_name static;
location / { } location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff) { #所有静态文件直接
读取硬盘 root /var/lib/tomcat7/webapps/JieLiERP/WEB-INF ; expires 30d; #缓存 30 天 } }
}
基本配置这个文件,就可以实现负载了。但是里面的各种关系要了解就比较麻烦了。这篇博客,也不
是教学篇,是记录一下,方便以后自己看了。
2.基础讲解
现在假使有一台电脑 这台电脑,上面部署了 ,里面 端口有 的服务,
通过浏览器可以正常浏览网页。现在有一个问题 是一个比较全面的 容器,对静态网页的
处理,应该是比较费资源的,特别是每次都要从磁盘读取静态页面,然后返回。这中间会消耗
的资源,可能会使那些动态页面解析性能影响。秉承 哲学,一个软件只做一件事的原则。
就应该只处理 动态页面。这里就用到以前了解的 来进行反向代理。第一步代理,实
现动静网页分离。这个很简单的。
worker_processes 8; pid /var/run/nginx.pid; worker_rlimit_nofile 65535; events{
use epoll; worker_connections 65535; } http{ include mime.types; default_type
application/octet-stream; sendfile on; tcp_nopush on; tcp_nodelay on;
keepalive_timeout 65; types_hash_max_size 2048; proxy_redirect off; proxy_set_header
Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-
For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size
128k; proxy_connect_timeout 65; proxy_send_timeout 65; proxy_read_timeout 65;
proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k;
server{ listen 80; server_name xxx.com; location / { index index; } location
~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff) { proxy_pass http://192.168.8.203:8080;
expires 30d; } location ~ .*$ { index index; proxy_pass













安全验证
文档复制为VIP权益,开通VIP直接复制

评论0