Tomcat && JAVA
所有web服务器上线前需要修改limit
基本概念
- jdk:java开发工具包(包含jre)
 - jre:java运行环境
 - SDK: 软件开发工具包
 - j2ee:企业应用类库
 - j2se:标准应用类库
 - j2me:手机微型应用类库
 - jdk: JDK是 Java 语言的软件开发工具包
下载
 
jdk:\ http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
创建用户,统一uid,方便以后运维
[root@ops-82 ~]# useradd -u 601 tomcat
[root@ops-82 ~]# passwd tomcat
Changing password for user tomcat.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:  
passwd: all authentication tokens updated successfully.
[root@ops-82 ~]# id tomcat
uid=601(tomcat) gid=1000(tomcat) groups=1000(tomcat)
[root@ops-82 ~]#
不确定uid、gid不相等原有, 使用下述方法创建
[root@ops-81 ~]# groupadd -g 601 tomcat
[root@ops-81 ~]# useradd -u 601 -g 601 tomcat
安装
[root@ops-82 backup]# tar zxf jdk-8u131-linux-x64.tar.gz
root@ops-82 backup]# mv jdk
jdk1.8.0_131/               jdk-8u131-linux-x64.tar.gz
[root@ops-82 backup]# mv jdk
jdk1.8.0_131/               jdk-8u131-linux-x64.tar.gz  
[root@ops-82 backup]# mv jdk1.8.0_131/ /usr/local/
[root@ops-82 backup]# ln -s /usr/local/jdk1.8.0_131/ /usr/local/jdk
[root@ops-82 backup]#
[root@ops-82 backup]# tar zxf apache-tomcat-8.0.44.tar.gz
[root@ops-82 backup]# mv apache-tomcat-8.0.44 /usr/local
[root@ops-82 backup]# ln -s /usr/local/apache-tomcat-8.0.44/ /usr/local/tomcat
[root@ops-82 backup]#
设置环境变量
[root@ops-82 local]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/usr/local/tomcat
[root@ops-82 local]# source /etc/profile
[root@ops-82 local]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
[root@ops-82 local]#
设置权限并切换用户
[root@ops-82 local]# chown -R tomcat.tomcat /usr/local/jdk
[root@ops-82 local]# chown -R tomcat.tomcat /usr/local/tomcat/
[root@ops-82 local]# su - tomcat
Last login: Wed Jun 28 11:09:05 CST 2017 on pts/0
[tomcat@ops-82 ~]$
启动
[tomcat@ops-82 ~]$ cd /usr/local/tomcat/bin/
[tomcat@ops-82 bin]$ ./startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[tomcat@ops-82 bin]$
默认8080端口,检查端口\
[tomcat@ops-82 bin]$ netstat -nltp\
检查日志/usr/local/tomcat/logs
[tomcat@ops-82 logs]$ ls
catalina.2017-06-28.log  host-manager.2017-06-28.log  localhost_access_log.2017-06-28.txt
catalina.out             localhost.2017-06-28.log     manager.2017-06-28.log
[tomcat@ops-82 logs]$
配置文件
[tomcat@ops-82 conf]$ pwd
/usr/local/tomcat/conf
[tomcat@ops-82 conf]$ ls
Catalina         catalina.properties  logging.properties  tomcat-users.xml  web.xml
catalina.policy  context.xml          server.xml          tomcat-users.xsd
[tomcat@ops-82 conf]$
默认根路径,一般情况下不修改,默认放在root下是不需要加路径的
[tomcat@ops-82 webapps]$ pwd
/usr/local/tomcat/webapps
[tomcat@ops-82 webapps]$ ls
docs  examples  host-manager  manager  ROOT
配置用户名密码,增加内容
[tomcat@ops-82 conf]$ vim tomcat-users.xml
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="tomcat" password="wanghui" roles="manager-gui,admin-gui"/>
重启f服务
临时目录每次重启要清空
/usr/local/tomcat/temp
/usr/local/tomcat/work
关闭
[tomcat@ops-82 work]$ cd /usr/local/tomcat/bin/
[tomcat@ops-82 bin]$ ./shutdown.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[tomcat@ops-82 bin]$
重启、启动、关闭脚本
[root@ops-82 bin]# cat tomcat.sh
#!/bin/bash
TOMCAT_PATH=/usr/local/tomcat
usage(){
echo "Usage: $0 [start|stop|status|restart]"
}
status_tomcat(){
ps aux|grep java|grep tomcat |grep -v 'grep'
}
start_tomcat(){
/usr/local/tomcat/bin/startup.sh
}
stop_tomcat(){
TPID=$(ps aux | grep java |grep tomcat | grep -v 'grep' | grep -v 'su' | awk '{print $2}')
kill -9 $TPID
sleep 5;
TSTAT=$(ps aux | grep java |grep tomcat | grep -v 'grep' | grep -v 'su' | awk '{print $2}')
    if [ -Z $TSTAT];then
        echo "tomcat stopped"
    else
        kill -9 $TSTAT
    fi
cd $TOMCAT_PATH
rm temp/* -rf
rm work/* -rf
}
main(){
case $1 in
    start)
        start_tomcat;;
    stop)
        stop_tomcat;;
    status)
        status_tomcat;;
    restart)
        stop_tomcat && start_tomcat;;
    *)
        usage;;
esac
}
main $1
[root@ops-82 bin]#chmod +x tomcat.sh
安全设置规范
参见《tomcat-安全设置规范》