Это должно было быть так же легко, как
1
2
3
|
sudo . /configure sudo make sudo make install |
но, как вы можете догадаться, это было немного больше, чем это.
1. Установка Apache APR .
« Большинство дистрибутивов Linux будут поставлять пакеты для APR », а дистрибутивы Linode — нет, у меня была пустая коробка с Ubuntu 10.10 без «gcc» и «make», не говоря уже о Apache APR. Слава Богу, сеть не была проблемой, в отличие от прошлого раза .
1
2
3
4
5
6
7
8
|
wget http: //apache .spd.co.il /apr/apr-1 .4.5. tar .gz tar -xzf apr-1.4.5. tar .gz rm apr-1.4.5. tar .gz cd apr-1.4.5/ sudo apt-get install make sudo . /configure sudo make sudo make install |
2. Установка Tomcat Native .
1
2
3
4
5
|
wget http: //off .co.il /apache//tomcat/tomcat-connectors/native/1 .1.20 /source/tomcat-native-1 .1.20-src. tar .gz tar -xzf tomcat-native-1.1.20-src. tar .gz rm tomcat-native-1.1.20-src. tar .gz cd tomcat-native-1.1.20-src /jni/native sudo . /configure --with-apr= /usr/local/apr |
Результат был
1
2
3
4
5
|
checking build system type ... x86_64-unknown-linux-gnu .. checking for APR... yes .. checking for JDK location (please wait)... checking Try to guess JDK location... configure: error: can't locate a valid JDK location |
Ой! « Не удается найти действительное местоположение JDK »? На моей машине?
1
2
3
4
5
6
7
8
|
$ which java /home/user/java/jdk/bin/java $ echo $JAVA_HOME /home/user/java/jdk $ java -version java version "1.6.0_24" Java(TM) SE Runtime Environment (build 1.6.0_24-b07) Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode) |
Но по какой-то причине скрипт « tomcat-native-1.1.20-src / jni / native / configure» не увидел мою переменную « JAVA_HOME », несмотря ни на что, и даже установка « sun-java6-jdk » не сильно помогла. После исправления скрипта «configure» для создания дампов местоположений он искал «valid JDK», который у меня был:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
|
.. configure: [ /usr/local/1 .6.1] configure: [ /usr/local/IBMJava2-1 .6.0] configure: [ /usr/local/java1 .6.0] configure: [ /usr/local/java-1 .6.0] configure: [ /usr/local/jdk1 .6.0] configure: [ /usr/local/jdk-1 .6.0] configure: [ /usr/local/1 .6.0] configure: [ /usr/local/IBMJava2-1 .6] configure: [ /usr/local/java1 .6] configure: [ /usr/local/java-1 .6] configure: [ /usr/local/jdk1 .6] configure: [ /usr/local/jdk-1 .6] .. |
Хорошо, теперь у вас есть это сейчас:
1
2
3
4
|
sudo ln -s ~ /java/jdk/ /usr/local/jdk-1 .6 sudo . /configure --with-apr= /usr/local/apr sudo make sudo make install |
И с
1
2
3
|
.. export LD_LIBRARY_PATH= '$LD_LIBRARY_PATH:/usr/local/apr/lib' .. |
Теперь у меня было красивое сообщение в журнале « catalina.out »:
1
2
3
4
5
6
7
|
.. Mar 7, 2011 11:51:02 PM org.apache.catalina.core.AprLifecycleListener init INFO: Loaded APR based Apache Tomcat Native library 1.1.20. Mar 7, 2011 11:51:02 PM org.apache.catalina.core.AprLifecycleListener init INFO: APR capabilities: IPv6 [ true ], sendfile [ true ], accept filters [ false ], random [ true ]. Mar 7, 2011 11:51:03 PM org.apache.coyote.AbstractProtocolHandler init .. |
Как только evgeny-goldin.org переместится в новое место на новой коробке Linode, он получит выгоду от этой оптимизации производительности. Я опишу процесс миграции и причины этого чуть позже, как только это будет сделано.
Справка: Ubuntu: Установка Apache Portable Runtime (APR) для Tomcat от нашего партнера по JCG Евгений Гольдин в блоге Goldin ++ .