Linux下Tomcat的安装和使用

最近在新搭服务器,顺便就小记一下

Tomcat安装:

yum install tomcat

 

Tomcat启动相关命令:

systemctl start tomcat.service
systemctl stop tomcat.service
systemctl restart tomcat.service

也可以用

ps -axu | grep tomcat
kill -9 [PID]

sh <tomcat dir>/bin/startup.sh

Tomcat配置(server.xml):

如果要求不高,最简单的方法是在webapps目录中添加项目,

其中ROOT目录默认为主目录,不需要添加路径名。

 

如果需要同一个tomcat多个域名,就在Host同一级添加

 <Host name="<domain>" appBase="webapps" unpackWARs="false">
    <Context  path="" reloadable="false" docBase="<code dir>" workDir="<code dir>"></Context>
 </Host>

如果需要域名相同,就在Host中添加Context

<Context path="/" docBase="<code dir>" />

 

Tomcat强制关闭:

Linux系统下,tomcat默认的shutdown.sh不能kill掉对应的进程,如果直接调用再start,会导致新开一个进程,而且代码还不是最新的。

修改catalina .sh

PRGDIR=`dirname "$PRG"`
#新增如下代码
if [ -z "$CATALINA_PID" ]; then
	CATALINA_PID=$PRGDIR/CATALINA_PID
fi

修改shutdown.sh

#修改前
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
#修改后
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"

 

Tomcat 启动过慢

有时候可能会遇到

WARNING: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [167,755] milliseconds.

可以修改JVM解决(文末有方法),有兴趣深入的可以百度。

export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m -Djava.security.egd=file:/dev/./urandom"

 

 

可能遇到的错误:

Mar 13, 2020 6:54:33 PM org.apache.coyote.AbstractProtocol init
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"]
java.net.BindException: Permission denied (Bind failed) <null>:80
	at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:413)
	at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:715)
	at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:452)
	at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
	at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
	at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560)
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
	at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:840)
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:642)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:667)
	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:253)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:427)
Caused by: java.net.BindException: Permission denied (Bind failed)
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
	at java.net.ServerSocket.bind(ServerSocket.java:390)
	at java.net.ServerSocket.<init>(ServerSocket.java:252)
	at java.net.ServerSocket.<init>(ServerSocket.java:196)
	at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
	at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:400)
	... 17 more

这是由于linux的安全限制引起的:

1. 启动时,使用sudo xxx

2. 修改端口映射,如iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

一般如果使用负载均衡,tomcat的端口号都不会使用80.

 

延伸问题:

有的项目可能需要设置JAVA_OPTS,方法如下:

修改/etc/profile

export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m"

内存大小可以按个人喜好设定。

编码个人是建议UTF-8,不然很容易中文乱码,根据具体项目决定。

 

 

 

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux安装Tomcat有多种方法,以下是其中一种常见的方式: 1. 要安装Tomcat,首先需要在官方网站(http://tomcat.apache.org)上下载适用于Linux系统的Tomcat安装包。确保选择与Linux操作系统和硬件架构相匹配的版本。 2. 下载完成后,在终端中进入下载目录,并解压缩Tomcat安装包。使用以下命令解压缩: `tar -zxvf apache-tomcat-x.x.x.tar.gz`(x.x.x表示Tomcat的版本号) 3. 解压缩完成后,将解压缩的Tomcat目录移动到一个合适的位置。建议将其移动到`/opt`目录下。使用以下命令移动目录: `sudo mv apache-tomcat-x.x.x /opt/tomcat` 4. 设置Tomcat环境变量。打开.bashrc文件,可以使用以下命令进行编辑: `sudo nano ~/.bashrc` 在文件的末尾添加以下环境变量: `export CATALINA_HOME="/opt/tomcat"` `export PATH="$PATH:$CATALINA_HOME/bin"` 保存并关闭文件,然后运行以下命令使环境变量生效: `source ~/.bashrc` 5. 接下来,启动Tomcat服务器。在终端中输入以下命令: `sudo $CATALINA_HOME/bin/startup.sh` 如果没有报错,Tomcat服务器将启动并开始运行。 6. 最后,通过在Web浏览器中输入`http://localhost:8080`或`http://服务器IP地址:8080`来验证Tomcat是否成功安装。应该能够看到Tomcat的默认欢迎页面。 请注意,这只是一个简单的示例,安装方式可能会根据不同的Linux发行版和Tomcat版本而有所不同。建议在安装之前阅读相关的文档和指南,以确保正确安装和配置Tomcat

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fsh2008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值