Linux云服务器下Tomcat部署

Linux云服务器下Tomcat部署

  • 以阿里云下centos_7为例
  • 工具:
    • 一台安装centos_7_06_64_20G_alibase_20190218.vhd的云服务器(64位)
    • 一台安装了MobaXterm工具的电脑
    • MobaXterm:
      • ssh远程连接云服务器的软件
      • 本地机与服务器文件互传的软件

步骤一、连接云服务器

  • 安装MobaXterm
  • 点击Session 选择SSH 输入Remote host(服务器外网地址)
  • OK、然后输入用户名密码连接服务器
  • 创建基础目录 /usr/local/environment/
    -查看并进入environment目录
    cd /usr/local/environment/

步骤二、安装JDK

  • 下载 jdk-8u201-linux-x64.tar.gz 文件
  • 使用MobaXterm上传至environment目录下
  • 解压jdk-8u201-linux-x64.tar.gz tar -zxvf jdk-8u201-linux-x64.tar.gz
  • 修改名称 mv jdk-8u201-linux-x64 jdk8
  • 配置环境变量
    • 打开/etc/目录下的profile 文件:
      vim /etc/profile
    • 将如下代码追加到 profile 文件末尾:
      #jdk8 config start - 2019年9月13日
      export JAVA_HOME=/usr/local/environment/jdk8
      export PATH=$JAVA_HOME/bin:$PATH
      #jdk8 config end - 2019年9月13日
      
    • Esc 键、输入 :wq回车,保存并退出。
    • 启用新的配置 source /etc/profile
  • 查看java版本 java -version

步骤三、安装Tomcat

  • 下载apache-tomcat-9.0.17.tar.gz文件(Core下的tar.gz)
  • 使用MobaXterm上传至environment目录下
  • 在tools目录解压缩tar -zxvf apache-tomcat-9.0.17.tar.gz
  • 修改名称 mv apache-tomcat-9.0.17 tomcat9
  • 配置Tomcat环境变量
    • 打开/etc/目录下的profile 文件:
      vi /etc/profile
    • 将如下代码追加到 profile 文件末尾:
      #tomcat9 config start - 2019年9月13日
      export TOMCAT_HOME=/usr/local/environment/tomcat/tomcat9
      export CATALINA_HOME=/usr/local/environment/tomcat/tomcat9
      #tomcat9 config end - 2019年9月13日
      
      
    • Esc 键、输入 :wq回车,保存并退出。
    • 启用新的配置 source /etc/profile
  • 输入startup.sh运行tomcat 输入网址查看

配置(自选)

  • 配置可视化manager页面权限
<role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="teAdmin" password="1761ZAxscdvf!" roles="manager-gui,manager-script"/>

  • 修改 tomcat 的端口号和字符编码
    • 进入到 /root/tools/tomcat9/conf 目录中
    • 打开 tomcat 服务的配置文件 server.xml
    • 找到如下代码
      <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    • 将其中的 8080 改成 HTTP 协议的默认端口 80,改后的代码如下
      <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

分割线


我遇到的问题以及解决

一、CentOS7下Tomcat启动慢的原因及解决方案

  • 现象:CentOS 7系统中安装Tomcat,启动过程很慢,需要几分钟
  • 经过查看日志:tomcat目录下使用 tail -f logs/catalina.out发现耗时是session引起的随机数问题导致的。
  • 分析结果:主要原因是没有足够的熵来生成随机数,导致卡住了,所以tomcat启动很慢。

解决方案

  • 方案一:
    vim $JAVA_HOME/jre/lib/security/java.security
    securerandom.source=file:/dev/random
    改为
    securerandom.source=file:/dev/urandom
    
  • 方案二:
    vim $TOMCAT_HOME/bin/catalina.sh
    if [[ "$JAVA_OPTS" != *-Djava.security.egd=* ]]; then
        JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/urandom"
    fi
    
    这个系统属性egd表示熵收集守护进程(entropy gathering daemon)。
  • 方案三(本人采用):
    yum install rng-tools # 安装rngd服务(熵服务,增大熵池)
    systemctl start rngd  # 启动服务
    
题外话
  • Tocmat的Session ID是通过SHA1算法计算得到的,计算Session ID的时候必须有一个密钥。为了提高安全性Tomcat在启动的时候回通过随机生成一个密钥。
  • 是否有足够的熵来用于产生随机数,可以通过如下命令来查看
    [root@tomcat tools]# cat /proc/sys/kernel/random/entropy_avail 7
  • 为了加速/dev/random提供随机数的速度,你可以通过操作设备的外设,让其产生大量的中断(如网络传输数据,按键,移动鼠标,在命令行敲几个不同的命令,俗称聚气。
  • cat /dev/random 会消耗能量。

注意: 以上内容整理自:地主家的长工,转载请注明原出处!

二、No such file or directory错误

JAVA_HOME=/root/specil/jdk/jdk1.8.0_201
JRE_HOME=$JAVA_HOME/jre

Permission denied错误
权限
chmod u+x *.sh

  • 发生tomcat-x.x.x/logs/catalina.out: No such file or directory错误

  • 报错原因:在建立catalina.out文件时没有logs这个目录所以报错了,我们需要手工建立logs目录

      mkdir logs
    

#停止firewall
systemctl stop firewalld.service

#开启firewall
systemctl start firewalld.service

#禁止firewall开机启动
systemctl disable firewalld.service

#查看默认防火墙状态(关闭后显示not running,开启后显示running)
firewall-cmd --state

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值