使用压缩包安装
1、解压到一个目录下
2、配置环境变量(
a、进入根目录 cd /
b、然后编辑etc/profile文件
c、配置环境变量(
在文件的末尾追加如下配置
第一行表示解压之后的jdk的bin的父目录
)
d、保存退出
e、进入根目录(cd /)
e、使用source etc/profile命令使配置生效
)
最后使用java -version查看是否jdk安装成功
tomcat的安装
1、安装一个tomcat
a、解压压缩包
b、配置环境变量(
export CATALINA_HOME=tomcat的bin的父目录
export PATH=$CATALINA_HOME/bin:$PATH
)
c、进入tomcat的解压缩目录,找到bin目录进入bin目录,执行./startup.sh 开启tomcat(另一种开启方式:
./startup.sh && tailf ../logs/catalina.sh 这种方式可以看见开启过程中的详细信息,推荐使用
)
2、安装多个tomcat实现集群
a、解压,然后把解压后的tomcat复制多份
b、配置环境变量(
例如:我安装了三个tomcat实现集群
export CATALINA_BASE,export CATALINA_HOME,export TOMCAT_HOME后面都是对应三台tomcat的bin的父目录
export CATALINA_BASE=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_1_BASE=/usr/local/tomcat1
export CATALINA_1_HOME=/usr/local/tomcat1
export TOMCAT_1_HOME=/usr/local/tomcat1
export CATALINA_2_BASE=/usr/local/tomcat2
export CATALINA_2_HOME=/usr/local/tomcat2
export TOMCAT_2_HOME=/usr/local/tomcat2
)
c、修改Tomcat的配置,其中一个Tomcat配置保持不变,修改其它Tomcat,
位置:tomcat根目录/bin/catalina.sh
打开:vim catalina.sh
修改点(快捷搜索:/OS):
OS specific support节点下,添加:
export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME
修改相应的端口,还是保持一个不变,修改其它Tomcat
位置:conf/server.xml
1、服务端口:Server port:9005
2、访问端口:Connector port:9080
3、AJP端口:9009
只修改以上3个端口。修改时,是在原端口的基础上加1000。当然这不是硬性规定,可自定义。
ok
即可开启每台tomcat进行集群了
我遇到过的问题
一下内容来自:https://www.cnblogs.com/lxcy/p/8261012.html
07-Jan-2018 20:19:21.489 严重 [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[AJP/1.3-8009]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[AJP/1.3-8009]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:549)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:875)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.startup.Catalina.load(Catalina.java:621)
at org.apache.catalina.startup.Catalina.load(Catalina.java:644)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:309)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:995)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
... 12 more
Caused by: java.net.BindException: 地址已在使用
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:210)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1082)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:267)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:581)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:993)
... 13 more
解决办法:
关闭所有tomcat进程,重新启动即可解决,出现这个问题说明你的端口是占用状态,而你又重新启动tomcat
切换至tomcat所在目录
bin/startup.sh #启动tomcat
bin/shutdown.sh #停止tomcat
tail -f logs/catalina.ou t #看tomcat的控制台输出;
#看是否已经有tomcat在运行了
ps -ef |grep tomcat
#如果有,用kill;
kill -9 pid #pid 为相应的进程号