插件窝 干货文章 apache和tomcat部署配置

apache和tomcat部署配置

Apache Tomcat 配置 localhost 212    来源:    2025-04-03

Apache与Tomcat部署配置指南

1. 基本概念

Apache HTTP Server:高性能的Web服务器,擅长处理静态内容 Apache Tomcat:Java应用服务器,专门用于运行Java Servlet和JSP

2. 独立部署方案

2.1 Apache独立部署

  1. 安装Apache

    # Ubuntu/Debian
    sudo apt-get install apache2
    
    # CentOS/RHEL
    sudo yum install httpd
    
  2. 基本配置

    • 主配置文件:/etc/apache2/apache2.conf (Ubuntu) 或 /etc/httpd/conf/httpd.conf (CentOS)
    • 虚拟主机配置:/etc/apache2/sites-available/
  3. 常用命令

    sudo systemctl start|stop|restart|status apache2  # Ubuntu
    sudo systemctl start|stop|restart|status httpd    # CentOS
    

2.2 Tomcat独立部署

  1. 安装Tomcat

    # 下载解压
    wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.xx/bin/apache-tomcat-9.0.xx.tar.gz
    tar -xzf apache-tomcat-9.0.xx.tar.gz
    mv apache-tomcat-9.0.xx /opt/tomcat
    
  2. 环境配置

    export CATALINA_HOME=/opt/tomcat
    export PATH=$PATH:$CATALINA_HOME/bin
    
  3. 启动/停止

    $CATALINA_HOME/bin/startup.sh
    $CATALINA_HOME/bin/shutdown.sh
    

3. Apache与Tomcat整合方案

3.1 使用mod_jk连接器

  1. 安装mod_jk

    # Ubuntu/Debian
    sudo apt-get install libapache2-mod-jk
    
    # CentOS/RHEL
    sudo yum install mod_jk
    
  2. 配置workers.properties

    # /etc/apache2/workers.properties
    worker.list=worker1
    worker.worker1.type=ajp13
    worker.worker1.host=localhost
    worker.worker1.port=8009
    
  3. Apache配置

    # /etc/apache2/mods-enabled/jk.conf
    JkWorkersFile /etc/apache2/workers.properties
    JkLogFile /var/log/apache2/mod_jk.log
    JkLogLevel info
    JkMount /* worker1
    

3.2 使用mod_proxy连接器

  1. 启用模块

    sudo a2enmod proxy proxy_ajp proxy_http
    
  2. Apache配置

    <VirtualHost *:80>
       ServerName yourdomain.com
    
       ProxyPass / ajp://localhost:8009/
       ProxyPassReverse / ajp://localhost:8009/
    
       # 或者使用HTTP协议
       # ProxyPass / http://localhost:8080/
       # ProxyPassReverse / http://localhost:8080/
    </VirtualHost>
    

4. 高级配置

4.1 负载均衡配置

<Proxy balancer://mycluster>
    BalancerMember ajp://tomcat1:8009 route=node1
    BalancerMember ajp://tomcat2:8009 route=node2
</Proxy>

ProxyPass / balancer://mycluster/ stickysession=JSESSIONID

4.2 SSL配置

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/key.pem

    ProxyPass / ajp://localhost:8009/
    ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>

5. 常见问题解决

  1. 403 Forbidden错误

    • 检查文件权限
    • 确认SELinux状态(CentOS/RHEL)
  2. mod_jk连接失败

    • 确认Tomcat AJP连接器已启用(server.xml)
    • 检查防火墙设置
  3. 性能优化

    • 调整Tomcat连接器参数
    • 启用Apache缓存模块(mod_cache)
  4. 日志查看

    • Apache日志:/var/log/apache2//var/log/httpd/
    • Tomcat日志:$CATALINA_HOME/logs/

6. 最佳实践

  1. 使用Apache处理静态内容,Tomcat处理动态内容
  2. 生产环境建议使用mod_proxy_ajp而非mod_jk
  3. 为安全考虑,限制AJP连接器的访问IP
  4. 定期更新Apache和Tomcat到最新稳定版本

希望这份配置指南对您有所帮助!如需更详细的特定场景配置,请提供更多需求细节。