centos7安装tomcat9

centos7安装tomcat9

开发中一直使用tomcat,遇到过许多问题,感谢度娘与各位大神的博客,问题最终都顺利解决,以下便将一些常用设置做一个汇总。
一、 下载tomcat并解压
在安装tomcat前需要先安装好JDK: http://blog.csdn.net/cruel_xuan/article/details/78436943
一些文章之处centos会预装OpenJDK,需要现行卸载,本人一直使用阿里云服务器,系统中并没有预装。建议安装前还是先行检测:http://www.cnblogs.com/ystq/p/5972608.html
1.下载
将软件包下载到/usr/local/src 目录下
cd /usr/local/src
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1.tar.gz

tomcat官方下载地址:https://tomcat.apache.org/download-90.cgi

2.解压下载的tar包,并复制到usr/local目录下

 tar -zxvf apache-tomcat-9.0.1.tar.gz
 mv apache-tomcat-9.0.1 ../tomcat 

二、 指定JAVA_HOME 与 JRE_HOME
在tomcat/bin目录下创建setenv.sh文件,catalina.sh启动的时候会调用该文件,设置内如如下:

CATALINA_HOME=$(cd `dirname $0`;cd ..;pwd)
JAVA_HOME=/usr/local/jdk/jdk8
JRE_HOME=$JAVA_HOME/jre

三、 启动与停止
现在tomcat基本配置已经完成可以启动运行了,先进入/usr/local/tomcat/bin目录下,然后运行startup.sh即可启动tomcat

 cd /usr/local/tomcat/bin
 ./startup.sh

停止tomcat:

 cd /usr/local/tomcat/bin
 ./shutdown.sh

启动很慢的解决方案:
修改jre/lib/security/java.security文件,将
securerandom.source=file:/dev/random
修改为
securerandom.source=file:/dev/./urandom

tomcat残留进程解决:
查找tomcat相关进程:ps -ef | grep tomcat
强制杀死进程:kill -9 进程号

四、设置端口与字符集编码
修改tomcat/conf/server.xml 中的Connector节点,修改后如下:

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" URIEncoding="UTF-8"  />

prot: 端口 , URIEncoding:字符集编码

五、 配置tomcat的manager权限
1. 打开 tomcat 的用户配置文件 tomcat-users.xml:
vim tomcat-users.xml
在标签中加入用户权限配置:

<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

2. 修改Tomcat/webapps/manager/META-INF/context.xml文件的Value 节点如下:

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
     allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />

六、设置全局启动、停止、开机自启
1. 在第二步中创建的setevn.sh文件中追加,如下代码:

CATALINA_PID="$CATALINA_BASE/tomcat.pid"

2. 在/usr/lib/systemd/system目录下增加tomcat.service,内容如下:

[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh -DFOREGROUND
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

3. 使用命令

配置开机启动 
systemctl enable tomcat
删除开机启动
systemctl disable tomcat
启动tomcat
systemctl start tomcat
停止tomcat
systemctl stop tomcat
重启tomcat
systemctl restart tomcat
参考自:http://linux.it.net.cn/CentOS/course/2015/0201/12774.html

七、JVM内存设置
在第二步中创建的setevn.sh文件中追加,如下代码即可:

JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:MaxNewSize=256m -XX:PermSize=128M  -XX:MaxPermSize=512m"

参数详解请阅读这篇文章:https://my.oschina.net/xianggao/blog/83823
根据服务器配置不同各项参数必须要配置不同的值。
总结:
1.简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中,它和堆不同,运行期内GC不会释放其空间。
2.配置计算方式
堆内存可设置为实际物理内存的1/2, 并且初始值等于最大值。
新生区的大小为对内存大小的三分之一。
非堆的大小根据项目中需要加载的类文件多少而定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值