nginx+tomcat 实现反向代理及负载均衡
来源:互联网 发布:qq飞车沙皇数据 编辑:程序博客网 时间:2024/05/16 08:18
环境搭建:一台nginx服务器 两台tomcat服务器nginx的安装可以参考我的另一篇博客《nginx安装》tomcat依赖于jdk
nginx 服务器 192.168.10.229:80
tomcat1 192.168.10.229:8080
tomcat2 192.168.10.194:8080
安装jdk ,首先下载jdk的压缩包,放在/usr/java/目录下,解压缩。建立一个软连接
root@ubuntu:/usr/java/jdk1.7.0_79# ln -s /usr/java/jdk1.7.0_79/ /usr/jdk1.7
配置环境变量,在/etc/profile中加入
root@ubuntu:/usr/java/jdk1.7.0_79# vi /etc/profileJAVA_HOME=/usr/jdk1.7CLASSPATH=.:$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME CLASSPATH
注意CLASSPATH=.:$JAVA_HOME/lib/ 前面的.:不要忘记了,否则在执行java 命令时会出现找不到main方法
重启或执行
root@ubuntu:/usr/java/jdk1.7.0_79# source /etc/profileroot@ubuntu:/usr/java/jdk1.7.0_79#
查看java版本
root@ubuntu:/usr/java/jdk1.7.0_79# java -versionjava version "1.7.0_79"Java(TM) SE Runtime Environment (build 1.7.0_79-b15)Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)root@ubuntu:/usr/java/jdk1.7.0_79# javac -versionjavac 1.7.0_79root@ubuntu:/usr/java/jdk1.7.0_79#
编写一个helloworld
root@ubuntu:/usr/java/jdk1.7.0_79# vi HelloWorld.javaclass HelloWorld{ public static void main(String[] args){ System.out.println("HelloWorld"); }}
编译执行
root@ubuntu:/usr/java/jdk1.7.0_79# javac HelloWorld.javaroot@ubuntu:/usr/java/jdk1.7.0_79# java HelloWorldHelloWorldroot@ubuntu:/usr/java/jdk1.7.0_79#
成功
下载两个tomcat 放在两台不同的服务器上,注意tomcat版本与jdk版本相对应,没有两台服务器就用不同的端口表示(server.xml所有的port都需要与另一个tomcat端口不一样)。我这里没有修改端口,默认为8080
分别在tomcat 目录下的webapps/ROOT目录下新建一个tomcat.html文件
tomcat1root@ubuntu:/usr/local/tomcat/apache-tomcat-6.0.47/webapps/ROOT# vi tomcat.html<h1>tomcat1</h1tomcat2root@ubuntu:/usr/tomcat/apache-tomcat-7.0.72/webapps/ROOT# vi tomcat.html<h1>tomcat2</h1>
启动两个tomcat
root@ubuntu:/usr/local/tomcat/apache-tomcat-6.0.47/bin# ./startup.sh Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-6.0.47Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-6.0.47Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-6.0.47/tempUsing JRE_HOME: /usr/jdkUsing CLASSPATH: /usr/local/tomcat/apache-tomcat-6.0.47/bin/bootstrap.jarroot@ubuntu:/usr/local/tomcat/apache-tomcat-6.0.47/bin# root@ubuntu:/usr/tomcat/apache-tomcat-7.0.72/bin# ./startup.sh Using CATALINA_BASE: /usr/tomcat/apache-tomcat-7.0.72Using CATALINA_HOME: /usr/tomcat/apache-tomcat-7.0.72Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-7.0.72/tempUsing JRE_HOME: /usr/jdk1.7Using CLASSPATH: /usr/tomcat/apache-tomcat-7.0.72/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-7.0.72/bin/tomcat-juli.jarTomcat started.root@ubuntu:/usr/tomcat/apache-tomcat-7.0.72/bin#
启动成功
修改nginx.conf配置文件 添加
upstream tomcats{ server 192.168.10.229:8080; server 192.168.10.194:8080; } server { listen 801; server_name 192.168.10.229; location / { proxy_pass http://tomcats; } }
因为80端口被其他应用占用,这里我用801端口。location / 匹配任何路径,proxy_pass表示当路径匹配时 由tomcats去处理(http://表示 http服务,是url的前缀)tomcats 指向upstream tomcats 。如果有多个服务器,可以在upstream tomcats 中添加多个server,每一个server还可以通过weight 设置权重。nginx采用轮询的方式保证负载均衡。譬如输入http://192.168.10.229:801/url/tomcat.html 实际是由http://192.168.10.229:8080/url/tomcat.html和http://192.168.10.194:8080/url/tomcat.html 来处理请求。
重启nginx
现在通过访问nginx服务器来实验
- nginx+tomcat 实现反向代理及负载均衡
- nginx反向代理tomcat实现负载均衡
- nginx实现反向代理及负载均衡
- Nginx反向代理实现Tomcat集群服务器的负载均衡
- Nginx反向代理实现Tomcat集群服务器的负载均衡
- Nginx反向代理、负载均衡实现Tomcat集群
- Nginx+Tomcat反向代理,负载均衡。
- Nginx反向代理及负载均衡实现过程
- Nginx反向代理及负载均衡实现过程
- nginx 反向代理及负载均衡
- nginx负载均衡实践及反向代理
- Nginx的反向代理及负载均衡
- Nginx反向代理及负载均衡
- nginx反向代理及负载均衡
- nginx的反向代理及负载均衡
- Nginx实现反向代理和负载均衡
- nginx反向代理实现http负载均衡
- 使用Nginx反向代理实现负载均衡
- android canvas实现在图片上画图
- java 字符串前置处理
- json数据解析
- iOS10 APP提交审核你会碰到的坑
- 正则表达式识别车牌
- nginx+tomcat 实现反向代理及负载均衡
- error: Error retrieving parent for item: No resource found that matches the given name 'android:Wind
- 取object对像中的数据
- android编译系统分析(一)source build/envsetup.sh与lunch
- HashMap的实现原理
- 百度地图多点有向链接
- bootstrapfileinput文件上传
- MyBatis学习总结(七)——Mybatis缓存
- Navicat 提示Cannot create oci environment 解决方案