nginx-tomcat整合实现JAVA程序负载均

c#小王子 c#小王子 2022-03-23 313 Java

本组合使用软件各个版本:

Centos 5 Nginx-0.7.60-linux.tar.gz

tomcat5.5.27 for linux.zip jdk1_5_0_09-linux.bin pcre-7.8.tar.gz

操作系统安装不再详细说明,网上相关文档一大堆。


一.软件安装:


安装 JDK

将 jdk1_5_0_09-linux.bin 文件 cp 到/usr/local 目录下

添加权限:chmod u+x jdk1_5_0_09-linux.bin

执行安装:./ jdk1_5_0_09-linux.bin 按照提示输入 yes 即可完成安装

安装完成后会在/usr/local 下有个名为 jdk1.5.0_09 的目录

由于我做负载均衡,所以安装了两个 tomcat,解压 tomcat 到/usr/local/tomcat1 和/usr/local/tomcat2

分别进入/usr/local/tomcat1/bin 和/usr/local/tomcat2/bin 目录执行命令:chmod u+x *.Sh 设置权限

Tomcat1 保持不变,修改 tomcat2 下 conf 中 server.xml


<Server port="8005" shutdown="SHUTDOWN">
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />


将红色字体的端口更改成其他不使用的端口,例如:8005 更改为 9005,8080 更改为 8081,8009 更改为 9009


修改 tomcat2 下 bin 中的 startup.sh 和 shutdown.sh 添加以下内容


export JAVA_HOME=/usr/local/java1.5.0_09
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$CATALINA_2_HOME
export CATALINA_BASE=$CATALINA_2_BASE

vi /etc/profile 配置系统变量,打开后添加以下内容:

JAVA_HOME=/usr/local/java1.5.0_09
export JAVA_HOME
CATALINA_BASE=/usr/local/tomcat1
CATALINA_HOME=/usr/local/tomcat1
export CATALINA_BASE CATALINA_HOME
TOMCAT_HOME=/usr/local/tomcat1
export TOMCAT_HOMECATALINA_2_BASE=/usr/local/tomcat2
CATALINA_2_HOME=/usr/local/tomcat2
export CATALINA_2_BASE CATALINA_2_HOME
TOMCAT_2_HOME=/usr/local/tomcat2
export TOMCAT_2_HOME
JRE_HOME=/usr/local/java1.5.0_09/jre
export JRE_HOME
CLASSPATH=/usr/local/java1.5.0_09/lib: /usr/local/java1.5.0_09/jre/lib
export CLASSPATH
PATH=$PATH:/usr/local/java1.5.0_09/bin:/usr/local/java1.5.0_09/jre/bin:/usr/local/tomcat1/bin:/usr/local/tomcat2/
bin
export PATH


保存退出,logout 注销一下

测试 JDK 是否安装成功

Java –version

看是否显示为刚刚安装的 jdk 版本名称

分别进入/usr/local/tomcat1/bin 和/usr/local/tomcat2/bin 目录执行./startup.sh

访问 http://local:8080/http://localhost:8081/看是否可以看到 tomcat 的欢迎界面


设置 tomcat 随系统启动

vi /etc/rc.d/rc.local 添加以下内容

/usr/local/tomcat1/bin/startup.sh

/usr/local/tomcat2/bin/startup.sh


安装 nginx,在安装 nginx 之前需要先安装所需的 pcre 库

解压我们下载的 pcre-7.8.tar.gz

tar zxvf pcre-7.8.tar.gz

cd pcre-7.8

./configure

make

make install

安装完毕

解压 nginx-0.7.60-linux.tar.gz

tar zxvf nginx-0.7.60-linux.tar.gz

./configure--user=www--group=www--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_mod

ule


创建代理文件 vi /usr/local/nginx/conf/proxy.conf 输入以下内容proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

client_max_body_size 10m;

client_body_buffer_size 128k;

proxy_connect_timeout 600;

proxy_read_timeout 600;

proxy_send_timeout 600;

proxy_buffer_size 8k;

proxy_buffers 4 32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;


保存退出。


编辑 nginx.conf 文件 vi /usr/local/nginx/conf/nginx.conf 修改如下

#运行用户
#user nobody;
#启用进程
worker_processes 2;
#全局错误日志和 pid
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid;
#工作模式及连接数上限
worker_rlimit_nofile 51200;
events {
worker_connections 51200;
}

#配置 http 已经反向代理做负载均衡

http {
include mime.types;
default_type application/octet-stream;
include proxy.conf;
#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;

#配置负载均衡服务列表,weight 参数表示权重值,值越大权重越高

upstream proxyserver {
#ip_hash;
server localhost:8080 weight=6;
server localhost:8081 weight=1;
}
server {
#端口以及域名配置
listen 80;
server_name www.xxxx.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~ ^/NginxStatus/ {
stub_status on;
access_log off;
}
#设定默认首页
location / {
root /wwwroot/ROOT;
index index.html login.jsp;
}
#禁止访问 WEB-INF
location ~ ^/(WEB-INF)/ {
deny all;
}
#设定浏览器访问时 nginx 直接处理和需缓存的文件后缀以及时间参数
location ~ \.(gif|jpg|jpeg|png|bmp|ico|rar|css|zip|txt|flv|swf|mid|doc|ppt|xls|pdf|txt|mp3|wma)$ {
root /wwwroot/ROOT;
expires 24h;
}
location ~ \.(htm|html)$ {
root /wwwroot/ROOT;
} 
#设定此后缀的文件利用反向代理转给负载均衡列表中的 tomcat 处理
location ~ \.jsp$ {
proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ \.do$ {
proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ \.js$ {proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ \.xml$ {
proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/dwr/ {
proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/html/fckeditor/ {
proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
server {
listen 80;
server_name www.1234.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~ ^/NginxStatus/ {
stub_status on;
access_log off;
}
location / {
root /wwwroot/ROOT;
index col.html login.jsp;
}
location ~ ^/(WEB-INF)/ {
deny all;
}
location ~ \.(gif|jpg|jpeg|png|bmp|ico|rar|css|zip|txt|flv|swf|mid|doc|ppt|xls|pdf|txt|mp3|wma)$ {
root /wwwroot/ROOT;
expires 24h;
}
location ~ \.(htm|html)$ {
root /wwwroot/ROOT;
}
location ~ \.jsp$ {
proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ \.do$ {
proxy_pass http://proxyserver;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ \.js$ {
proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ \.xml$ {
proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/dwr/ {
proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/html/fckeditor/ {
proxy_pass http://proxyserver;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
} 
} 
}

Nginx 启动命令:sbin/nginx


【下载地址】

百度网盘链接:https://pan.baidu.com/s/1BLWeIw8bZAuYZyYDMzc_JQ

提取码:tapp


相关文章


使用-JFreeChart来创建基于web的图表

使用-JFreeChart来创建基于web的图表

XStream使用文档

XStream使用文档

WebService发布过程及常见问题

WebService发布过程及常见问题

webpack实战入门进阶调优分享

webpack实战入门进阶调优分享

weblogic调优参数及监控指标

weblogic调优参数及监控指标

weblogic节点管理

weblogic节点管理

weblogic管理控制台概述

weblogic管理控制台概述

weblogic-部署和启动

weblogic-部署和启动

WebLogic-Server-性能及调优-调优-Java-虚拟机

Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。

Velocity用户教程

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。

Velocity用户手册

Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。


文章热度: 166291
文章数量: 333
推荐阅读

FlashFXP绿色版网盘下载,附激活教程 780

FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具

Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 505

firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ

navicat for mysql中文绿色版网盘下载 477

Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq

火车头采集器(旗舰版)绿色版网盘下载 786

火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA

Photoshop(CS-2015-2023)绿色中文版软件下载 1155

安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64

知之

知之平台是全球领先的知识付费平台。提供各个领域的项目实战经验分享,提供优质的行业解决方案信息,来帮助您的工作和学习

使用指南 建议意见 用户协议 友情链接 隐私政策 Powered by NOOU ©2020 知之