ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

CentOS6.5下使用Nginx+多个tomcat实现反向代理

2021-12-25 17:33:14  阅读:230  来源: 互联网

标签:tomcat tar nginx local Nginx usr CentOS6.5 安装


一、Nginx安装及配置

1、安装包

(1)版本

1.6.2(Nginx可作为Web服务器,反向代理服务器以及邮件服务器)

(2)来源

http://nginx.org/download/nginx-1.6.2.tar.gz      //可先本地下载再传到centOS系统里,也可以直接Linux里使用wget下载获取

2、安装过程

(1)先安装相关编译插件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

(2)再安装PCRE,让Nginx支持ReWrite功能

1 cd /usr/local/src/                //且到指定目录
2 wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz             //通过网络直接下载安装包
3 tar zxvf pcre-8.35.tar.gz    //解决安装包
4 cd pcre-8.35                      //进入资源目录
5 ./configure                         //执行脚本配置
6 make && make install          //编译安装
7 pcre-config --version            //查看pcre版本,确认安装是否成功

(3)安装Nginx

1 cd /usr/local/src/             //切到指定目录
2 wget http://nginx.org/download/nginx-1.6.2.tar.gz  //下载安装包
3 tar zxvf nginx-1.6.2.tar.gz       //解压安装包
4 ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35     //配置路径
5 make                 //编译
6 make install       //编译安装
7 /usr/local/webserver/nginx/sbin/nginx -v    //查看版本

(4)配置及一般常用命令

1 /usr/sbin/groupadd www                  
2 /usr/sbin/useradd -g www www    //创建Nginx运行使用用户
3 //修改/usr/local/webserver/nginx/conf/nginx.conf配置文件,初始时可以先不修改,后续再根据需要进行修改即可
4 /usr/local/webserver/nginx/sbin/nginx //启动Nginx
5 ps -ef|gref nginx //查看进程,确认nginx是否已运行即可



//常用命令
/usr/local/webserver/nginx/sbin/nginx -t     //检查配置文件正确性
/usr/local/webserver/nginx/sbin/nginx -s reload    //重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen    //重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop        //停止 Nginx

3、遇到的问题及解决方法

(1)centOS6.5里使用yum命令安装编译工具及库文件失败(Cannot find a valid baseurl)?

原因:yum相关的网络服务失效

解决方法:

1 vi /etc/resolv.conf    //进入该文件的编辑页面,使用Google的DNS服务, 包括8.8.8.8和8.8.4.4,即插入两行数据:nameserver 8.8.8.8   nameserver 8.8.4.4;先通过方向键定位到修改的位置,按i键进入输入模式,修改内容,最后按ctrl+c退出输入模式,输入:wq保存退出即可
2 service network restart    //重启网络即可

(2)centOS6.5里使用yum命令安装编译工具及库文件失败(No package  xxxxx available)?

原因:远程镜像站点问题,即yum无法通过镜像地址找到对应包安装,一个原因是因为CentOS6停止维护更新,并下架了包括官方所有的CentOS6源(包括国内的镜像站)

解决方法:安装epel企业版拓展包,使用阿里云的centos-vault源即可

a.安装epel拓展包

1 cat /etc/redhat-release   //确认你的centos版本
2 wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm   //下载安装包,也可以本地先下载再传到Linux里
3 sudo rpm -ivh epel-release-6-8.noarch.rpm  //安装epel包

b.更改配置,用阿里云的centos-vault源

1 vi /etc/yum.repos.d/CentOS-Base.repo  //进入该配置文件编辑页面
2 //把CentOS-Base.repo内容替换如下
3 内容较多,替换内容如截图所示,如果需要完整文件的朋友,可评论留言联系我
4 
5 yum clean all && yum makecache    //清除下缓存

 

 

解决效果截图:(再次使用yum命令进行安装软件)

 

 

 

 

二、JDK安装及配置

1、安装包

(1)版本

JDK1.8(java软件开发包,包含java程序运行环境jre等等)

(2)来源

可自行去官网下载,或是评论留言联系我提供jdk-8u221-linux-x64.tar

2、安装过程

(1)安装包先传输到Linux里(使用secureCRT自带的sftp工具,或是xftp或filezilla工具等等也可以)

(2)使用tar zxvf jdk-8u221-linux-x64.tar进行安装包解压

(3)配置环境变量

1 vi /etc/profile    //进入环境变量配置文件
2 //在该文件done下增加以下内容
3 export JAVAHOME=JDK目录
4 export PATH=$JAVAHOME/bin:$PATH
5 export CLASSPATH=.:$JAVAHOME/lib/dt.jar:$JAVAHOME/lib/tools.jar

(4)使配置生效以及检查版本

1 source /etc/profile       //使刚才修改的配置生效
2 echo $JAVAHOME        //检查配置环境是否生效
3 java -version              //查看jdk是否安装成功

 

三、Tomcat安装及配置

1、安装包

(1)版本

apache-tomcat8.5(web项目容器,可以作为web服务器)

(2)来源

可自行去官网下载,或是评论留言联系我提供apache-tomcat-8.5.73.tar

2、安装过程

(1)安装包先传输到Linux里

(2)使用tar zxvf apache-tomcat-8.5.73.tar进行安装包解压

(3)配置环境变量

1 vi /etc/profile    //进入环境变量配置文件
2 //在该文件done下增加以下内容
3 export TOMCATHOME=TOMCAT目录
4 export PATH=$JAVAHOME/bin:$TOMCATHOME/bin:$PATH

(4)启动服务

1 cd tomcat安装目录/bin      //进入bin目录
2 ./startup.sh              //启动服务即可

(5)本地浏览器输入服务器ip:8080访问,正常情况则会出现tomcat的管理页面

3、遇到的问题及解决方法

(1)本地浏览器输入服务器ip:8080,无法访问?

原因:服务器8080端口未放开

解决方法:

1)开放8080端口

2)或通过命令/etc/init.d/iptables stop直接关闭防火墙(不推荐,如果该系统仅是用于学习则可)

 

四、基于Nginx+Tomcat实现反向代理

1、要点说明

(1)先规划好服务器信息

//本人资源有限,只能是在同一台机器上作实验...但是使用不同端口也可以进行区分达到一样的目的效果
Nginx: 192.168.0.103(不带端口默认使用80)
Tomcat1: 192.168.0.103:8080
Tomcat2: 192.168.0.103:8090

(2)基本原理

      通过访问Nginx服务,Nginx通过反向代理实现将请求转向到Tomcat服务器上,转发给哪一台Tomcat服务器上,这就涉及到Nginx的负载均衡算法了,此处不再深究,使用的是轮询算法即一台一台地访问

2、配置过程

(1)首先,在前面我们已经安装了一个Tomcat服务,使用的是8080端口,此处我们把它当作Tomcat1;

(2)我们再按一样的方法进行Tomcat2的安装,进入conf/server.xml配置文件,把服务端口更改为8090;

(3)同时,为了在页面上便于区分访问的是哪个Tomcat的服务页面,我们分别进入两个Tomcat的webapps/Root下,修改index.jsp,在页面里<body></body>标签合适的位置加入区别信息即可:例如tomcat1里使用<h1>I'm tomcat1:8080</h1>,tomcat2里使用<h1>I'm tomcat2:8090</h1>

(4)分别使用./startup.sh启动服务,先通过浏览器分别访问Tomcat1和Tomcat2,确认两个服务正常

(5)配置Nginx

1 vi /usr/local/nginx/conf/nginx.conf  //进入nginx.conf配置页面
2 //在server节点上方加入下面的数据
3 upstream backend{              //配置backend模块服务的集群机器
4         server  192.168.0.103:8080;
5         server  192.168.0.103:8090;
6 }
7 //在server节点里的location / {} 里第一行添加
8 proxy_pass http://backend;    //当请求类型为/,则将请求转发到backend模块里

(6)使用教程最上方的重载配置文件和重启nginx服务即可

(7)在浏览器输入192.168.0.103,不断刷新页面,你会发现有时访问是是Tomcat1服务有时访问的是Tomcat2服务,此时,恭喜你,你成功了~~

 

标签:tomcat,tar,nginx,local,Nginx,usr,CentOS6.5,安装
来源: https://www.cnblogs.com/lkw-cnblogs/p/15731021.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有