1、前言介绍
Nginx主要起到一个请求的分发,以及返回资源给客户端的作用。一般静态资源会直接存储在Nginx缓存中,如html,css等,客户端请求后会直接从缓存中取得资源返回;而对于jsp,以及一些动态请求,Nginx将按配置把请求分发给应用服务器,应用服务器把处理结果返回给Nginx服务器,由Nginx统一返回给客户端。
2、Nginx的应用
1)Nginx的简单配置
在Nginx的安装目录(/usr/local/nginx/conf)下,找到nginx.conf文件,配置如下内容
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index2.htm;
}
error_page 500 502 503 504 /50x.html;
}
listen:表示代理服务器监听的端口号;如果配置多个server,listen不能相同
server_name:表示监听到请求后,需要跳转的地址
location:表示要跳转的具体信息,/ 表示匹配所有的请求
root:表示跳转到文件夹,此处配置的是nginx目录下html文件夹,可配置其他路径,如/usr/local
index:表示要跳转到root文件夹下的哪个文件,可设置多个,找不到第一个会找第二个...
error_page:错误信息配置
2)请求转发配置
upstream tomcatserver{
listen 8080;
server localhost;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://tomcatserver;
}
error_page 500 502 503 504 /50x.html;
}
通过proxy_pass配置请求转发地址,即通过80端口请求后会跳转到tomcatserver下配置的localhost:8080服务器。也就是所谓的反向代理。注意tomcatserver的命名,不应存在下划线,否者请求时会报错。
3、静态文件分离的配置
在实际的开发中,我们需要分文件类型来进行过滤,比如jsp直接给tomcat处理,因为nginx并不是servlet容器,没办法处理JSP,而html,js,css这些不需要处理的,直接给nginx进行缓存。
此时再直接输入localhost:80,则会报404错误了。但是输入localhost:80/index.jsp,就可以跳转到tomcat首页了。
4、负载均衡的设置
当一台服务器出现故障后,我们需要将请求自动转向另一台服务器,此时就需要Nginx的负载均衡的设置了,配置如下:
加上weight属性,该属性表示各服务器被访问到的权重,weight越高访问到的几率也就越高。