Linux系统下nginx+tomcat搭建集群

关于nginx是什么,bing上都有比较详尽的介绍。

首先准备装有Linux系统的虚拟机,这里使用的是ubuntu,centos 7 的input有点问题,比如说打开浏览器,在地址栏上输入w会导致浏览器关闭。这里有些需要注意的问题,就是是虚拟机中网络设置的,因为刚安装好的Linux操作系统总是需要网络来安装各种各样的依赖包(反正就是一些需要用到的东西)。网络适配器这里记得选择桥接模式。




1、配置jdk、tomcat

1.1 jdk 

下载linux版本的jdk,这里是jdk-7u79-linux-x64.tar.gz,在usr下新建一个文件夹java,将压缩包移动到/usr/java/下,执行

tar xvf  jdk-7u79-linux-x64.tar.gz

将jdk解压到/usr/java/下,将压缩包删除,然后配置环境变量。先执行

su root

terminal会提示输入密码,直接回车(因为我们是不能用root用户登陆ubuntu的,只能用自己的用户先登录,然后在terminal里面进入,root用户的密码默认的空),接着执行

gedit ~/.bashrc

打开配置环境变量的文件。随便找个空的地方写上下面这些配置信息。

#java environment
export JAVA_HOME=/usr/java/jdk1.7.0_79
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${CLASSPATH}:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${PATH}


保存,关闭文件,然后执行

source ~/.bashrc

使环境变量生效,回到terminal,执行

java -version

查看java的版本,如果有返回版本好就说明安装成功。


1.2 tomcat

在配置好jdk之后,关闭terminal,重新打开一个terminal,然后用户回到原本的那个而不是root。

首先下载需要用到的tomcat,这里是apache-tomcat-7.0.73.tar.gz,在usr下新建一个文件夹 tomcat,将压缩包移动到/usr/tomcat/下,然后使用命令行

tar xvf  apache-tomcat-7.0.73.tar.gz 


将压缩包解压,接着把压缩包删掉节省空间。

(这里为什么都要把jdk和tomcat解压在/usr下,因为我曾经在桌面建立文件夹,把jdk和tomcat都放这里,但是不起作用。所以就放/usr下试试,果然可以了。可能权限的问题还没有弄得很明白)

然后不需要命令行将解压出来的文件夹复制多一个,将两个文件夹重命名,最后在usr/tomcat下会有两个tomcat

apache-tomcat-7.0.73_1

apache-tomcat-7.0.73_2


(记得在执行tar xvf  apache-tomcat-7.0.73.tar.gz 时,不能是在root下,否则无法更快复制多一个和重命名,因为在root下解压出来的文件是归root所有,鼠标键盘等操作却是在sword(自己的用户)下,所以操作会失败,当然你也可以在root下使用命令行执行接下来的操作)


修改两个tomcat的端口号,使它们不一样(大家都懂的),提醒一下修改端口号要修改server.xml文件中的三个地方。


此时进入root,执行

gedit ~/.bashrc

编辑环境变量配置文件,在1.1中配置jdk环境变量的地方,添加以下信息

#tomcat 1
CATALINA_BASE_1=/usr/tomcat/apache-tomcat-7.0.73_1
CATALINA_HOME_1=/usr/tomcat/apache-tomcat-7.0.73_1
export CLASSPATH=${CATALINA_HOME_1}/bin/tomcat-juli.jar:${CATALINA_HOME_1}/bin/bootstrap.jar
export CATALINA_BASE_1 CATALINA_HOME_1


#tomcat 2
CATALINA_BASE_2=/usr/tomcat/apache-tomcat-7.0.73_2
CATALINA_HOME_2=/usr/tomcat/apache-tomcat-7.0.73_2
export CLASSPATH=${CATALINA_HOME_2}/bin/tomcat-juli.jar:${CATALINA_HOME_2}/bin/bootstrap.jar
export CATALINA_BASE_2 CATALINA_HOME_2

保存,关闭文件,执行

source ~/.bashrc

使配置生效。

然后修改两个tomcat各自的catalina.sh,文件,找到 setclasspath 的相关区域,在这个区域下,将有CATALINA_HOME的地方

if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
    . "$CATALINA_HOME"/bin/setclasspath.sh
  else
    echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
    echo "This file is needed to run this program"
    exit 1
  fi

中的CATALINA_HOME修改成与bashrc配置文件中的一致,比如说第一个tomcat的是CATALINA_HOME_1,所以要将CATALINA_HOME改成CATALINA_HOME_1,tomcat2也一样,否则terminal在启动tomcat时,会提示找不到setclasspath.sh文件的错误

至此,tomcat配置结束,我们可以进入tomcat里面的bin文件夹,然后执行

./startup.sh

如果提示tomcat started,表示tomcat配置和启动成功,然后在浏览器上输入localhost:18080和localhost:28080来看tomcat主页,如果看得到,说明成功。


2、配置nginx

由于业务需要,我在配置nginx的时候不仅仅配置了nginx,还有lua的集成包,nginx+lua是个叫做openresty的东西,没什么特别的,安装过程比较简单,可以参考

https://openresty.org/cn/ 中的官方教程来安装,安装过程需要保证虚拟机的网络。

执行

gedit ~/.bashrc

配置openresty的环境变量

PATH = /usr/local/openresty/nginx/sbin:$PATH

export PATH

实际上就是配置nginx的环境变量

执行

source ~/.bashrc

使配置生效


之后我们可以在/usr/local/下找到openresty,这里虽然集成了nginx和lua,但是这里只讨论nginx,lua的功能下次再讨论。我们直接进入到/usr/local/openresty/nginx/conf

编辑nginx.conf文件

gedit nginx.conf

观察

server {
        listen       8888;
        server_name  localhost;
        #charset koi8-r;

记住它的端口号和服务名


添加

upstream  netitcast{ 
server 127.0.0.1:18080 weight=1; #tocmat 1
server 127.0.0.1:28080 weight=2; #tomcat 2
}

修改

location / {
root   html;
index  index.html index.htm;
              proxy_pass   http://netitcast; #对应上面的netitcast

}

保存,此时nginx和两个tomcat就关联起来了,是不是很简单。我们修改两个tomcat的webapps/ROOT/index.jsp,让它们两个的主页变得不一样。

启动两个tomcat和nginx,打开浏览器,输入localhost:8888,让你记住的那个,然后不断刷新,你会发现浏览器会无规律访问两个tomcat的主页,说明集群搭建成功。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值