解决Linux环境下Tomcat启动卡住的问题

最近发现在阿里云服务器上启动tomcat的时候会存在卡住的情况,这种情况是每次必现,通过搜索发现是随机数生成问题.解决方案如下:

在服务器启动时也可以加上参数 -Djava.security.egd=file:/dev/./urandom

在文件catalina.sh:

JAVA_OPTS="-Xms2g -Xmx2g -XX:MaxMetaspaceSize=256m -Djava.security.egd=file:/dev/./urandom"


  • 注: Linux或者部分unix系统提供随机数设备是/dev/random 和/dev/urandom ,两个有区别,urandom安全性没有random高,但random需要时间间隔生成随机数。可能在生成随机数的时候卡住了,导致tomcat启动不了

### 如何重启Tomcat服务器 在开发环境中,尤其是使用 IntelliJ IDEA 进行 Java Web 开发时,有时需要手动停止并重新启动 Tomcat 服务器以应用更改或解决某些问题。以下是关于如何重启 Tomcat 的方法: #### 使用 IntelliJ IDEA 中的工具栏按钮 如果已经在 IntelliJ IDEA 中配置好了 Tomcat,则可以通过以下方式实现重启操作: 1. 找到 IDE 工具栏中的 **Stop** 按钮(通常是一个红色方块图标),点击它来终止当前正在运行的 Tomcat 实例[^1]。 2. 停止之后,在同一工具栏区域找到 **Run 'YourServerName'** 或者绿色三角形播放按钮再次执行启动命令。 #### 直接通过操作系统终端控制 对于更灵活的操作场景或者脱离具体IDE环境的情况来说,也可以借助命令行完成这一过程: 1. 定位至安装目录下的 `bin` 文件夹路径下; 2. 输入相应脚本来关闭服务端程序: 对于 Windows 用户可以尝试如下指令: ```cmd shutdown.bat ``` 而 Linux/macOS 平台则应采用 Shell Script 方式: ```bash ./shutdown.sh ``` 3. 如果发现无法正常退出进程(可能由于各种原因卡住),那么就需要强制杀死该后台线程了。先查询目标PID号再实施行动: - 查找对应Java进程编号可利用ps命令组合grep过滤关键字tomcat: ```bash ps aux | grep tomcat ``` - 获取确切ID后运用kill函数发送信号量给指定对象使其结束活动状态: ```bash kill -9 {process_id} ``` 4. 成功关停旧版实例以后按照常规流程开启新版本即可恢复业务运转状况: 启动Windows平台上的批处理文件: ```cmd startup.bat ``` Unix-like shell环境下调用startup脚本: ```bash ./startup.sh ``` 以上就是两种常见的途径用于指导开发者们安全有效地重置他们的Apache Tomcat Server实例[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值