apache2整合tomcat进行项目部署

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

          整合环境 :系统:ubuntu 18.04

                                   apache版本: Apache/2.4.29 (Ubuntu)

                                    tomcat版本: 8.5.31

                                    java版本:1.8             

一、卸载apache(如果电脑中已经安装过apache,则可通过以下指令进行卸载。)

(1)sudo apt-get remove apache*

(2)sudo find /etc/ -name "*apache" | xargs rm -rf

(3)sudo rm -rf /var/www

(4)sudo rm -rf /etc/libapache2-mod-jk/

二、安apahce

(1) sudo apt-get install apache2

(2)apache2 -v(查看apache2版本信息)

(3)cd /etc/apache2 (可查看到apache2文件夹有如下信息) 


(4)service apache2 status(查看apache2状态,显示如下信息) 


(5)打开浏览器输入localhost(看到如下信息表示apache2已经安装成功)

 

(6) apache常用快捷键

            Service apache2 start;

            Service apache2 stop;

            Service apache2 restart;

            Service apache2 status;

三、apache2 配置文件说明

               1. cd /etc/apache2(apache2配置都在此文件夹)

                2. apache2.conf(apache2的主要配置文件)

    (1) 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”)

        </Direcotry>

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

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

(2) ports.conf

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

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

(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端口请求

四、apache2配置多个虚拟主机

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

<VirtualHost *:80>

    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

</VirtualHost>

<VirtualHost *:80>

    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

</VirtualHost>

<VirtualHost *:80>

    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

</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> 

*值得注意的点是:hosts中域名必须与test.conf中设置的serverName保持一致

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

4) 打开浏览器分别访问 www.apachetest1.com, www.apachetest2.com, www.apachetest3.com,分别能看到对应test文件定义的index.html中的内容.

至此,apache配置多个虚拟机已经完成。

五、apache2整合tomcat

1.安装apache2-mod-jk(整合apache2tomcat需要用此链接)

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

(2) cd /etc/apache2/mods-enabled 发现有jk.confjk.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 [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处理)

</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.confserverName保持一至)

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

至此以上部份,apache端配置完成,注意每次设置了hostsapache中配置都需要重启服务和网络;

重启网络方法:/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.propertiesprop对应值

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

至此:tomcat整合apache完毕

(6)整合测试

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

                

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

            

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

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


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

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

猜你喜欢

转载自blog.csdn.net/qq_37317845/article/details/80899548