Nginx+Redis+Tomcat7



------Nginx的介绍

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
反向代理:在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相同的服务,对于用户来说,根本感觉不到任何差别。
反向代理的实现:
1)需要有一个负载均衡设备来分发用户请求,将用户请求分发到空闲的服务器上
2)服务器返回自己的服务到负载均衡设备
3)负载均衡将服务器的服务返回用户
以上的潜台词是:用户和负载均衡设备直接通信,也意味着用户做服务器域名解析时,解析得到的IP其实是负载均衡的IP,而不是服务器的IP,这样有一个好处是,当新加入/移走服务器时,仅仅需要修改负载均衡的服务器列表,而不会影响现有的服务。
负载均衡:是一种服务器或网络设备的集群技术。

---举个生活化的栗子:


很久以前,老王去饭店吃饭,需要先到饭店,七荤八素点好菜,坐等饭菜上桌,然后大快朵颐,不亦乐乎。

有了第三方订餐外卖平台(代理),老王懒得动身前往饭店,老王打个电话或用APP,先选好某个饭店,再点好菜,外卖小哥会送上门来。

由于某个品牌的饭店口碑特别好,食客络绎不绝涌入,第三方订餐电话也不绝于耳,但是限于饭店接待能力有限,无法提供及时服务,很多食客等得不耐烦了,纷纷铩羽而归,饭店老总看着煮熟的鸭子飞走了,心疼不已。

痛定思痛,老总又成立了几个连锁饭店,形成一个集群,对外提供统一标准的菜品服务,电话订餐电话400-xxx-7777,当食客涌入饭店总台,总台将食客用大巴运到各个连锁店,这样食客既不需要排队,各连锁店都能高速运转起来,一举两得,老总乐开了花,并为此种运作模式起名为“反向代理”(Reverse Proxy)。


----------windows下安装部署Nginx

-----下载及安装


1)下载地址:
  http://nginx.org

2)启动
  解压至D:\Nginx,在D:\Nginx\nginx-1.12.2处shift+鼠标右键,打开命令提示符。
        输入命令 start nginx
        检查是否成功:输入命令 tasklist /fi "imagename eq nginx.exe"
3)使用
  http://localhost:端口号(在D:\Nginx\nginx-1.12.2\conf\nginx.conf中侦听的端口号)

4)关闭
  nginx -s stop 或taskkill /F /IM nginx.exe > nul


---在windows下安装部署Nginx,需要我们修改相应的Nginx、tomcat配置文件

---有关Nginx的配置

在 #gzip on; 这一行后面增加集群配置:
upstream yycpsfora {
server localhost:8080; #tomcat1服务器的ip及端口
server localhost:8081; #tomcat2服务器的ip及端口
}
2)修改server 的端口和服务名如下:
   server {
           listen       800;
          server_name  localhost;       
3)在location /大括号中增加如下配置:  
 location / {
root html;
index index.html index.htm index.jsp;
add_header Cache-Control 'no-store';
client_max_body_size 100m;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_cache Z;
proxy_cache_valid 200 1m;
proxy_pass http://yycpsfora;#*特别注意:proxy_pass的值http://yycpsfora中的yycpsfora要与步骤1中的yycpsfora一样

}


----------有关Tomcat的配置


1) 修改server.xml中3个端口(为了避免两个tomcat发生冲突)
2)修改context.xml

 <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />

<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"host=“localhost"
port="6379"
database=“0"
maxInactiveInterval="60" />
配置中各个字段含义:
host:redis服务器ip地址
port:redis端口
database:数据库名,默认为0,请根据实际需要修改
maxInactiveInterval:session最大不活动时间,单位秒

3)在lib中加入所需6个jar包,在bin中加入tomcat-juli.jar文件(替换掉原来的)
4)配置两个tomcat的环境变量


------------测试

创建一个web项目,两个tomcat服务器加载同一个web项目,启动这两个tomcat。启动nginx,访问项目。若三者均可显示出tomcat页面即成功!


-----------------------------------------ok,windows下安装部署讲完了,我们讲下linux下安装部署nginx


1、下载Nginx及相关组件----------------------------------------
Linux系统是Centos 6.5 64位
su root  切换到root用户下安装
cd /usr/local/src/        进入用户目录下载程序
下载相关组件
wget http://nginx.org/download/nginx-1.10.2.tar.gz
wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
安装c++编译环境,如已安装可略过
期间会有确认提示输入y回车
Is this ok [y/N]:y

2、安装Nginx及相关组件--------------------------------------
openssl安装
tar zxvf openssl-fips-2.0.10.tar.gz
cd openssl-fips-2.0.10
./config && make && make install

pcre安装
tar zxvf pcre-8.40.tar.gz
cd pcre-8.40
./configure && make && make install

zlib安装
tar zxvf zlib-1.2.11.tar.gz
cd nginx-1.10.2
./configure && make && make install

3、启动Nginx-------------------------------------------------------
先找一下nginx安装到什么位置上了:  whereis nginx
进入nginx目录: cd /usr/local/nginx/
启动nginx:         /usr/local/nginx/sbin/nginx
若报错:error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory,按照下面方式解决
1.用whereis libpcre.so.1命令找到libpcre.so.1在哪里
2.用ln -s /usr/local/lib/libpcre.so.1 /lib64命令做个软连接就可以了
3.用sbin/nginx启动Nginx
4.用ps -aux | grep nginx查看状态
[root@localhost nginx]# whereis libpcre.so.1
[root@localhost nginx]# ln -s /usr/local/lib/libpcre.so.1 /lib64
[root@localhost nginx]# sbin/nginx
[root@localhost nginx]# ps -aux | grep nginx
进入Linux系统的图形界面,打开浏览器输入localhost会看到nginx欢迎页面,说明nginx启动成功

4、简单配置Nginx---------------------------------------------------------------
打开nginx配置文件,位于nginx目录下的conf文件夹下
vim conf/nginx.conf
简单介绍一下vim的语法
默认vim打开后是不能录入的,需要按键才能操作,具体如下:
开启编辑:按“i”或者“Insert”键
退出编辑:“Esc”键
退出vim:“:q”
保存vim:“:w”
保存退出vim:“:wq”
不保存退出vim:“:q!”
5、开启外网访问
 service iptables stop
Linux配置完毕了,使用另一台电脑而非安装nginx的电脑,用windows系统,配置一下host在“C:\Windows\System32\drivers\etc”下的hosts中配置一下域名重定向
10.11.13.22 nginx.test.com nginx.test1.com nginx.test2.com
然后cmd再ping一下这个域名是否正确指向了这个IP上,访问域名



--------最后,谈一谈心得。

原来一个web项目与服务器之间的关系为:1 《==》 1(tomcat)

现在一个web项目与服务器之间的关系为:1 《==》 1(nginx),而1个nginx中包含n个tomcat,这n个tomcat称之为集群,将请求数据均分发送至不同tomcat称之为负载均衡!


Windows下安装部署nginx:
 可以参考博客:http://blog.csdn.net/gds421570371/article/details/49121461









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值