CentOS6.5下使用Nginx+多个tomcat实现反向代理
作者:互联网
一、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