测试环境
系统版本: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系统下 如果无法访问 注意看看是否是防火墙的原因