环境搭建|第三篇:apache2+tomcat项目部署

1. 简介

最近由于项目需要,对apache与tomcat进行整合进行了学习,现将学习记录如下,方便自己以后查阅,同时也方便有需要的同学做为参考。

2.环境要求

系统ubutun 18.04
tocmat8.5.31
jdk1.8

3.环境准备

3.1 卸载apache

$ sudo apt-get remove apache*

$ sudo find /etc/ -name "*apache" | xargs rm -rf

$ sudo rm -rf /var/www

$ sudo rm -rf /etc/libapache2-mod-jk/

3.2 安装apahce

$ sudo apt-get install apache2

# 查看版本信息
$ apache2 -v

$ cd /etc/apache2 

$ service apache2 status

 

运行状态显示如下:

访问浏览器输入localhost,出现如下图所示,表示apache已经安装成功 :

3.3 apache常用快捷键

$ Service apache2 start;

$ Service apache2 stop;

$ Service apache2 restart;

$ Service apache2 status;

4. apache2 配置文件说明

4.1 主要配置(apache2.conf)

$ cat /etc/apache2/apache2.conf

        ① ServerRoot “/etc/apache2”: 表示apache2的安装路径,不需要修改

        ② Timeout 300: 接受和发送timeout的时间

        ③ KeepAlive on: 是否允许保持连接

        ④ MaxKeepAliveRequests 100: 每个连接的最大请求数,0表示无限制

        ⑤ User ${APPACHE_RUN_USER}: apache的用户,配合/etc/apache2/envvars进行修改,也可直接修改

        ⑥ Group ${APPACHE_RUN_GROUP}: apacher用户组,修改和User一样

        ⑦ Include ports.conf: 引入监听端口配置文件,/etc/apache2/ports.conf

        ⑧ Direcotry说明:

<Direcotry />

    Options FollowSymLinks(表示允许访问目录,如果要禁止目录访问,则添加上”Indexes”)

    AllowOverride None(None表示.htaccess方件将被完全忽略,当此指令设置为All时,所具有的.htaccess作用域的指令都允许出现)

     Require all denied(表示禁示所有访问,允许所有访问改为”granted”)

</Direcotry>

        ⑨ IncludeOptional conf-enabled/*.conf: 引入文件,文件位置为/etc/apache2/con-enabled

        ⑩ IncludeOptional sites-enabled/*.conf: 引入文件,文件位置为/etc/apache2/sites-enabled

4.2 端口配置(ports.conf)

        ① Listen 80 :表示监听80端口,默然的http请求访问端口,可修改此端口

        ② Listen 443:表示监听443端口,默然https请求访问端口

4.3 虚拟主机配置(Sites-avaliable)

        ① touch test.conf,将000-default.conf中文件拷贝至test.conf中

        ② sudo ln -s  /etc/apach2/sites-avaliable/test.conf  /etc/apache2/sites-enable/test.conf(建立软链接)

        ③ ServerAdmin 管理员邮箱

        ④ DocumentRoot 配置虚拟访问路径

        ⑤ ServerName 配置虚拟主要域名

        ⑥ VirtualHost *:80 表示访问80端口请求

5. apache2配置多个虚拟主机

5.1 在上一步sites-available中的test.conf中新建如下

<VirtualHost *:80>

    ServerName www.apachetest1.com

    ServerAdmin t1@qq.com

    DocumentRoot /home/apacheTest/apache/test1

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

    ServerName www.apachetest2.com

    ServerAdmin t2@qq.com

    DocumentRoot /home/apacheTest/apache/test2

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

    ServerName www.apachetest3.com

    ServerAdmin t3@qq.com

    DocumentRoot /home/apacheTest/apache/test3

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

(1) 建三个虚拟主机,访部域名为随便设置的三个,分别如下:

www.apachetest1.com
www.apachetest2.com
www.apachetest3.com

 

(2) 新建三个域名需要配置相应的hosts,vi /etc/hosts,在其中新建三条数据信息

127.0.0.1   www.apachetest1.com

127.0.0.1   www.apachetest2.com

127.0.0.1   www.apachetest3.com

(3) 修改apache2.conf配置文件如下


<Directory /home/apacheTest/apache/test1/>

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all  granted

</Directory> 

<Directory /home/apacheTest/apache/test2/>

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all  granted

</Directory>

<Directory /home/apacheTest/apache/test3/>

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all  granted

</Directory> 

注意:

1.hosts中域名必须与test.conf中设置的serverName保持一致

2. apache.conf中Directory中访问路径必须与test.conf中的DocumentRoot 保持一致

(4) 打开浏览器分别访问 www.apachetest1.com, www.apachetest2.com, www.apachetest3.com,分别能看到对应test文件定义的index.html中的内容,至此,apache配置多个虚拟机已经完成。

6.apache2整合tomcat

6.1安装apache2-mod-jk及相关配置(整合apache2与tomcat需要用此链接)

(1) sudo apt-get install libapache2-mod-jk

(2) cd /etc/apache2/mods-enabled 发现有jk.conf和jk.load

(3) cd /etc/libapache2-mod-jk文件下有workers.properties文件

(4)jk.conf文件说明

        ①  JkWorkersFile /etc/libapache2-mod-jk/workers.propertie,表示workers.properties文件,后续会用到此文件

        ② 在文件中新建一条信息JkMount apache-test

(5)配置整合信息

        ① 在sites-avaliable文件中的test.conf中新建一条信息如下

<VirtualHost *:80>

    ServerName www.apache-test.com

    ServerAdmin apache-test@qq.com

    DocumentRoot /home/apacheTest/setup/tomcat/webapps

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    JkMount /* apache-test(设置那些请求是通过apache转发至tomcat处理,这儿未做拦截,全部交给tomcat处理)

</VirtualHost>

        ② 修改hosts文件进行域名配置

172.26.60.12       www.apache-test.com

        ③  apache2.conf 中添加如下数据

<Directory /home/apacheTest/setup/tomcat/webapps/>

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all  granted

</Directory>

      ④  修改/etc/libapache-mod-jk/worker.properties

workers.java_home=/home/apacheTest/setup/java(配置java安装路径)

workers.tomcat_home=/home/apacheTest/setup/tomcat(配置tomcat安装路径)

worker.list=ajp13_worker,apache-test(为需要访问的项目名)

worker.apache-test.port=8010(端口号,此端口号必须与tomct中配置端口号一致)

worker.apache-test.host=www.apache-test.com(访问域名,必须与test.conf中serverName保持一至)

worker.apache-test.type=ajp13(访问协议)

    完成上述配置,apache端配置完成,注意每次设置了hosts和apache中配置都需要重启服务和网络;

   重启网络方法:/etc/init.d/networkering restart

   重启服务方法: service apache2 restart

   ⑤  修改tomcat中配置

        1)将项目打报成war包

        2)放至在tomcat/webapps文件夹中

        3)设置tomcat/conf/server.xml

        a.  <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />设置与apache通信端口”8010”,此端口为workers.properties中prop对应值

        b. <Engine name="Catalina" defaultHost="localhost" jvmRoute="apache-test">只需修改jvmRoute中值,为项目名称。

至此:tomcat整合apache完毕

6.2 测试

  ①打开浏览器,输入localhost:8080/apache-test访问结果如下

                

 

  ②打开浏览器,输入www.apache-test.com/apache-test访问结果如下

            

 可以看到两次访问结果都一样。

    ③打开浏览器,输入www.apache-test.com:8080访问结果如下

 

可以看到通过apache中配置的域名访问8080端口,打开了tomcat主页,说明apache的请求被转发至tomcat处理。

至此:apache的安装、配置、配置多个虚拟主机、整合tomcat均完毕。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值