nginx结合tomcat发布动态jis页面

  1. 云栖社区>
  2. 博客>
  3. 正文

nginx结合tomcat发布动态jis页面

test56 2016-08-26 16:12:43 浏览3079
展开阅读全文
1.nginx的安装
安装依赖包
yum install -y pcre pcre-devel zlib zlib-devel gcc gcc-c++ openssl openssh openssl-devel

源码编译安装包
cd /opt
tar zxvf nginx-1.6.3.tar.gz
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_spdy_module --with-http_stub_status_module --with-pcre
参数详解
--with-http_stub_status_module:支持nginx状态查询
--with-http_ssl_module:支持https
--with-http_spdy_module:支持google的spdy,想了解请百度spdy,这个必须有ssl的支持
--with-pcre:为了支持rewrite重写功能,必须制定pcre
make
make install

启动nginx服务
/usr/local/nginx/sbin/nginx -t ###测试nginx配置文件是否有语法错误
/usr/local/nginx/sbin/nginx ###启动nginx
检查: 用浏览器访问本机ip(此处容易出现访问不了的原因,可以检查一下防火墙和selinux是否关闭)


2.配置java环境(JDK是 Java 语言的软件开发工具包
下载 /usr/local/jdk-6u32-linux-x64.bin
cd /usr/local
sh jdk-6u32-linux-x64.bin
ln -s jdk1.6.0_32/ java

vim /etc/profile   ###添加路径
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
 
source /etc/profile
测试java环境是否搭建好:
vim test.java
 public class test {
  public static void main(String[] args)
  {
         System.out.println("Hello World!");
   }
}

javac test.java
java test
可以printf出 Hello World!

3.安装tomcat
(tomcat可以解析jsp动态语言,和nginx一起使用)

tar zxvf /usr/local/apache-tomcat-7.0.70.tar.gz
ln -s apache-tomcat-7.0.70 tomcat
cd tomcat
sh bin/startup.sh ##tomcat开启命令

开启后查看端口
shutdown 端口:8005  主要负责启动关闭.   
    
ajp端口:8009 主要负责通过ajp均衡(常用于apache和tomcat整合)   
    
http端口:8080 可以通过web页面直接访问(nginx+tomcata整合)   
    
37f3339256ea3dba20739dd8df4d059cb048e3b2
默认发布页面
/usr/local/tomcat/webapps/ROOT/index.jsp

webapps/ROOT tomcat的默认发布目录

检查:172.16.1.99:8080 可以看到tomcat的主页

4.nginx配置可以默认跳转到8080端口

4.1 vim conf/nginx.conf ###jsp请求转发到8080端口
 location ~ \.jsp$ {
          proxy_pass http://172.25.26.1:8080;
    }    
将jsp请求全部转发到8080端口(tomcat默认输出)
访问:172.16.1.99/index.jsp (不能显示图片)
837a5ea8bcde4c0cf5c5b4a63da2d37959ed148e

4.2 vim test.jsp/usr/local/tomcat/webapps/ROOT/
  the time is <%=new java.util.Date() %>
 
完成tomcat+nginx的动态页面发布配置,当用户请求jsp文件页面时,nginx把请求转发到8080 端口(tomcat默认端口)然后tomcat处理这些请求。
访问:http:172.25.26.1/test.jsp
95da8247b13295e41b1e9e89bbe7c7e4f2f38555
刷新可以动态显示实时时间,说明配置成功。


5.负载均衡
实现负载均衡时前端的nginx做反向代理,不处理请求,请求由后端的server2,server3处理
负载均衡和反向代理的区别:
负载均衡:负载均衡前端的服务器只对请求的数据包做转发传递,后端realserver接收到的请求还是来自真正的访问页面的用户。在LVS的DR模式下,请求结果是直接由后端realserver服务器发送给客户端的。
反向代理 :反向代理接收用户请求,会代理用户重新发起新的请求给后端的服务器,最后也会把数据返回给客户端用户。对于后端的服务器来说,访问该节点的客户端就是反向代理服务器,并非真是的网站访问用户。
nginx_http_proxy_module:proxy代理模块,把请求抛给服务器节点
nginx_http_upstream_module:负载均衡模块实现网站的负载均衡功能及健康检查

配置前端的nginx server1:
ngnix
cd /usr/loccal/lnmp/tomacat
开启tomcat
bin/startup.sh
 
将之前做的web服务打包发送到后端的server2,server3
yum install openssh-clients.x86_64 -y
scp -r java/ tomcat/ 172.25.26.2:/usr/local/lnmp/
scp -r java/ tomcat/ 172.25.26.3:/usr/local/lnmp/
 
server2,3配置:
vim /etc/profile
export JAVA_HOME=/usr/local/lnmp/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
 
bin/startup.sh
java javac  ####查看环境是否配好
 
##http:172.25.26.2:8080/test.jsp
 
server1配置反向代理:
vim /usr/local/lnmp/nginx/conf/nginx.conf
  upstream tomcat {
        ip_hash;
        server 172.25.26.2:8080;
        server 172.25.26.3:8080;
 
 
        }
 location ~ \.jsp$ {
          proxy_pass http://tomcat;
    }
#注:ip_hash是一种算法,不同ip负载均衡(sticky也是ip负载均衡)

server2:vim /usr/local/tomcat/webapps/ROOT/test.jsp
the time is <%=new java.util.Date() %>
172.16.1.79

server3:vim /usr/local/tomcat/webapps/ROOT/test.jsp
the time is <%=new java.util.Date() %>
172.16.1.89

nginx -t
 nginx -s reload
测试:访问172.16.1.99/test.jsp
其实查看的是server2,3的数据界面,不同ip负载均衡

940fec823dbfdb0637035af5591bf262189b0a36
73732f036da502b6ad4e10324f2c930b87519bce

完成nginx+tomcat的搭建,并实现反向代理,达到负载均衡的效果。
 

网友评论

登录后评论
0/500
评论
test56
+ 关注