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安装
1、下载nginx
.tar.gz文件
2、上传到linux系统,到/usr/local/目录下
3、对nginx进行解压缩
tar zxf nginx-1.8.0.tar.gz
4、安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc
yum install gcc-c++
5、 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
7、OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
8、进入/var ,临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
使用configure命令进行按装
cd /var
mkdir -p temp/nginx
./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
9、 先编译,再安装
make
make install
10、进入/usr/loacl/nginx/sbin中 启动nginx
./nginx
// 查看nginx进程
[root@centos701 sbin]# ps aux | grep nginx
root 63466 0.0 0.0 24892 764 ? Ss 17:18 0:00 nginx: master process ./nginx
nobody 63467 0.0 0.0 25320 1452 ? S 17:18 0:00 nginx: worker process
root 64584 0.0 0.0 112824 988 pts/0 S+ 17:19 0:00 grep --color=auto nginx
访问 http://192.168.146.132
关闭 nginx
./nginx -s stop
重新加载nginx
./nginx -s reload
充当静态资源服务器
访问 http://192.168.146.132 。默认/usr/local/redis/html 为根目录,默认访问根目录中的index.html
修改根目录配置
1、进入 /usr/local/redis/conf/redis.conf 中修改根目录配置
2、进入 /usr/local/nginx/sbin 重新启动nginx
./nginx -s reload
3、再访问http://192.168.146.132即可,默认的是访问的自己设置的根目录下的 index.html
正向代理
所谓的正向代理指是客户端代理
正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
反向代理
所谓的反向代理指是服务器端代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
负载均衡
1、先配置再/usr/local/中配置jdk
2、利用不同的端口来演示负载均衡
配置tomcat,将Tomcat复制然后分别修改server.xml中的端口等信息。
再将tomcat中webapp/ROOT/index.html中略微修改,达到页面不一样的效果即可
tomcat1中server.xm信息修改
tomcat2中server.xml信息修改
3、修改/usr/local/nginx/conf/nginx.conf中的配置文件
4、启动tomcat1和tomcat2,然后在重启nginx服务器
//再tomcat/bin下启动 tomcat
./startup.sh
// 在nginx/sbin下重启 nginx
./nginx -s reload
5、重新访问 http://192.168.146.132 发现负载均衡已经实现
通过tomcat和nginx实现动静分离
1、分别在tomcat中的webapp/ROOT/ 目录下 添加示例jsp页面,jsp页面中图片来自静态资源
2、在创建静态资源根目录,把静态资源放进去
3、配置nginx.conf ,实现动静分离
4、访问http://192.168.146.132/aaa.jsp 连续访问,即可看到效果