今天在centos上安装了两个tomcat和nginx,进行配置。今天记录的只是最基本的实现测试。(不包含使用redis进行session共享)

Nginx 是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。  其特点是占有内存少,并发能力强。

直接开始主题:

1,首先jdk应该是配好了我就不写了,安装nginx(我使用的rmp安装) ,安装 pcre 让nginx支持rewrite,我使用的是pcre2-10.00.tar.gz;

PCRE下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

tar zxvf  pcre-8.01.tar.gz

cd pcre-8.01

./configure

make

make install

ps:(网上说没有安装openssl还要安装openssl。)

2,安装nginx:

rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm

yum install nginx   (我是一路的[y/n]  选择y,最后出现complete!)

nginx的几个默认目录:

whereis nginx
 nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx

其中

配置所在目录:/etc/nginx/

错误日志:/var/log/nginx/error.log

默认站点目录:/usr/share/nginx/html

3.可能CentOS的防火墙把80端口拦住了,打开80端口

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

/etc/init.d/iptables status 查看

出现这个就哦了。

4,配置nginx:

配置文件在/etc/nginx/

#Nginx所用用户和组
user root;
worker_processes ; error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid; events {
#使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue
use epoll; #允许最大连接数
worker_connections 2048;
} http {
include /etc/nginx/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 /var/log/nginx/access.log main; sendfile on;
#tcp_nopush on; keepalive_timeout 65; #gzip on;
upstream localhost {
#ip_hash
server localhost:8081;
server localhost:8080;
} #这里还包含另外的cong文件
include /etc/nginx/conf.d/*.conf; }

主要是upstream 所以一会将要把两个tomcat端口设置成8080和8081.

另一个配置文件就是那个包含的/etc/nginx/conf.d/*.conf; (也就是default.conf):

#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
#修改就是这一段代理
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://localhost;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#

5.启动nginx(我是先配置好两个tomcat,然后再测试的,继续往下)

nginx

测试nginx配置:nginx -t

6,开始配置tomcat

tomcat都很熟悉,这次只需要修改server.xml配置文件即可。修改3处:

a:

<!-- 修改port端口:18080 两个tomcat不能重复-->
<Server port="18080" shutdown="SHUTDOWN">

b:

<!-- port="8080" tomcat监听端口 -->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

c:  Engine元素增加jvmRoute属性:(我是 tomcat1 和 tomcat2 )

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

另一个也是改这三处,但是端口要和nginx一致。我的是8080和8081

7.测试:启动两个tomcat和nginx。

验证配置负载均衡设置,http://localhost/   多次访问测试:

我为了方便看。这两个tomcat的首页我添加了一个小标识。说明访问了不同的tomcat。

8.后续还需要加上redis缓存实现session共享,根据自己情况进行测试。

												

centos 安装nginx + 多个tomcat负载均衡的更多相关文章

  1. 使用apache和nginx代理实现tomcat负载均衡及集群配置详解

    实验环境: 1.nginx的代理功能 nginx proxy: eth0: 192.168.8.48 vmnet2 eth1: 192.168.10.10 tomcat server1: vmnet2 ...

  2. Linux下nginx+多个Tomcat负载均衡的实现

    博主原创,转载请注明. 由于项目需要,共创建了10个Tomcat端,由nginx负责转发.9个Tomcat端口分别是8080,11000,12000,13000,14000,15000,16000,1 ...

  3. nginx+tomcat负载均衡

    最近练习nginx+tomcat负载均衡.根据一些资料整理了大体思路,最终实现了1个nginx+2个tomcat负载均衡. 安装JDK 1>进入安装目录,给所有用户添加可执行的权限 #chmod ...

  4. Nginx+tomcat负载均衡时静态页面报404

    百度到的问题解决BLOG http://os.51cto.com/art/201204/326843.htm nginx+2台tomcat负载均衡,应用程序已部署,单独访问tomcat时,可以访问到所 ...

  5. Linux下Nginx+Tomcat负载均衡和动静分离配置要点

    本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download 一.安装Nginx 下载源:wget http://nginx.org/pa ...

  6. Nginx+keepalived做双机热备加tomcat负载均衡

    Nginx+keepalived做双机热备加tomcat负载均衡 环境说明: nginx1:192.168.2.47 nginx2:192.168.2.48 tomcat1:192.168.2.49 ...

  7. Nginx+Tomcat 负载均衡集群

    案例分析 通常情况下,一台Tomcat站点由于可能出现单点故障及无法应对多客户复杂多样性的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完善Web站点架构. Nginx是一款 ...

  8. 基于nginx的tomcat负载均衡和集群

    要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务器即可共享SESSION了. 你可以自己写tomcat的扩展来保存SESSI ...

  9. linux+nginx+tomcat负载均衡,实现session同步

    linux+nginx+tomcat负载均衡,实现session同步 花了一个上午的时间研究nginx+tomcat的负载均衡测试,集群环境搭建比较顺利,但是session同步的问题折腾了几个小时才搞 ...

随机推荐

  1. ES6数组对象新增方法

    1. Array.from() Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的 ...

  2. python中检测mysql的主键唯一性异常

    有两种方法: 1.直接检测是什么异常(查mysql文档找出异常代码) import os import mysql_operate.mysql_connect as mysql import re d ...

  3. PHP函数高级(二)

    PHP函数基础:https://www.cnblogs.com/lxwphp/p/9867840.html   1.函数分类: 定义:完成某些功能的代码段 系统函数:字符串,数组,数字,日期时间 自定 ...

  4. Jdk8 Hashmap ConcurrentHashMap

    JDK1.8 Hashmap JDK1.8 ConcurrentHashMap 不采用segment而采用 synchronized (f)  f = table[i]; 减小锁的力度 设计了MOVE ...

  5. Spring MVC(六)--通过URL传递参数

    URL传递参数时,格式是类似这样的,/param/urlParam/4/test,其中4和test都是参数,这就是所谓的Restful风格,Spring MVC中通过注解@RequestMapping ...

  6. python3-常用模块之sys

    import syssys 是和Python解释器打交道的sys.argvprint(sys.argv) # argv的第一个参数 是python这个命令后面的值 主要用途 1. 程序员 运维人员 在 ...

  7. typeof 、Object.prototype.toString和 instanceof

    数据类型 js 基本类型包括:Undefined  symbol null string boolean number js 引用类型包括:object array Date RegExp typeo ...

  8. PKUWC 2018 真实排名

    PKUWC2018 真实排名 题面描述 共有\(n\)个人,每个人有一个能力值,每个人的排名为所有能力值不比他小的人的个数(包括他自己). 现在有\(k\)个人能力值翻倍,但我们无法得知是哪\(k\) ...

  9. Django项目:CRM(客户关系管理系统)--61--51PerfectCRM实现CRM客户报名流程学生合同上传照片

    # sales_views.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.db import IntegrityError # 主动 ...

  10. javascript的Touch事件

    js的touch事件,一般用于移动端的触屏滑动 $(function(){document.addEventListener("touchmove", _touch, false) ...