nginx+tomcat负载使用
Nginx+Tomcat搭建
版本
操作系统版本
Centos 6.4
Nginx版本
nginx-1.3.15.tar.gz
JDK版本
jdk-7u71-linux-i586 //jdk1.7
Tomcat版本
apache-tomcat-7.0.41.tar.gz
前置准备
可能要用到的包、工具
1.yum –y install lrzsz //上传下载工具,高大上的工具,再次鄙视那些用ftp工具的
2.yum –y install gcc gcc-c++ //两个包gcc和gcc-c++ 为了pcre的编译
3.yum –y install openssl* //ssl的支持
要是编译报错看错误提示,有的可能是少包的支持,没啥yum啥
关闭防火墙
首先把防火墙关闭:service iptables stop
再设置为永久关闭:chkconfig iptables off
一定要关,不然本地可能访问不了虚拟机上的apache
JDK安装
在oracle官网下载jdk1.7 jdk-7u71-linux-i586.rpm
在/opt下创建文件夹jdk
将jdk-7u71-linux-i586.rpm上传到/opt/jdk下
rpm -ivh jdk-7u71-linux-i586.rpm
之后修改配置文件
vi /etc/profile
在最后加上:
# jdk
export JAVA_HOME=/usr/java/jdk1.7.0_71
export ANDROID_JAVA_HOME=$JAVA_HOME
export JRE_HOME=/usr/java/jdk1.7.0_71/jre
export CLASSPATH=/usr/java/jdk1.7.0_71/lib
export PATH=$JAVA_HOME/bin:$PATH
保存退出之后执行
source /etc/profile //使更改的配置立即生效
然后输入
java –version查看jdk是否安装成功,出现版本信息表示安装完成
[root@localhost conf]# java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) Client VM (build 24.71-b01, mixed mode, sharing)
Tomcat安装
在/opt下创建文件夹tomcat
将apache-tomcat-6.0.37.tar.gz上传到/opt/tomcat下
- apache-tomcat-7.0.41.tar.gz
- mv apache-tomcat-7.0.41 tomcat1
- mv tomcat1 /usr/local/
- cp –r tomcat1 tomcat2
- vi /etc/profile修改配置文件
加入:
#tomcat
export TOMCAT_HOME=/usr/local/tomcat1
export TOMCAT_HOME=/usr/local/tomcat2
- 启动tomcat
/usr/local/tomcat1/bin/startup.sh
/usr/local/tomcat2/bin/startup.sh
显示
Using CATALINA_BASE: /usr/local/tomcat1
Using CATALINA_HOME: /usr/local/tomcat1
Using CATALINA_TMPDIR: /usr/local/tomcat1/temp
Using JRE_HOME: /usr/java/jdk1.7.0_71/jre
Using CLASSPATH: /usr/local/tomcat1/bin/bootstrap.jar
然后ps –ef|grep tomcat查看进程
最后IE中输入http://ip:端口看到如下页面证明tomcat安装成功
Nginx安装
在opt下创建文件夹nginx,将nginx-1.3.15.tar.gz上传到nginx文件夹下
tat –xzvf nginx-1.3.15.tar.gz
进入nginx-1.3.15中
执行
./configure --with-http_stub_status_module --with-http_ssl_module
执行make && make install
查看配置
/usr/local/nginx/sbin/nginx –t
如果屏幕显示以下两行信息,说明配置文件正确:
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully
启动nginx
/usr/local/nginx/sbin/nginx
IE输入IP:端口,出现如下表示安装nginx成功
Nginx负载配置
修改nginx.conf,配置文件内容如下
#user nobody;
#启动进程数
worker_processes 1;
#全局错误日志及PID文件
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
#工作模式及连接数上限
events {
worker_connections 1024;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
## 配置反向代理的后端tomcat集群
upstream web_server {
server localhost:8080 weight=1 max_fails=2 fail_timeout=30s;
server localhost:9090 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name localhost;
## 网页、视频、图片文件从本地读取,且定义在浏览器中缓存30天
location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
{
expires 30d;
}
## js、css文件从本地读取,且定义在浏览器中缓存1小时
location ~ .*\.(js|css)?$
{
expires 1h;
}
## 动态文件转发到后端的tomcat集群
location ~ .*\.(php|jsp|cgi|jhtml)?$ {
proxy_pass http://web_server;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
}
}
修改Tomcat配置文件server.xml
<Server port="8005" shutdown="SHUTDOWN"> //指定一个端口,这个端口负责监听关闭tomcat的请求
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"redirectPort="8443"/> //tomcat端口号
测试负载
在两个tomcat下加入工程test
mkdir /usr/local/tomcat1/webapps/test
mkdir /usr/local/tomcat2/webapps/test
在两个test工程下分别创建test.jsp,内容如下
<%@ page contentType="text/html;charset=UTF-8"%>
<html>
<head>
<title> Tomcat_test1</title>
</head>
<body>
<font color = "red" size = "20" >
<% out.print( "test111" ); %>
</font>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8"%>
<html>
<head>
<title> Tomcat_test2</title>
</head>
<body>
<font color = "red" size = "20" >
<% out.print( "test222" ); %>
</font>
</body>
</html>
启动tomcat+nginx
启动nginx:/usr/local/nginx/sbin/nginx
启动tomcat:
/usr/local/tomcat1/bin/startup.sh
/usr/local/tomcat2/bin/startup.sh
查看进程

在两个IE中输入ip:nginx端口/工程/jsp页面,最好是不同浏览器,出现如下表示搭建成功

注意:这么做只是测试,正常情况下后端的工程必须一致,不然相当于客户端发出了请求俩系统来响应,就出大事了
nginx+tomcat负载使用的更多相关文章
- nginx+tomcat负载均衡
最近练习nginx+tomcat负载均衡.根据一些资料整理了大体思路,最终实现了1个nginx+2个tomcat负载均衡. 安装JDK 1>进入安装目录,给所有用户添加可执行的权限 #chmod ...
- linux+nginx+tomcat负载均衡,实现session同步
linux+nginx+tomcat负载均衡,实现session同步 花了一个上午的时间研究nginx+tomcat的负载均衡测试,集群环境搭建比较顺利,但是session同步的问题折腾了几个小时才搞 ...
- Nginx + Tomcat 负载均衡配置详解
Nginx常用操作指南一.Nginx 与 Tomcat 安装.配置及优化1. 检查和安装依赖项 yum -y install gcc pcre pcre-devel zlib zlib-devel o ...
- Nginx+Tomcat负载均衡、动静分离群集
Nginx+Tomcat负载均衡.动静分离群集 目录 Nginx+Tomcat负载均衡.动静分离群集 一.Tomcat 1. Tomcat简介 2. Tomcat重要目录 二.Nginx负载均衡原理 ...
- Linux下Nginx+Tomcat负载均衡和动静分离配置要点
本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download 一.安装Nginx 下载源:wget http://nginx.org/pa ...
- Nginx+tomcat负载均衡时静态页面报404
百度到的问题解决BLOG http://os.51cto.com/art/201204/326843.htm nginx+2台tomcat负载均衡,应用程序已部署,单独访问tomcat时,可以访问到所 ...
- Nginx+tomcat负载均衡配置
Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.JAVA JDK ...
- Ubuntu下配置 keepalived+nginx+tomcat 负载均衡
本文力图阐述在 Ubuntu Server 环境下使用 Keepalived + Nginx + Tomcat 搭建高可用负载均衡环境的操作步骤和简约配置,这里不涉及性能调优.先说一下他们各自扮演的角 ...
- nginx+tomcat负载均衡策略
測试环境均为本地,測试软件为: nginx-1.6.0,apache-tomcat-7.0.42-1.apache-tomcat-7.0.42-2.apache-tomcat-7.0.42-3 利用n ...
- 同主机下Docker+nginx+tomcat负载均衡集群搭建
想用Docker模拟一下nginx+tomcat集群部署,今天折腾了一天,遇坑无数,终于在午夜即将到来之际将整个流程走通,借本文希望给同样遇到类似问题的小伙伴们留点线索. 主机环境是CentOS 7, ...
随机推荐
- python 学习分享-rabbitmq
一.RabbitMQ 消息队列介绍 RabbitMQ也是消息队列,那RabbitMQ和之前python的Queue有什么区别么? py 消息队列: 线程 queue(同一进程下线程之间进行交互) 进程 ...
- Buildroot ipa image
参考: https://github.com/csmart/ironic-python-agent/tree/buildroot/imagebuild/buildroot#buildroot-iron ...
- mongo数据库 启动报错
报错信息如下: [root@166 bin]# mongoMongoDB shell version v3.4.6-22-ga109a23connecting to: mongodb://127.0. ...
- 八、ISP 接口隔离原则
ISP应用的场景是某些类不符合SRP原则,但使用这些类的客户端应该根据它们的父类来使用(我感觉这句话应该改为:客户端应该根据它们的抽象类\接口来使用它们),而不是直接使用它们. 定义: 客户端不应该依 ...
- Servlet中文件上传
利用getReader()和getInputstream()上传 package control; import javax.servlet.ServletException; import java ...
- nginx索引目录配置
为了简单共享文件,有些人使用svn,有些人使用ftp,但是更多得人使用索引(index)功能.apache得索引功能强大,并且也是最常见得,nginx得auto_index实现得目录索引偏少,而且功能 ...
- 【bzoj1047】[HAOI2007]理想的正方形 二维RMQ
题目描述 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 输入 第一行为3个整数,分别表示a,b,n的值第二行至第a+1行每行为b个非 ...
- BZOJ4826 [Hnoi2017]影魔 【线段树 + 单调栈】
题目链接 BZOJ4826 题解 蒟蒻智力水平捉急orz 我们会发现相邻的\(i\)和\(j\)贡献一定是\(p1\),可以很快算出来[然而我一开始忘了考虑调了半天] 我们现在只考虑不相邻的 我们只需 ...
- 洛谷 P3168 [CQOI2015]任务查询系统 解题报告
P3168 [CQOI2015]任务查询系统 题目描述 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分. 超级计算机中的任务用三元组\((S_i,E_i,P_i) ...
- Tomcat学习笔记(三)
Tomcat连接器 tomcat连接器是tomcat的一个核心组件,在tomcat4中的实现原理如下 1.实现Connector接口 2.创建Request对象 3.创建Response对象 tomc ...