ubuntu18.04安装Apache,配置多个虚拟主机,并整合tomcat

本文详细介绍了在Ubuntu 18.04系统中安装和配置Apache Web服务器的方法,包括设置虚拟主机、安装Tomcat及如何整合Apache与Tomcat以实现负载均衡。通过配置mod_jk模块,实现了基于域名的不同请求转发至相应的Tomcat实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu上配置Apache和centeros好像还不太一样,里面的配置文件好像有点区别,centeros上是httpd.conf,ubuntu是apache2.conf,记录一下ubuntu18.04系统下的操作:

一、安装Apache

1.直接用命令安装,sudo apt-get install apache2

2.安装完后,查看Apache的版本信息,apache2 -v

3.安装完,访问localhost,会显示默认页面,显示apache2 ubuntu default page

apache已经安装成功。因为是使用命令安装,可以使用service命令操作apache:
            Service apache2 start;
            Service apache2 stop;
            Service apache2 restart;
            Service apache2 status;
配置文件都在/etc/apache2目录下面(可以用whereis apache2命令查看位置,具体目录的作用可百度)

二、配置多个虚拟主机

1.修改hosts文件,sudo /etc/hosts,添加:
        

    127.0.0.1   www.t1.com
    127.0.0.1   www.t2.com

2.进入目录/etc/apache2,其中有两个目录,sites-avaliable和sites-enabled,作用自己百度

3.在sites-avaliable中,复制000-default.conf文件,命名为test.conf

    sudo cp 000-default.conf test.conf

4.修改test.conf,添加:

<VirtualHost *:80>
    ServerName www.t1.com
    ServerAdmin t1@qq.com
    DocumentRoot /home/test/apache/test1
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerName www.t2.com
    ServerAdmin t2@qq.com
    DocumentRoot /home/test/apache/test2
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

注意:此处在配置的时候,在每行后面都有个空格,导致报错,找了好长时间才找到错误

5.建立软链接

sudo ln -s  /etc/apach2/sites-avaliable/test.conf  /etc/apache2/sites-enabled/test.conf

注意:建立软连接,如果失败,那么配置的test.conf将不会生效,因为在apache2.conf中引入的是sites-enabled目录中的文件

6.开放目录权限,进入目录/etc/apache2下面,修改配置文件apache2.conf,添加:

<Directory /home/test/apache/test1/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all  granted
</Directory> 

<Directory /home/test/apache/test2/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all  granted
</Directory>

或者

<Directory /home/test/apache/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all  granted
</Directory>

注意:这里的Directory需要和test.conf中的DocumentRoot内容保持一致,或者Directory的目录要包含test.conf中DocumentRoot的目录

7.创建目录, /home/test/apache/test1 | test2 ,并在里面放置index.html,内容随意

8.最后重启一下apache,service apache2 restart,访问www.t1.com,www.t2.com,会出现不同的页面

三、安装tomcat

在/home/test/中安装2个tomcat,修改里面的端口,保证能同时运行,并修改里面index.jsp的内容,方便查看访问的是哪个tomcat,其他配置默认

四、开始整合apache和tomcat

1.使用命令安装mod_jk模块,负责转发消息到tomcat

sudo apt-get install libapache2-mod-jk

2.此时,/etc/apache2/mods-available目录下会多出jk.conf和jk.load文件,apache启动时,会加载load文件,从而加载jk.conf文件

3.先看jk.conf文件(源文件注释已被删除)

<IfModule jk_module>
	# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
    JkWorkersFile /etc/libapache2-mod-jk/workers.properties

    JkLogFile /var/log/apache2/mod_jk.log

    JkLogLevel info

    JkShmFile /var/log/apache2/jk-runtime-status

    JkWatchdogInterval 60

    <Location /jk-status>
        # Inside Location we can omit the URL in JkMount
        JkMount jk-status
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>
    <Location /jk-manager>
        # Inside Location we can omit the URL in JkMount
        JkMount jk-manager
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>
	
	# 将所有请求都让tomcat来处理
	#JkMount /*  worker1
</IfModule>

注意:

    1.JkMount /* worker1,表示所有请求都交给worker1来处理,这里是全局配置,因为想根据域名来分配到不同的worker,把他注释掉;
    2.这里的worker可以看做是tomcat实例,worker是在workers.properties中定义的;
    3.jk.conf文件中的JkWorkersFile属性来指定worker.properties文件的位置;

4.再来看worker.properties文件(源文件注释已删除)

workers.tomcat_home=/usr/share/tomcat8

	workers.java_home=/usr/lib/jvm/default-java

	ps=/

	worker.list=ajp13_worker,worker1,worker2

	worker.ajp13_worker.port=8009
	worker.ajp13_worker.host=localhost
	worker.ajp13_worker.type=ajp13
	worker.ajp13_worker.lbfactor=1
	
	# Set properties for worker1
	worker.worker1.type=ajp13  
	worker.worker1.host=localhost  
	worker.worker1.port=8009
	worker.worker1.lbfactor=50  
	worker.worker1.cachesize=10  
	worker.worker1.cache_timeout=600  
	worker.worker1.socket_keepalive=1  
	worker.worker1.socket_timeout=300
	 
	# Set properties for worker2
	worker.worker2.type=ajp13  
	worker.worker2.host=localhost
	worker.worker2.port=8010
	worker.worker2.lbfactor=50  
	worker.worker2.cachesize=10  
	worker.worker2.cache_timeout=600  
	worker.worker2.socket_keepalive=1  
	worker.worker2.socket_timeout=300

	worker.loadbalancer.type=lb
	worker.loadbalancer.balance_workers=ajp13_worker

1.worker.list是定义tomcat实例,多个用逗号分隔,worker1和worker2是自己定义的,worker1是本地的8009端口的tomcat关联,worker2是本地的8010端口的tomcat关联;
2.worker.korker1.port=8009,代表apache的mod_jk模块与tomcat交换数据的端口(通过AJP协议),需要与tomcat配置文件中<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />所在端口保持一致;

5.此时修改/etc/apache2/sites-available目录下的test.conf文件,在虚拟主机的节点下,配置JkMount,如下:

<VirtualHost *:80>
	  ServerName www.t1.com
	  ServerAdmin t1@qq.com
	  DocumentRoot /home/test/apache/test1
	  ErrorLog ${APACHE_LOG_DIR}/error.log
	  CustomLog ${APACHE_LOG_DIR}/access.log combined
          JkMount /*.jsp worker1
	  JkMount /*.css worker1
	  JkMount /*.png worker1
	  JkMount /*.ico worker1
</VirtualHost>

表示.jsp,.css,.png,.ico的请求,发送给worker1这个tomcat实例来处理

6.访问不同域名下的index.jsp和index.html,会访问到对应的apache和对应的tomcat

### Ubuntu 18.04安装 Tomcat 8.5.54 教程 #### 准备工作 确保操作系统已更新至最新状态,且已经安装了 Java Development Kit (JDK) 版本 1.8 或更高版本。 #### 下载 Tomcat 8.5.54 前往 Apache Tomcat 的官方网站获取指定版本的软件包。可以使用 `wget` 工具来完成下载任务。 ```bash cd ~ wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.54/bin/apache-tomcat-8.5.54.tar.gz ``` #### 创建目标目录解压文件 为了更好地管理服务器上的应用程序,在 `/usr/local/` 路径下建立一个新的名为 tomcat 的文件夹用于存放即将部署的服务端程序;接着利用 tar 命令解开刚才所获得的数据包[^4]。 ```bash sudo mkdir -p /usr/local/tomcat sudo mv ~/apache-tomcat-8.5.54.tar.gz /usr/local/tomcat/ cd /usr/local/tomcat sudo tar -zxvf apache-tomcat-8.5.54.tar.gz --strip-components=1 ``` #### 设置权限 调整新创建的应用服务文件夹及其内部资源项的安全属性,使得当前登录账户能够对其进行读取、写入以及执行操作。 ```bash sudo chown -R $USER:$USER /usr/local/tomcat sudo chmod +x /usr/local/tomcat/bin/*.sh ``` #### 配置环境变量 编辑用户的 shell profile 文件(如 `.bashrc`),添加必要的路径设置以便于后续启动和停止应用实例时可以直接调用相关命令而无需每次都提供完整的绝对路径。 ```bash echo 'export CATALINA_HOME="/usr/local/tomcat"' >> ~/.bashrc source ~/.bashrc ``` #### 启动测试 现在可以通过运行 bin 目录下的 start-up 脚本来检验整个过程是否顺利完成。如果一切正常的话,则应该可以在浏览器里通过访问 http://localhost:8080 来查看默认主页从而确认 Web 容器已经开始运作。 ```bash /usr/local/tomcat/bin/startup.sh ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值