测试环境
系统版本:win7
Nginx版本:nginx-1.8.1
Tomcat版本:tomcat-6.0.14
1动静分离配置
Nginx.conf 中 server中 server { listen 80; server_name 127.0.0.1; #访问链接是127.0.0.1/project开头的静态资源会在以下的目录下去找 location ~* ^/project/.*.(gif|jpg|jpeg|png|js|css|html)$ { root D:/develop_software/apache-tomcat-6.0.14/webapps; } #其他静态资源会在nginx的html目录下去找 location ~ .*.(gif|jpg|jpeg|png|bmp|swf|html)$ { root html; } }
2负载均衡配置
首先开启两个tomcat,这里为了演示方便,只是在一台机器上开启两个tomcat,分别运行在
8099和9099上
如下图所示
接下来配置nginx #user nobody; worker_processes 2; #nginx要开启的进程数 一般等于cpu的总核数 一般情况下开4个或8个就即可 #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; #一个server就是一个虚拟主机 运行在80端口 upstream test { #服务器集群名字 server 127.0.0.1:9099 weight=1 fail_timeout=30s;#服务器配置 weight是权重的意思,权重越大,分配的概率越大。 server 127.0.0.1:8099 weight=2 fail_timeout=30s; } server { listen 80; server_name 127.0.0.1; location ~* ^/zybb2b/.*.(gif|jpg|jpeg|png|js|css|html)$ { root D:/develop_software/apache-tomcat-8.0.9/webapps; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf|html)$ { root html; } location / { #以下三行代码是为了得到客户端真实ip proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://test; proxy_redirect default; index index.html index.htm index.jsp; } } }
另外 关于nginx高可用的问题,使用负载均衡以后,nginx成了入口,如果一旦挂掉 网站就访问不了,所以我们需要保证应用不能存在单点问题。
对高可用感兴趣的朋友可以看看这篇文章 nginx高可用配置
常见问题1?
开启nginx出现 “unknown directive "锘? ”
应该是使用记事本或者某些文本打开器打开了nginx的配置文件,添加了几个bom字符。
解决方式是 使用写字本或者NotePad++打开 保存即可 或者另存为无bom utf8格式
常见问题2?
Linux系统下 如果无法访问 注意看看是否是防火墙的原因