安装方式:源码安装

软件:apache-tomcat-7.0.29.tar.gz
下载地址:http://tomcat.apache.org/download-70.cgi

安装前提

系统必须已经安装配置了JDK6+,如果不会安装请参考linux应用之jdk安装。

安装tomcat

将apache-tomcat-7.0.29.tar.gz文件上传到/usr/local中执行以下操作:

[root@admin local]# cd /usr/local
[root@admin local]# tar -zxv -f apache-tomcat-7.0.29.tar.gz         // 解压压缩包 
[root@admin local]# rm -rf apache-tomcat-7.0.29.tar.gz   // 删除压缩包 
[root@admin local]# mv apache-tomcat-7.0.29  tomcat

启动Tomcat

执行以下操作:

[root@admin ~]#  /usr/local/tomcat/bin/startup.sh   //启动tomcat
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.7.0/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

出现以上的打印信息说明已经成功启动。

防火墙开放8080端口

增加8080端口到防火墙配置中,执行以下操作:

[root@admin ~]# vi + /etc/sysconfig/iptables
#增加以下代码 
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

重启防火墙

[root@admin java]# service iptables restart

检验Tomcat安装运行

通过以下地址查看tomcat是否运行正常(根据自己的ip):

http://202.116.147.88:8080/

看到tomcat系统界面,恭喜,安装成功!如果看不到,可以修改tomcat的端口号(conf目录中的server.xml中),然后重启再试试。

停止Tomcat

[root@admin ~]#  /usr/local/tomcat/bin/shutdown.sh   //停止tomcat

建立自己的启动脚本/etc/init.d/tomcat

#vi /etc/init.d/tomcat

#chmod 755 /etc/init.d/tomcat

#chmod root:root /etc/init.d/tomcat

#/etc/init.d/tomcat restart    (测试是否能正常工作)

测试过程中发现用

#service tomcat restart        启动时出现

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

问题。

解决办法:在脚本中找到以下行,将自己的JAVA_HOME补全即可(也可以找到tomcat的catalina.sh文件,将JAVA_HOME和JRE_HOME添加到脚本开始位置)

  #Location of JAVA_HOME (bin files)
export JAVA_HOME=

具体启动脚本内容如下:

#!/bin/bash
#
# chkconfig: - 95 15
# description: Tomcat start/stop/status script #Location of JAVA_HOME (bin files)
export JAVA_HOME= #Add Java binary files to PATH
export PATH=$JAVA_HOME/bin:$PATH #CATALINA_HOME is the location of the configuration files of this instance of Tomcat
CATALINA_HOME=/usr/local/tomcat #TOMCAT_USER is the default user of tomcat
TOMCAT_USER=www #TOMCAT_USAGE is the message if this script is called without any options
TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}" #SHUTDOWN_WAIT is wait time in seconds for java proccess to stop
SHUTDOWN_WAIT=20 tomcat_pid() {
echo `ps -ef | grep $CATALINA_HOME | grep -v grep | tr -s " "|cut -d" " -f2`
} start() {
pid=$(tomcat_pid)
if [ -n "$pid" ];then
echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"
else
echo -e "\e[00;32mStarting tomcat\e[00m"
if [ `user_exists $TOMCAT_USER` = "1" ];then
su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh
else
$CATALINA_HOME/bin/startup.sh
fi
status
fi
return 0
} status(){
pid=$(tomcat_pid)
if [ -n "$pid" ];then
echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"
else
echo -e "\e[00;31mTomcat is not running\e[00m"
fi
} stop() {
pid=$(tomcat_pid)
if [ -n "$pid" ];then
echo -e "\e[00;31mStoping Tomcat\e[00m"
$CATALINA_HOME/bin/shutdown.sh let kwait=$SHUTDOWN_WAIT
count=0;
until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
do
echo -n -e "\e[00;31mwaiting for processes to exit\e[00m\n";
sleep 1
let count=$count+1;
done if [ $count -gt $kwait ];then
echo -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m"
kill -9 $pid
fi
else
echo -e "\e[00;31mTomcat is not running\e[00m"
fi return 0
} user_exists(){
if id -u $1 >/dev/null 2>&1; then
echo "1"
else
echo "0"
fi
} case $1 in
start)
start
;; stop)
stop
;; restart)
stop
start
;; status)
status
;; *)
echo -e $TOMCAT_USAGE
;;
esac
exit 0

linux应用之tomcat安装(centos)的更多相关文章

  1. Linux Centos7部署环境安装-CentOS

    Linux Centos7部署环境安装-CentOS Centos7部署环境安装及Linux常用命令 centos系统下各文件夹的作用 centos7修改系统默认语言 centos7安装rz/sz命令 ...

  2. Linux系统下tomcat安装配置

    Linux系统中Tomcat的安装配置. 前提JDK已经安装好. 安装 下载tomcatwget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0 ...

  3. 初涉定制linux系统之——自动化安装Centos系统镜像制作

    最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...

  4. Percona MySQL 5.7 Linux通用二进制包安装(CentOS 6)

    Linux 安装 Percona http://blog.itpub.net/26506993/viewspace-2136501/ https://www.cnblogs.com/snowwhite ...

  5. linux环境下tomcat安装

    1.安装tomcat前安装jdk(前提下) 2.下载安装包apache-tomcat-8.0.36.tar.gz    解压:tar -zxvf apache-tomcat-8.0.36.tar.gz ...

  6. Linux学习——卸载Ubuntu,安装CentOS,第一次使用命令

    最近,看了相关的资料,发现Ubuntu不是很利于学习Linux操作系统,而CentOS比较有利于学习Linux操作系统,就卸载了. 当然,对于菜鸟,自然是很没有主见. 卸载Ubuntu感觉很奇怪,下来 ...

  7. linux jdk 和tomcat环境变量配置

    系统版本:centos6.5版本 java版本:1.8 一.准备工作 1. java -version 检查是否有java环境,没有则需要去安装并配置到环境变量中. 2.下载tomcat包,下载地址: ...

  8. Linux学习4-阿里云服务器(CentOS)下使用 Tomcat安装 Jenkins

    前言 通常做自动化测试,需要用到jenkins来做持续集成,那么linux系统里面如何使用tomcat安装Jenkins环境呢? 前面一篇已经搭建好java和tomcat环境,接着直接下载jenkin ...

  9. linux 学习一:安装jdk和tomcat

    使用secureCRT 一.首先安装centos的rzsz. 1.yum自动安装:(yum安装rzsz) yum install lrzsz 2.手动安装方法如下:(包有问题,还是采用第一种方式) 2 ...

随机推荐

  1. Vue避免 v-if 和 v-for 用在一起

    永远不要把 v-if 和 v-for 同时用在同一个元素上. 一般我们在两种常见的情况下会倾向于这样做: 为了过滤一个列表中的项目 (比如 v-for="user in users" ...

  2. UNP学习笔记(第四章 基本TCP套接字编程)

    本章讲解编写一个完整的TCP客户/服务器程序所需要的基本套接字函数. socket函数 #include <sys/socket.h> int socket(int family,int ...

  3. SQL CASE WHEN ... THEN ... ELSE.. END 实例

    用一个SQL语句完成不同条件的分组(SELECT部分): select QuoteOrderId,SUM(case when(ApprovalStatus=1)then Amount else 0 e ...

  4. spring-struts-mybatis整合错误集锦

    尽管三大框架特别特别的好用,可是,当我第一次把这三个框架用maven整合到一起的时候.各种错误接踵而至,以下来做一下三大框架整合的总结: 首先是在导入三大框架的各种依赖包的时候,由于我用的是j2ee  ...

  5. java获取网页源码

    获取网页的源码: package com.atguigu.crud.controller; import java.io.BufferedReader; import java.io.Buffered ...

  6. easyNetq demo

    本demo包含一个类库,2个console程序 1.新建类库  MQHelper,控制台程序  consumer和proc ,控制台程序引用MQHelper 2.使用nuget安装easynwtq 和 ...

  7. Linux内核源码分析方法_转

    Linux内核源码分析方法 转自:http://www.cnblogs.com/fanzhidongyzby/archive/2013/03/20/2970624.html 一.内核源码之我见 Lin ...

  8. JS实现图片无缝滚动特效;附addEventListener()方法、offsetLeft和offsetWidth属性。

    一:html部分 <body> <input id="btn1" type="button" value="向左"> ...

  9. 单例模式(Mongo对象的创建)

    单例模式: 饿汉式单例 //饿汉式单例类.在类初始化时,已经自行实例化 public class Singleton1 { //私有的默认构造子 private Singleton1() {} //已 ...

  10. Azkaban_Oozie_action

    http://azkaban.github.io/azkaban/docs/2.5/ There is no reason why MySQL was chosen except that it is ...