centos7安装tomcat9

来源:互联网 发布:软件体系结构设计 pdf 编辑:程序博客网 时间:2024/05/21 21:01

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/jdk8JRE_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=TomcatAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/usr/local/tomcat/tomcat.pidExecStart=/usr/local/tomcat/bin/startup.sh -DFOREGROUNDExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target

3. 使用命令

配置开机启动 systemctl enable tomcat删除开机启动systemctl disable tomcat启动tomcatsystemctl start tomcat停止tomcatsystemctl stop tomcat重启tomcatsystemctl 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, 并且初始值等于最大值。
新生区的大小为对内存大小的三分之一。
非堆的大小根据项目中需要加载的类文件多少而定。

原创粉丝点击