nginx介绍
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx的安装
- 下载nginx

- 上传到linux操作系统

- 对nginx进行解压缩
 tar zxf nginx-1.8.0.tar.gz
- 
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc: yum install gcc-c++
- 
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。 
yum install -y pcre pcre-devel
6.zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
- OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
- 使用configure命令进行按装
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
- 编译安装
make
make  install
- 启动nginx
./nginx
- 关闭nginxx
./nginx -s  stop
- 重新加载nginx
./nginx -s reload
充当静态资源服务器

http://192.168.18.201/images/bbb.jpg
反向代理
所谓的正向代理指是客户端代理

所谓的反向代理指是服务器端代理

负载均衡
- 解压tomcat

- 修改tomcat1的端口



- 修改tomcat2端口



- 分别修改index.jsp


- 配置nginx充当负载均衡服务器
修改nginx.conf


可以修改权重 weight=2 权重越大,获得请求次数就会越多。
资源的动静分离
- 
把aaa.jsp复制到tomcat1/webapps/Root目录下 
- 
把aaa.jsp复制到tomcat2/webapps/Root目录下 
<%@ page language="java" import="java.util.Date,java.text.SimpleDateFormat" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
 <h1>这是tomcat2主页</h1>
 <%
 Date date=new Date();
 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 String strDate=sdf.format(date);
 out.println(strDate+"<br>");
 %>
 <img src="images/aaa.jpg">
</body>
</html>
- 配置nginx.conf
 upstream tomcat{
 server 192.168.18.201:8081 weight=2;
 server 192.168.18.201:8082;
}
 server {
 listen       80;
 server_name  localhost;
 #charset koi8-r;
 #access_log  logs/host.access.log  main;
 location / {
 proxy_pass   http://tomcat;
 index  index.html index.htm;
 }
location ~\.(jsp|do|action)$ {
 proxy_pass  http://tomcat;
 }
location ~\.(html|css|js|gif|jpg|png|bmp|swf)$ {
 root  /usr/local/staticresources;
 }
经过nginx 由nginx判断是jsp文件,走的tomcat
Aaa.jsp中有一个图片 <img src="images/aaa.jpg">
http://192.168.18.201/images/aaa.jpg 该地址也经过nginx,判断是jpg, 所以从nginx上加载图片。