Apache 与 Tomcat 简易介接设定

本文章是以 CentOS 为作业系统进行安装与操作设定

HTTP Server

安装 Apache httpd

  1. 使用 CentOS yum 进行 Apache httpdmod_ssl 套件

    yum -y install httpd mod_ssl
    
    • 安装完成之後,设定设定开机自动启动 httpd 服务,并启用该服务
    systemctl enable httpd
    systemctl start httpd
    
  2. 强制使用 https 连线

    • 先设定环境变数 HTTPD 为路径 /etc/httpd/conf/
    export HTTPD='/etc/httpd/conf/'
    
    • httpd.conf 里的 Options 设定为 none
    sed -i 's/Options Indexes FollowSymLinks/Options None/' ${HTTPD}httpd.conf
    
    • httpd.conf 里设定自动转导加密连线
    cat >> ${HTTPD}httpd.conf << "EOF"
    
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    EOF
    
    • 取消环境变数设定
    unset HTTPD
    
  3. Apache 设定 ProxyPass 到 Tomcat

    • 编辑 ssl.conf 档案,档案路径为 /etc/httpd/conf.d/ssl.conf,添加 ProxyPass
    </VirtualHost>
    ProxyPass / ajp://localhost:8009/
    ProxyPassReverse / ajp://localhost:8009/
    
    • 在 selinux 开启允许 HTTPD 脚本及模块与网络连线
    setsebool -P httpd_can_network_connect 1
    
    • 重启 httpd 服务
    systemctl restart httpd.service
    

Tomcat Server

安装 Tomcat

  1. 安装 JRE

    yum -y install java-1.8.0-openjdk.x86_64
    
    • 安装完成後,检查 JAVA 版本
    java -version
    
    • 如果系统中有多个 java 版本,可用以下指令切换预设使用的版本:
    update-alternatives --config java
    
  2. Tomcat 安装步骤

    • 从 Tomcat 官网下载所要安装的版本 tar 档
    wget -P /opt http://ftp.mirror.tw/pub/apache/tomcat/tomcat-8/v8.5.57/bin/apache-tomcat-8.5.57.tar.gz
    
    • 解压至想要存放之目录,笔者放置於 /opt/ 目录
    tar -zxf /opt/apache-tomcat-8.5.57.tar.gz -C /opt
    
    • 设定软连结方便以後使用
    ln -s /opt/apache-tomcat-8.5.57 /opt/tomcat
    
    • 创建使用者 tomcat 并指定家目录为 /opt/tomcat
    useradd -r tomcat -s /sbin/nologin -d /opt/tomcat
    
    • 更改 tomcat 目录使用者及群组
    chown -Rh tomcat:tomcat /opt/tomcat /opt/apache-tomcat-8.5.57
    
  3. 设定 Tomcat 启用、关闭调用脚本

    cat > /etc/systemd/system/tomcat.service << "EOF"
    [Unit]
    Description=Tomcat
    After=syslog.target network.target
    
    [Service]
    Type=forking
    
    User=tomcat
    Group=tomcat
    
    Environment="CATALINA_BASE=/opt/tomcat"
    Environment="CATALINA_HOME=/opt/tomcat"
    Environment="CATALINA_PID=/opt/tomcat/tomcat.pid"
    
    ExecStart=/opt/tomcat/bin/startup.sh
    ExecStop=/opt/tomcat/bin/shutdown.sh
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
    • 重新启动系统服务
    systemctl daemon-reload
    
    • 设定开机启动 Tomcat 服务
    systemctl enable tomcat.service
    
    • 开启 Tomcat 服务
    systemctl start tomcat.service
    
  4. 编辑 Tomcat 的 server.xml 设定档,笔者档案路径为 /opt/tomcat/conf/server.xml

    • 将 Tomcat 8080 埠转 8443 埠注解掉
    <!-- comment this
    <Connector port="8080" protocol="HTTP/1.1"
         connectionTimeout="20000"
         redirectPort="8443" />
     -->
    
    • 针对 8009 埠重写设定
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" secretRequired="false" />
    
    • 将 Valve 注解
    <!-- comment this
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        prefix="localhost_access_log." suffix=".txt"
        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    -->
    
    • 重启 Tomcat
    systemctl restart tomcat.service
    
  5. 本机测试是否能连线成功

    curl -k https://localhost
    

<<:  课堂笔记 - 深度学习 Deep Learning (9)

>>:  Windows 10 KB5006670 更新导致电脑连接已安装的网络印表机,显示“0x00000709错误”

Day 12 [Python ML、特徵工程] 特徵工程整理

Categorical Encoding Encoding Describe One hot enc...

[Day30] 30 天 Java 从陌生到更陌生

终於来到最後一天了!!还记得这个教程的名字为「30 天 Java 从陌生到更陌生」吗? 为什麽会「更...

我们的基因体时代-AI, Data和生物资讯 Day07- 蛋白质结构和机器学习02:AlphaFold2 和 RoseTTAFold

上一篇我们的基因体时代-AI, Data和生物资讯 Day06-蛋白质结构和机器学习01我们继续分享...

Day 0x15 UVa10056 What is the Probability ?

Virtual Judge ZeroJudge 题意 输入玩家数与成功机率,输出 I-th 玩家成...

不只懂 Vue 语法:Vue 3 如何使用 Proxy 实现响应式(Reactivity)?

问题回答 Vue 3 会为 data 建立一个 Proxy 物件,并在里面建立 getter 和 s...