1.防火墙开启端口号

1
2
3
4
5
6
7
8
9
10
11
12
13
# 查看firewall的状态
firewall-cmd --state
# 开启(如果防火墙未开启的话先开启)
service firewalld start
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
firewall-cmd --query-port=8009/tcp
# 开放8080端口
firewall-cmd --permanent --add-port=8080/tcp
# 开放8009端口
firewall-cmd --permanent --add-port=8009/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

2.将压缩包复制到服务器并打开

/usr/local文件夹下新建名为tomcat的文件夹,将名为apache-tomcat-7.0.54.tar的压缩包进去

进入tomcat文件夹下

1
cd /usr/local/tomcat

解压

1
tar -xvf apache-tomcat-7.0.54.tar

3.调大Tomcat的jvm内存

在生产环境中,tomcat内存设置不好很容易出现JVM内存溢出,解决方法就是修改Tomcat中的catalina.sh文件

1
2
3
4
5
6
7
#进入bin目录下
cd /usr/local/tomcat/apache-tomcat-7.0.54/bin
#打开catalina.sh文件
vi catalina.sh
#按i进入编辑模式,找到cygwin=false,在这一行的前面加入参数,具体如下,按Esc退出编辑模式,再输入:wq!点击回车保存
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m"

其他说明:
  1. “m”说明单位是MB,否则默认是KB
  2. 一般使用物理内存的80%作为堆大小
  3. 一般把-Xms和-Xmx设为一样大
  4. 一般把-Xmn设置为-Xmx值的1/4
  5. 一般将堆的总大小的50%到60%分配给新生成的池
jvm参数说明:
  • -server 一定要作为第一个参数,启用JDK的server版本,在多个CPU时性能佳
    -Xms java Heap初始大小。 默认是物理内存的1/64。
    -Xmx java heap最大值。建议均设为物理内存的80%。不可超过物理内存。
    -Xmn java heap最小值,一般设置为Xmx的3、4分之一。
    -XX:PermSize 设定内存的永久保存区初始大小,缺省值为64M。
    -XX:MaxPermSize 设定内存的永久保存区最大大小,缺省值为64M。
    -XX:SurvivorRatio=2 生还者池的大小,默认是2。如
    -XX:NewSize 新生成的池的初始大小。 缺省值为2M。
    -XX:MaxNewSize 新生成的池的最大大小。 缺省值为32M。
    +XX:AggressiveHeap 让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
    -Xss 每个线程的Stack大小
    -verbose:gc 现实垃圾收集信息
    -Xloggc:gc.log 指定垃圾收集日志文件
    -XX:+UseParNewGC 缩短minor收集的时间
    -XX:+UseConcMarkSweepGC 缩短major收集的时间
    -XX:userParNewGC 可用来设置并行收集(多CPU)
    -XX:ParallelGCThreads 可用来增加并行度(多CPU)
    -XX:UseParallelGC 设置后可以使用并行清除收集器(多CPU)

4.改变端口号

如果不用默认的8080端口则需要修改端口号,在conf文件夹下的server.xml文件中修改。换端口号的话需要在防火墙开启相应的端口号,参考第一步。(如果使用默认的8080端口则跳过此步骤)

1
2
3
4
5
6
7
8
#进入conf目录下
cd /usr/local/tomcat/apache-tomcat-7.0.54/conf
#打开server.xml文件
vi server.xml
#按i进入编辑模式,找到
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>,
#将其中的8080换为需要的端口号,例如8090,按Esc退出编辑模式,再输入:wq!点击回车保存
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8090" protocol="HTTP/1.1" redirectPort="8443"/>

5.启动运行

1
2
3
4
#进入bin目录下
cd /usr/local/tomcat/apache-tomcat-7.0.54/bin
#启动运行
./startup.sh

部署完项目需要重启tomcat

1
2
3
4
5
6
#进入bin目录下
cd /usr/local/tomcat/apache-tomcat-7.0.54/bin
#停止运行
./shutdown.sh
#启动运行
./startup.sh