|
简单介绍:
说明: Tomcat是Apache软件基金会项目中的一个核心项目,它具有处理HTML页面的功能(性能不如Nginx/Apache),而且是Servlet和JSP容器(在标准的MVC架构中,Servlet作为Controller控制层接受用户请求并转发给相应的Action处理,JSP作为View主要用来产生动态页面),独立的Servlet容器是Tomcat的默认模式,相对于Nginx/Apache常用作静态内容服务来说,Tomcat常用作后端应用服务.
版本选择:
Tomcat | apache-tomcat-7.0.72.tar | http://tomcat.apache.org/download-70.cgi | Jdk | jdk-7u80-linux-x64.tar.gz | http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html | 说明: Tomcat以Java编写,安装对应的完整的Java运行环境(强烈推荐Jdk而非Jre),个人经验以版本选择以上个稳定版为主,个人选择7.0.x版
快速安装:
通用安装:
略
绿色安装:
# 安装Jdk
mkdir -p /xm-workspace/xm-webs/xmcloud/jdk/
tar -zxvf jdk-7u80-linux-x64.tar.gz -C /xm-workspace/xm-webs/xmcloud/jdk/
cd /xm-workspace/xm-webs/xmcloud/jdk/
mv jdk1.7.0_80/* ./ && rm -rf rm -rf jdk1.7.0_80 # 安装Tomcat
groupadd tomcat
useradd -M -s /bin/bash -g tomcat tomcat
usermod -L tomcat
mkdir -p /xm-workspace/xm-webs/xmcloud/tomcat8081
tar -zxvf apache-tomcat-7.0.72.tar.gz -C /xm-workspace/xm-webs/xmcloud/tomcat8081/
chown tomcat.tomcat /xm-workspace/xm-webs/xmcloud/tomcat8081
cd /xm-workspace/xm-webs/xmcloud/tomcat8081/
mv apache-tomcat-7.0.72/* ./ && rm -rf apache-tomcat-7.0.72
chown -R tomcat ./* # 设置环境变量(头部添加环境变量即可)
vim /xm-workspace/xm-webs/xmcloud/tomcat8081/bin/catalina.shPORT=8081
HOME=`pwd|sed "s/\/tomcat${PORT}.*//g"`
export JRE_HOME="${HOME}/jdk/jre"
export JAVA_OPTS="-server -Xms1024m -Xmx1024m -Xmn384m -XX:PermSize=64m -XX:MaxPermSize=128m -XX:+UseParallelOldGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:${HOME}/tomcat${PORT}/logs/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${HOME}/tomcat${PORT}/heapdump.bin" 说明: -server表示启用jdk的server版,-Xms1024m表示java虚拟机初始化时最小内存,-Xmx1024m表示java虚拟机可使用的最大内存,-XX:PermSize=64m -XX:MaxPermSize=128m主要是为了防止堆栈永久区溢出设置,所以可以保持默认或是任意合理值即可,-XX:+UseParallelOldGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:${HOME}/tomcat${PORT}/logs/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${HOME}/tomcat${PORT}/heapdump.bin主要是添加内存溢出导致Tomcat宕掉后日志记录分析使用,生产环境推荐加上.
目录结构:
[root@xm-server-50024 xm-webs]# tree -L 3
.
└── xmcloud
├── jdk
│ ├── bin
│ ├── COPYRIGHT
│ ├── db
│ ├── include
│ ├── jre
│ ├── lib
│ ├── LICENSE
│ ├── man
│ ├── README.html
│ ├── release
│ ├── src.zip
│ ├── THIRDPARTYLICENSEREADME-JAVAFX.txt
│ └── THIRDPARTYLICENSEREADME.txt
└── tomcat8081
├── bin
├── conf
├── lib
├── LICENSE
├── logs
├── NOTICE
├── RELEASE-NOTES
├── restart_service.sh
├── RUNNING.txt
├── start_service.sh
├── stop_service.sh
├── temp
├── webapps
└── work 说明: 为了更好配合SaltStack实现自动化配置管理,纵然是单实例也可使用此结构,每个实例的配置以及启动/关闭/重启等控制脚本独立存在方便后期扩展和管理
快速启动:
/xm-workspace/xm-webs/xmcloud/tomcat8081/start_service.sh
#!/usr/bin/env bash
# -*- coding: utf-8 -*-
#
#
# Authors: limanman
# 运维网BG: http://xmdevops.blog.运维网.com/
# Purpose:
#
#
prog_name=`pwd`
prog_path=`pwd`
runningas="tomcat"
prog_ppid=`ps -ef | grep ${prog_name}| grep -v grep | tr -s " "|cut -d" " -f2`
if [[ "${prog_ppid}" != "" ]];then
echo -e "Host: $(hostname) Pid: ${prog_ppid} Prog: ${prog_path} Status: start"
else
wlansip=`grep -oP '(? |
|
|