Centos+nginx+tomcat 集群

用来记录centos6.7+nginx1.8.1+tomcat7集群 环境的搭建.

1.安装centos6.7

2.安装nginx1.8.1

3.安装jdk7

4.安装tomcat7

5.nginx+单个tomcat

6.nginx+2个tomcat集群


1.安装centos6.7 

这个略过了.找个iso文件,装到vm就OK

安装后,切换到root用户sudo su - root

Centos+nginx+tomcat 集群_第1张图片

解决这个问题步骤如下

1) 输入 su root  ,回车,会让输入密码,输入当前用户密码

2)visudo 找到 root ALL=(ALL)  ALL 这行, 加入当前用户

Centos+nginx+tomcat 集群_第2张图片

3):wq保存并退出.

4)现在使用 sudo su - root 可以正常使用了.


2.安装nginx1.8.1

1) 下载安装包 http://nginx.org/en/download.html

2)创建一个文件夹,并解压刚才下载的包

 tar zxvf nginx-1.8.1.tar.gz

Centos+nginx+tomcat 集群_第3张图片

3) 进行配置

cd /mnt/nginx-1.8.1 
./configure
如果需要ssl支持,则需要执行 ./configure --with-http_ssl_module

报错,一些包找不到

Centos+nginx+tomcat 集群_第4张图片

4) 安装上面缺少的包 

yum -y install pcre-devel
yum -y install openssl-devel

完成后,再 ./configure(或者./configure --with-http_ssl_module),虽然还有些包没找到,不过貌似不影响了


5)编译,安装

make
make install

6)测试是否安装成功

cd /usr/local/nginx/sbin
./nginx -t


7) 启动,访问测试

./nginx

打开浏览器,访问 http://localhost:80,如果不是本机换成ip访问.

Centos+nginx+tomcat 集群_第5张图片


8) 其他命令

pkill -9 nginx 		停止
./nginx -s reload    	重启(也是在/usr/local/nginx/sbin目录下)


3.安装jdk7

1)下载,官网找了下没找到,我用以前下载的包了

2) 将包放到 data目录下,解压

tar -zxvf jdk1.7.0_67.tar
3) 设置环境变量

vim /etc/profile

然后在文件最后插入

#set java environment
export JAVA_HOME=/data/jdk1.7.0_67
export JRE_HOME=/data/jdk1.7.0_67/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

4) 重新加载配置文件,测试

source /etc/profile
java -version

Centos+nginx+tomcat 集群_第6张图片



4.安装tomcat7

1) 下载安装包 

2)  将包放到 data目录下,直接解压

tar zvxf apache-tomcat-7.0.56.tar.gz

3)启动tomcat

sh /data/apache-tomcat-7.0.56/bin/startup.sh

如果提示

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined,则可能是环境变量未生效

因为我是开了2个命令行,一个装jdk,一个装tomcat,就出现了这个提示

执行

echo $JAVA_HOME
echo $JRE_HOME

打印环境变量,发下jdk可以,tomcat不行, 说明是命令行加载环境变量的问题,重新打开新的命令行即可

 或者按网上的修改tomcat的配置文件,写上环境变量

4)测试

http://localhost:8080/

Centos+nginx+tomcat 集群_第7张图片




5.nginx+单个tomcat

1) 首先新建个web项目,项目名称test,在WebContent目录下新建一个t.html,然后把项目放到tomcat下面,启动,进行访问





Insert title here


	这是tomcat1


访问 http://localhost:8080/test/t.html,成功,如下图.

Centos+nginx+tomcat 集群_第8张图片


2)  将tomcat和nginx关联起来, 其实就是访问nginx,然后nginx再转发给tomcat.

这就要修改下nginx的配置文件.(注意不是nginx安装目录下的配置文件)

vim /usr/local/nginx/conf/nginx.conf

在下图中标红的地方加上标红的话

proxy_pass http://localhost:8080;

Centos+nginx+tomcat 集群_第9张图片

3)重启nginx,访问 http://localhost/test/t.html (注意这里端口是默认80),成功显示,如下图:

Centos+nginx+tomcat 集群_第10张图片


6.nginx+2个tomcat集群

1) 首先把tomcat停掉,然后复制一份出来,改个名字,做区分,目录分别是tomcat1,tomcat2

2) 将tomcat2下面的 t.html内容修改一下,改为tomcat2

3)修改tomcat2占用的端口为7080;(8005,8009端口也要修改)

4) 修改ngnix的配置文件,用来做指向2个tomcat,如下图

Centos+nginx+tomcat 集群_第11张图片

增加 upstream 节点, 将2个tomcat包进去.下面的 proxy_pass 指向 upstream节点, 所以2处名称要保持一致.

    nginx的负载均衡有好几种方式,常见的是轮询和ip_hash,默认的是轮询.所以我们在upstream中没有指定,就用默认的.

    upstream local_tomcat {  
	server localhost:8080;  
	server localhost:7080;
    }  

    proxy_pass http://local_tomcat;

5) 启动2个tomcat,分别访问

http://localhost:8080/test/t.html

http://localhost:7080/test/t.html

页面显示对应的tomcat名称.

6)重启nginx,访问http://localhost/test/t.html

多次刷新页面,发现 tomcat1和tomcat2 字样轮流显示, OK. 集群成功!

7)可以测试停掉tomcat1,或者tomcat2, nginx还能正常访问,这样就可以部署的时候不影响用户访问了.



你可能感兴趣的:(集群,框架,linux)