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

1. 简介

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

2.环境要求

系统 ubutun 18.04
tocmat 8.5.31
jdk 1.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

 

运行状态显示如下:

环境搭建|第三篇:apache2+tomcat项目部署_第1张图片

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

环境搭建|第三篇:apache2+tomcat项目部署_第2张图片

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说明:



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

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

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



        ⑨ 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中新建如下

    ServerName www.apachetest1.com

    ServerAdmin [email protected]

    DocumentRoot /home/apacheTest/apache/test1

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ServerName www.apachetest2.com

    ServerAdmin [email protected]

    DocumentRoot /home/apacheTest/apache/test2

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ServerName www.apachetest3.com

    ServerAdmin [email protected]

    DocumentRoot /home/apacheTest/apache/test3

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

(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配置文件如下




        Options Indexes FollowSymLinks

        AllowOverride None

        Require all  granted

 



        Options Indexes FollowSymLinks

        AllowOverride None

        Require all  granted





        Options Indexes FollowSymLinks

        AllowOverride None

        Require all  granted

 

注意:

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中新建一条信息如下



    ServerName www.apache-test.com

    ServerAdmin [email protected]

    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处理)

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

172.26.60.12       www.apache-test.com

        ③  apache2.conf 中添加如下数据



        Options Indexes FollowSymLinks

        AllowOverride None

        Require all  granted

      ④  修改/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.  设置与apache通信端口”8010”,此端口为workers.properties中prop对应值

        b. 只需修改jvmRoute中值,为项目名称。

至此:tomcat整合apache完毕

6.2 测试

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

                

 

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

            

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

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

环境搭建|第三篇:apache2+tomcat项目部署_第3张图片

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(apache,tomcat,apache)