apache2和jk和tomcat安装笔记-ubuntu
2019獨角獸企業重金招聘Python工程師標準>>>
Ubuntu是個很奇怪的系統。。。安裝完的路徑完全和官網下載安裝的不一樣
?
?
Tomcat一定要用7.0.5X????? 別的有的不好使各種報錯
環境變量里一定要有JAVA_HOME,PATH里一定包含JAVA_HOME
cat /etc/hosts
127.0.0.1?????? localhost
127.0.0.1?????? umw
127.0.0.1?????? 192.168.0.121
網絡對應關系需要把局域網ip對應本地ip
?
如果想獲取客戶端真實的ip應該添加remoteip這個模塊
?
apt-get install apache2 libapache2-mod-jk
安裝apache2和jk
?
Apache2的jk插件在/etc/apache2/mods-avalibale/jk.conf
???????? 而jk的workers.propertiy在/etc/libapache2-mod-jk/workers.propertiy
在property里指定java環境和多個tomcat
workers.java_home=/usr/lib/jvm/java7
? worker.list=loadbalancer,jkstatus
??????? worker.tomcat1.type=ajp13??
??????? worker.tomcat1.host=localhost
??????? worker.tomcat1.port=8009?
??????? worker.tomcat1.lbfactor=1
??????? worker.tomcat1.socket_keepalive=1?
?
??????? worker.tomcat2.type=ajp13
??????? worker.tomcat2.host=localhost
??????? worker.tomcat2.port=9009
??????? worker.tomcat2.lbfactor=1
??????? worker.tomcat2.socket_keepalive=1
??????? worker.jkstatus.type=status
??????? worker.loadmanager.sticky_session=True
??????? worker.loadbalancer.type=lb??
??????? worker.loadbalancer.balance_workers=tomcat1,tomcat2
這個status一定要這么寫 哎 累死我了各種試
?
在/etc/apache2/mods-avalibale/jk.conf編輯如下
加上
JkMount /*? loadbalancer
???? JkMount /jkstatus jkstatus?
?
找到 Deny from all注釋掉
?下面改為??????? Allow from all
?
?
Tomcat的配置
conf目錄下
編輯web.xml
最后一行</web-app>上面加上<distributable/>?
(使多個session共享)
在server.xml里配置session和端口
<Connector port="8080" protocol="HTTP/1.1"
?????????????? connectionTimeout="20000"
?????????????? redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
這兩句 第一個tomcat不用變 第二個改端口可以分別是 9090和9009,響應的端口改為9443
找到engine標簽 換成一下配置
jvmRoute第二個tomcat寫tomcat2
Receiver的address改為自己局域網的ip,port第二個tomcat改為4002
如果你不是在一臺機器上布置兩個tomcat,就不用改
?
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
?
?? <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"???
??????????????????? channelSendOptions="8">
?
???????????? <Manager className="org.apache.catalina.ha.session.DeltaManager"???
????????? ????????????expireSessionsOnShutdown="false"???
????????????????????? notifyListenersOnReplication="true"/>
?
???????????? <Channel className="org.apache.catalina.tribes.group.GroupChannel">
?????????????? <Membership className="org.apache.catalina.tribes.membership.McastService"???
?????????????????????????? address="228.0.0.4"???
?????????????????????????? port="45564"???
?????????????????????????? frequency="500"???
?????????????????????????? dropTime="3000"/>
?????????????? <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"???
???????????????????????? address="192.168.0.121"
???????????????????????? port="4001"
???????????????????????? autoBind="100"???
???????????????????????? selectorTimeout="5000"???
???????????????????????? maxThreads="6"/>
?
?????????????? <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
???????????????? <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
???????????? ??</Sender>
?????????????? <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
?????????????? <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
???????????? </Channel>
?
???????????? <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"???
??????????????????? filter=""/>
???????????? <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
?
???????????? <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"???
?????????????????????? tempDir="/tmp/war-temp/"???
?????????????????????? deployDir="/tmp/war-deploy/"???
?????????????????????? watchDir="/tmp/war-listen/"???
?????????????????????? watchEnabled="false"/>
?
???????????? <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
???????????? <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
?????????? </Cluster>
?
?
Apache2的配置
在/etc/apache2/apache2.conf里
空白處加
ServerName localhost:80
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml
在/etc/apache2/site-avaliable里編輯000-default.conf設置兩個tomcat的虛擬主機目錄
為了可以通過端口訪問兩個tomcat,如果不想讓兩個tomcat暴露的話不需要設置這個虛擬主機
<VirtualHost *:8080>
?????????? ServerAdmin webmaster@localhost
?????????? DocumentRoot /opt/tomcat5/webapps
?????????? ErrorLog /var/log/apache2/idealerror.log
?????????? LogLevel warn
?????????? CustomLog /var/log/apache2/idealaccess.log combined
?????????? <Directory "/opt/tomcat5/webapps/">
?????????????? Options FollowSymLinks
?????????????? AllowOverride None
????????????? Order allow,deny
????????????? Allow from all
?????????? </Directory>
? </VirtualHost>
? <VirtualHost *:9090>
????????? ServerAdmin webmaster@localhost
????????? DocumentRoot /opt/tomcat6/webapps
????????? ErrorLog /var/log/apache2/idea2error.log
????????? LogLevel warn
????????? CustomLog /var/log/apache2/idea2access.log combined
????????? <Directory "/opt/tomcat6/webapps/">
????????????? Options FollowSymLinks
????????????? AllowOverride None
???????????? Order allow,deny
????????????? Allow from all
?????????? </Directory>
? </VirtualHost>
先啟動tomcat再啟動apache restart
直接訪問局域網地址192.168.0.121就會跳轉到其中一臺tomcat的主頁
訪問http://192.168.0.121/jkstatus就可以查看apache2的狀態
然后你就可以吧項目考到tomcat的webapps目錄下來(兩個tomcat都要考哦),重啟tomcat訪問項目
?
Apache2的相關命令
/etc/init.d/apache2 force-reload 重載
/etc/init.d/apache2 restart 重啟
a2enmod添加插件(可查看jk是否被啟用)
a2dismod卸載插件
錯誤日志文件 在var/log/apache2文件夾中其中有mod_jk的日志文件,
也可以查看tomcat目錄下的logs文件夾內的localhost_access_log.2014-12-03.txt文件來查看tomcat與apache之間的通訊信息(比較多 看的眼花繚亂的)
?
轉載于:https://my.oschina.net/angleshuai/blog/354863
總結
以上是生活随笔為你收集整理的apache2和jk和tomcat安装笔记-ubuntu的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Git中的一些常用的命令
- 下一篇: MySQL 创建用户与修改密码