安装JDK

 

[root@stu21 ~]# lftp 172.16.0.1

lftp 172.16.0.1:~> cd pub

cd ok, cwd=/pub

lftp 172.16.0.1:/pub> cd Sources/6.x86_64/jdk/

lftp 172.16.0.1:/pub/Sources/6.x86_64/jdk> get jdk-7u67-linux-x64.rpm

126857158 bytes transferred in 22 seconds (5.56M/s)

lftp 172.16.0.1:/pub/Sources/6.x86_64/jdk> bye

 

[root@stu21 ~]# rpm -ivh jdk-7u67-linux-x64.rpm

[root@stu21 ~]# cd /usr/java/

 

修改环境变量

 

[root@stu21 ~]# vim /etc/profile.d/java.sh

[root@stu21 ~]# cat /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/latest

export PATH=$JAVA_HOME/bin:$PATH

#即时生效配置文件

[root@stu21 ~]# . /etc/profile.d/java.sh

测试:执行java -version,正确的话应该会显示:

[root@stu21 ~]# java -version

java version "1.7.0_67"

Java(TM) SE Runtime Environment (build 1.7.0_67-b01)

Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

[root@stu21 ~]#

 

 

lftp 172.16.0.1:/pub/Sources/6.x86_64/tomcat> get apache-tomcat-8.0.15.tar.gz

9237872 bytes transferred

lftp 172.16.0.1:/pub/Sources/6.x86_64/tomcat> bye

[root@stu21 ~]# ls

anaconda-ks.cfg dir.sh install.log lamp_source nginx-1.6.2

apache-tomcat-8.0.15.tar.gz heartbeat2 install.log.syslog nginx nginx-1.6.2.tar.gz

copyvbox.sh ifcfg-eth6 jdk-7u67-linux-x64.rpm nginx-1.4.7.tar.gz

[root@stu21 ~]#

 

 

解压apache-tomcat

[root@stu21 ~]# tar xf apache-tomcat-8.0.15.tar.gz -C /usr/local/

[root@stu21 ~]# cd /usr/local/

 

软连接

[root@stu21 local]# ln -sv apache-tomcat-8.0.15 tomcat

 

给tomcat添加全局路径

[root@stu21 ~]# vim /etc/profile.d/tomcat.sh

[root@stu21 ~]# cat /etc/profile.d/tomcat.sh

export CATALINA_HOME=/usr/local/tomcat

export PATH=$CATALINA_HOME/bin:$PATH

[root@stu21 ~]# . /etc/profile.d/tomcat.sh

[root@stu21 ~]#

 

[root@stu21 tomcat]# cd bin/

[root@stu21 bin]# pwd

/usr/local/tomcat/bin

 

[root@stu21 bin]# catalina.sh start

Using CATALINA_BASE: /usr/local/tomcat

Using CATALINA_HOME: /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME: /usr/java/latest

Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

Tomcat started.

查看端口:

[root@stu21 bin]# ss –tnpl

LISTEN 0 100 :::8009 :::* users:(("java",2943,49))

LISTEN 0 100 :::8080 :::* users:(("java",2943,44))

 

 

配置文件介绍:

[root@stu21 conf]# pwd

/usr/local/tomcat/conf

[root@stu21 conf]# ls

Catalina context.xml tomcat-users.xml

catalina.policy logging.properties tomcat-users.xsd

catalina.properties server.xml web.xml

[root@stu21 conf]#

 

 

以下是Tomcat默认装完以后的/usr/local/tomcat/conf

目录结构:

tomcat的架构运行层次如下图

    

 

上图解释:

   server:在最外层,每个server就是一个tomcat实例。又叫顶级组件

   service服务:将一个和多个连接器关联到一个引擎上。一个service内部只能有一个引擎。

   Engine,引擎:servlet的实现jvm,能够解码别人发来的请求,其内部有一个web服务器,其可以工作在80端口上。定义的时候需要定义一个默认主机,来响应没有指定主机的访问。

   HOST:容器内的主机,类似apache的虚拟主机,主机可以有多个   
           Context,主机内的,类似于路径别名的定义

   连接器:将server和引擎连接起来的工具。

其配置结构如下,配置文件为server.xml

 

<Server>

    <Service>

        <Connector />

        <Engine>

            <Host>

                <Context> </Context>

            </Host>

        </Engine>

    </Service>

</Server>

 

 

 

3.3、添加一个tomcat的服务脚本,便于管理tomcat服务

 

[root@localhost ~]# vim /etc/init.d/tomcat

                                 #建立服务脚本,添加如下内容

#!/bin/sh

# Tomcat init script for Linux.

# chkconfig: 2345 96 14

# description: The Apache Tomcat servlet/JSP container.

JAVA_HOME=/usr/java/latest

CATALINA_HOME=/usr/local/tomcat

export JAVA_HOME CATALINA_HOME

exec $CATALINA_HOME/bin/catalina.sh $*

为其增加执行权限并增加至系统服务列表

 

[root@localhost ~]# chmod +x /etc/init.d/tomcat

[root@localhost ~]# chkconfig --add tomcat

[root@localhost ~]# chkconfig --list tomcat

关闭和启动服务就可以通过系统服务那样进行了

 

[root@localhost ~]# service tomcat stop

[root@localhost ~]# service tomcat start

 

 

上面提到的管理接口的时候需要用户名和密码

在tomcat-users.xml定义用户和密码,然后通过输入用户名和密码进行认证进入管理接口

[root@stu21 conf]# pwd

/usr/local/tomcat/conf

  #编辑tomcat的用户配置文件,在注释行外面添加如下内容

[root@stu21 conf]# vim tomcat-users.xml

        <role rolename="manager-gui"/>

        <user username="tomcat" password="tomcat" roles="manager-gui"/>

 

#roles有三种:manager-gui实现状态和Manager App查看和管理;manger-status实现Host Manager功能,如果一个用户需要使用多个角色,角色中间使用逗号隔开即可,例如roles="manger-status,admin-gui"

 

 

 

 

 

 

架构Nginx实现反向代理tomcat

    自己先部署一个jsp的网站、方便下面的操作,使用JavaCenter_Home_2.0_GBK.tar.bz2

 

在server.xml内新建一个虚拟主机

    [root@node15 ~]# vim /usr/local/tomcat/conf/server.xml #编辑配置文件,添加如下内容

 

    <Host name="node15.stu21.com" appBase="/webapps"

unpackWARs="true" autoDeploy="true">

<Context path="/" docBase="ROOT" reloadable="ture" />

</Host>

 

 

 

由于使用的是基于主机名的虚拟主机,所以需要先能解析:

[root@node15 ~]# vim /etc/hosts

172.16.21.15 node15.stu21.com node15

创建如下目录:

[root@node15 ~]# mkidr /webapps/ROOT/

[root@node15 ROOT]# pwd

/webapps/ROOT

 

[root@node15 ~]# mkdir /webapps/ROOT/ #建立docBase目录

[root@node15 ~]# tar xf JavaCenter_Home_2.0_GBK.tar.bz2 #解压网页

[root@node15 ~]# mv JavaCenter_Home_2.0_GBK/* /webapps/ROOT/

 

注意:此网站依赖于mysql,利用yum安装下mysql

[root@node15 ~]# yum –y install mysql-server

mysql> create database jcenter ;

Query OK, 1 row affected (0.00 sec)

 

mysql> grant all on jcenter.* to 'jcenter'@'localhost' identified by 'jcenter';

Query OK, 0 rows affected (0.00 sec)

 

 

 

 

 

 

安装配置以后,可以进入主页,显示如下

 

 

Nginx+tomcat实现其反向代理:

 

    在节点 node16 上装上 nginx

 

 

 

[root@node16 ~]# yum -y install nginx

 

如果我在节点 node16上开启nginx ,只做代理到(node15.stu21.com服务器上),那么只需稍加改下配置文件:

修改配置文件,让请求其连接都代理至后端tomcat服务器(node15.stu21.com) [root@node16 ~]# vim /etc/nginx/nginx.conf

在http段中只需添加如下两行代码:

upstream backend {

server node15.stu21.com;

}

 

 

 

[root@node16 ~]# vim /etc/nginx/conf.d/default.conf

在server 段中,默认出现的第一个location 中 添加我加红色的代码句

location / {

# root /usr/share/nginx/html;

proxy_pass http://backend;

index index.jsp index.html index.htm;

}

 

 

 

 

 

接下来实现动静分离:

动态:

[root@node16 ~]# vim /etc/nginx/conf.d/default.conf

在server 段中加入:

location ~* \.(jsp|do)$ {

proxy_pass http://backend;

}

 

静态:

tomcat解压的目录在/webapps/ROOT

[root@node15 ROOT]# pwd

/webapps/ROOT

[root@node15 ROOT]# scp ./* node16:/usr/share/nginx/html/

 

 

 

 

 

 

posted on 2015-02-03 20:41  明远子  阅读(337)  评论(0编辑  收藏  举报