JDK+TOMCAT

本文介绍如何在Linux和Windows系统上安装配置JDK和Tomcat,并实现Tomcat服务自启动。涵盖Linux环境下安装lrzsz工具、JDK与Tomcat配置,以及Windows系统下的环境变量设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 、LINUX

在Linux主机上,安装上传下载工具包rz及sz

如果不知道你要安装包的具体名称,可以使用yum provides */name 进行查找系统自带软件包的信息; 
这里写图片描述

一般会列出软件包的名称及版本,还有安装路径;查询到软件包名后,使用yum install -y 包名 进行安装。

lrzsz包安装完成后包括上传rz、下载sz命令;只需要安装这个包即可。

[root@localhost src]# yum install -y lrzsz

 

Centos 7安装 jdk 8

1 更新系统软件

yum update

2 查找系统已安装的jdk组件

rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]'

3 查看java版本

java -version

4 卸载以前已有的jdk

yum remove java-1.8.0-openjdk
yum remove java-1.7.0-openjdk
或
rm -rf $(which java)

5 在/usr目录中先建名为java的文件夹

mkdir /usr/local

6 下载jdk-8u111-linux-x64.tar.gz包,并上传至服务器中。

解压jdk-8u111-linux-x64.tar.gz包至/usr/local/jdk1.8.0_111文件夹

tar -xvf jdk-8u111-linux-x64.tar.gz -C /usr/local

7 添加到环境变量

编辑/etc/profile文件,在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下面添加如下代码:

#jdk
export JAVA_HOME=/usr/local/jdk1.8.0_111
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

8 执行命令使配置生效

source /etc/profile

9 验证,是否安装成功

java -version
netstat -anpt | grep java


Centos 7安装 tomcat8并配置开机运行

1.下载tomcat8.x.xx.tar.gz,使用sftp或vsftp等上传到服务器

2.tar命令直接解压到 /usr/local/ 目录下,将其修改为tomcat8
    sudo tar zxvf tomcat8.x.xx.tar.gz -C /usr/local/
    sudo mv tomcat8.x.xx tomcat8

3.tomcat需要增加一个pid文件,在 _$tomcat_home/bin 目录下面,增加 setenv.sh 配置,
  catalina.sh启动的时候会调用,同时配置java内存参数
    vi setenv.sh
    chmod 754 setenv.sh

#tomcat startup pid
#set java runtime environment variable
export JAVA_HOME=/usr/local/jdk1.8.0_111
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/usr/local/tomcat8
export CATALINA_BASE=/usr/local/tomcat8
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -        
 XX:MaxNewSize=256m"

    

4.增加 tomcat.service
在/usr/lib/systemd/system目录下增加tomcat.service,目录必须是绝对目录,添加如下命令:
 vim /usr/lib/systemd/system/tomcat.service

[unit]: 配置了服务的描述,规定了在network启动之后执行,
[service]: 配置服务的pid,服务的启动,停止,重启
[install]: 配置了使用用户

# conf service desc ,set do this after network started
[Unit]
Description=tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
# conf service pid, start,stop and restart
[Service]
Type=forking
PIDFile=/usr/local/tomcat8/tomcat.pid
ExecStart=/usr/local/tomcat8/bin/startup.sh
ExecStop=/bin/kill -s QUIT $MAINPID
ExecReload=/bin/kill -s HUP $MAINPID
PrivateTmp=true
# conf user
[Install]
WantedBy=multi-user.target

5.使用tomcat.service
centos7使用systemctl替换了service命令,如需设置其他服务,替换此处的tomcat即可,如:
systemctl start tomcat.service 启动服务
systemctl stop tomcat.service #停止服务
systemctl restart tomcat.service #重启服务
systemctl enable tomcat.service #增加开机启动
systemctl disable tomcat.service #删除开机启动

因为配置pid,在启动的时候会在tomcat的根目录下生产tomcat.pid文件,服务停止后删除.
同时tomcat在启动时,执行start不会启动两个tomcat,保证始终只有一个tomcat服务在运行.多个tomcat可以配置在多个目录下,互不影响。

6.查看效果 。重启服务器后,通过wget访问,终端输出如下所示,配置tomcat开机自启动成功!

7.(*非必须)8080端口添加到防火墙例外并重启(视自己服务器配置而定)

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

tomcat8配置HTTPS访问

URIEncoding="UTF-8"


二、 WINDOWS

安装完JDK后配置环境变量  计算机→属性→高级系统设置→高级→环境变量

1.系统变量→新建 JAVA_HOME 变量 。

变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0)

2.系统变量→寻找 Path 变量→编辑

在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

3.系统变量→新建 CLASSPATH 变量

变量值填写   .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)

系统变量配置完毕

在WINDOWS下配置tomcat以服务方式自启动

系统变量→新建 CATALINA_HOME 变量

本人是C:\apache-tomcat-8.0.46

然后打开系统服务进行查看

将服务设置为自启动


三 、虚拟机tomcat配置,使shiro项目对于SSL支持

1.首先生成数字证书,到/usr/local/tomcat8/localhost.keystore

2.设置tomcat下的server.xml

 

SslFiter默认端口是443,此处使用8443; "/login.jsp = ssl,authc"  表示访问登陆页面时需要走ssl


tomcat优化

1.禁用tomcat的AJP协议

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 

2.修改通讯模式BIO修改为NIO提高并发处理能力

<Connector port="8080" protocol="org.apache.coyote.http11.Http11Protocol" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8" />

3.启用外部连接池

#去掉注释并修改protocol:
<Connector executor="tomcatThreadPool"
               port="8080" protocol="org.apache.coyote.http11.Http11Protocol"
               connectionTimeout="20000"
               redirectPort="8443" />


#去掉注释并修改maxThreads:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
maxThreads="150" minSpareThreads="4"/>

#删除俩参数 删除后如下:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" />

#<Executor name="tomcatThreadPool"下添加:
port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="200"
acceptCount="1000"
disableUploadTimeout="true"
connectionTimeout="20000"
URIEncoding="UTF-8"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"
redirectPort="8443" />

4.JVM调优生产配置

编辑catalina.sh配置文件
[root@tomcat1 ~]# vim /usr/local/tomcat8/bin/catalina.sh

# OS specific support. $var _must_ be set to either true or false.下面添加

JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseParallelGCThreads=8 -XX:CMSInitiatingOccupancyFraction=80 -XX:
+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:-PrintGC -XX:-PrintGCDetails -XX:-PrintGCTimeStamps -Xloggc:../logs/gc.log"

参数描述:
-Xms #堆内存初始大小,单位m、g
-Xmx #堆内存最大允许大小,一般不要大于物理内存的80%
-XX:PermSize #非堆内存初始大小,一般应用设置初始化200m,最大1024m就够了
-XX:MaxPermSize #非堆内存最大允许大小
-XX:+UseParallelGCThreads=8 #并行收集器线程数,同时有多少个线程进行垃圾回收,一般与CPU数量相等
-XX:+UseParallelOldGC #指定老年代为并行收集
-XX:+UseConcMarkSweepGC #CMS收集器(并发收集器)
-XX:+UseCMSCompactAtFullCollection #开启内存空间压缩和整理,防止过多内存碎片

5.生产配置实例

#server.xml配置文件下:
[root@tomcat1 ~]# vim /usr/local/tomcat8/conf/server.xml
# <Connector executor="tomcatThreadPool"下面添加:

port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="200"
acceptCount="1000"
disableUploadTimeout="true"
connectionTimeout="20000"
URIEncoding="UTF-8"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"
redirectPort="8443" />

#参数说明:
org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio
maxThreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。
minSpareThreads:最小空闲线程数。
maxSpareThreads:最大空闲线程数,如果超过这个值,会关闭无用的线程。
acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。
disableUploadTimeout:禁用上传超时时间
connectionTimeout:连接超时,单位毫秒,0代表不限制
URIEncoding:URI地址编码使用UTF-8
enableLookups:关闭dns解析,提高响应时间
compression:启用压缩功能
compressionMinSize:最小压缩大小,单位Byte
compressableMimeType:压缩的文件类型

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值