1. 準備環境
先裝好這些東西:
- Apache HTTP Server(就是 Apache)
- Tomcat
- 編譯器:gcc、make
- Java 開發環境(JDK)
在 Ubuntu/Debian 上你可以這麼裝:
sudo apt update
sudo apt install build-essential apache2 tomcat9 openjdk-11-jdk
-
- *
2. 下載並解壓源碼
安裝包下載:https://pan.quark.cn/s/220ddde3d4ce**,假設你已經下載了 tomcat-connectors-1.2.32-src.tar.gz:
tar -xzf tomcat-connectors-1.2.32-src.tar.gz
cd tomcat-connectors-1.2.32-src/native
-
- *
3. 設置環境變量
要讓編譯知道 Apache 和 Tomcat 在哪,得設置幾個變量:
export APACHE_HOME=/usr/local/apache2 # 或者你 Apache 實際安裝路徑
export TOMCAT_HOME=/usr/share/tomcat9 # 或者你 Tomcat 的路徑
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
注意:路徑要根據你自己系統實際情況改。
-
- *
4. 配置和編譯
進入 native 目錄後執行:
./configure --with-apxs=/usr/bin/apxs2
make
--with-apxs是指定 apxs 工具的路徑,一般在/usr/bin/apxs2或/usr/bin/apxs- 如果提示找不到 apxs,可以裝:
sudo apt install apache2-dev -
- *
5. 安裝模塊
編譯完會生成一個 .so文件(比如 mod_jk.so),把它複製到 Apache 的模塊目錄:
sudo cp apache-2.0/mod_jk.so /usr/lib/apache2/modules/
-
- *
6. 配置 Apache 加載 mod_jk
編輯 Apache 配置文件(比如 /etc/apache2/apache2.conf或新建一個 /etc/apache2/mods-available/jk.load):
LoadModule jk_module modules/mod_jk.so
然後啓用模塊:
sudo a2enmod jk
-
- *
7. 配置 workers(告訴 Apache 怎麼連 Tomcat)
創建文件 /etc/apache2/workers.properties,內容類似:
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
再創建一個配置文件 /etc/apache2/jk.conf(或加到 apache2.conf 裏):
JkWorkersFile /etc/apache2/workers.properties
JkMount /* worker1
-
- *
8. 重啓 Apache 和 Tomcat
sudo systemctl restart apache2
sudo systemctl restart tomcat9
-
- *
9. 測試
放個 JSP 頁面到 Tomcat 的 webapps 目錄下,比如 test.jsp:
<%= new java.util.Date() %>
然後通過 Apache 訪問:http://你的服務器/test.jsp,如果能顯示時間,説明成功了。