ubuntu中安装tomcat
1.安装jdk6
shell>sudo apt-get install sun-java6-jdk(用新得立软件包安装)
2.下载tomcat6
下载地址是:http://tomcat.apache.org/ 本次安装的是:apache-tomcat-6.0.18.tar.gz
3.安装
将压缩包拷贝到 /opt 下(个人喜好,可以放在别处) shell>sudo cp apache-tomcat-6.0.18.tar.gz /opt
解压文件
shell>cd /opt shell>sudo tar zxvf apache-tomcat-6.0.18.tar.gz
解压完成后,会在 /opt 下生成文件夹 apache-tomcat-6.0.18
为了操作方便,在/usr/local 下建立软链接,名字是tomcat6shell>cd /usr/local shell>sudo ln -s /opt/apache-tomcat-6.0.18 tomcat6
测试tomcat是否能够正常启动shell>sudo /usr/local/tomcat6/bin/startup.sh 打开firefox,输入http://localhost:8080,如果正常访问,则表示成功。
4.设置tomcat开机自启动
根据tomcat官方的document说明,linux下设置开机自启动可以使用jsvc(tomcat包里自带)
设置tomcat以独立的用户运行(防止以root运行,权限太大)shell>sudo useradd -d /usr/local/tomcat6 -s /usr/sbin/nologin tomcat 上边的这个命令是添加一个系统用户tomcat,并且设置为不可登录系统。
设置用户tomcat 对tomcat6的访问权限shell>sudo chown -R tomcat:tomcat /usr/local/tomcat6 shell>sudo chown -R tomcat:tomcat /opt/apache-tomcat-6.0.18
安装jsvc,前提需要系统安装了gcc(系统一般默认安装),autoconf,libc6-devshell>sudo apt-get install .....
解压jsvc.tar.g shell>cd /usr/local/tomcat6/bin shell>sudo tar zxvf jsvc.tar.gz
准备编译配置文件 shell>cd jsvc-src shell>sudo sh support/buildconf.sh 如果成功,命令终端会打出: support/buildconf.sh: configure script generated successfully
为configure添加执行权限 shell>sudo chmod 755 configure
编译 shell>sudo ./configure –with-java=/usr/lib/jvm/java-6-sun (java的安装路径) shell>sudo make 如果没有出现错误,jsvc就安装成功了。
设置启动脚本拷贝jsvc带的tomcat5.sh 脚本拷贝到 /etc/init.d/ 下,并改名为tomcat shell>sudo cp /usr/local/tomcat6/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat
修改/etc/init.d/tomcat文件shell>sudo gedit /etc/init.d/tomcat
文件中要修改的内容如下:
JAVA_HOME=/usr/lib/jvm/java-6-sun #这个地方设置为机器的jdk的位置 CATALINA_HOME=/usr/local/tomcat6 #tomcat的安装位置(软链接) DAEMON_HOME=/usr/local/tomcat6/bin #tomcat启动程序的位置 TOMCAT_USER=tomcat #tomcat 的用户 CATALINA_BASE=/usr/local/tomcat6 #tomcat的安装位置 CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs" #注释掉这句,改成下句 CATALINA_OPTS= #添加下边这句 <br> $DAEMON_HOME/jsvc-src/jsvc #设置正确的jsvc程序的位置 $DAEMON_HOME/jsvc-src/jsvc #设置正确的jsvc程序的位置
设置 /etc/init.d/tomcat的可执行权限Shell>sudo chmod 755 /etc/init.d/tomcat
在/etc/rc2.d/下设置一个/etc/init.d/tomcat 的软链接shell>cd /etc/rc2.d/ shell>sudo ln -s /etc/init.d/tomcat S16tomcat
注:rc2.d目录下的文件要以S后就数字开头,表示启动的顺序。而rc2.d中的2,表示这个目录下文件在开机时的运行级别(runlevel)为2
5.结束
重新启动系统 shell>sudo reboot –n, 启动后,就可以在FF中直接输入http://localhost:8080,如果看到首页,即表示安装成功
##############################################################################
#
# Copyright 2004 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0 #
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##############################################################################
#
# Small shell script to show how to start/stop Tomcat using jsvc
# If you want to have Tomcat running on port 80 please modify the server.xml
# file:
#
#
#
# port="80" minProcessors="5" maxProcessors="75"
# enableLookups="true" redirectPort="8443"
# acceptCount="10" debug="0" connectionTimeout="60000"/>
#
# That is for Tomcat-5.0.x (Apache Tomcat/5.0)
#
# Adapt the following lines to your configuration
JAVA_HOME=/usr/lib/jvm/java-6-sun
CATALINA_HOME=/usr/local/tomcat6
DAEMON_HOME=/usr/local/tomcat6/bin
TOMCAT_USER=tomcat
# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/usr/local/tomcat6
CATALINA_OPTS=
CLASSPATH=
$JAVA_HOME/lib/tools.jar:
$CATALINA_HOME/bin/commons-daemon.jar:
$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc
-user $TOMCAT_USER
-home $JAVA_HOME
-Dcatalina.home=$CATALINA_HOME
-Dcatalina.base=$CATALINA_BASE
-Djava.io.tmpdir=$TMP_DIR
-wait 10
-pidfile $PID_FILE
-outfile $CATALINA_HOME/logs/catalina.out
-errfile '&1'
$CATALINA_OPTS
-cp $CLASSPATH
org.apache.catalina.startup.Bootstrap
#
# To get a verbose JVM
#-verbose
# To get a debug of jsvc.
#-debug
exit $?
;;
stop)
#
# Stop Tomcat
#
$DAEMON_HOME/jsvc-src/jsvc
-stop
-pidfile $PID_FILE
org.apache.catalina.startup.Bootstrap
exit $?
;;
*)
echo "Usage tomcat.sh start/stop"
exit 1;;
esac
[注:需要修改的地方,我都用红色标出来]
如果在其他linux系统,这样就okay了,但是在ubuntu中,还需要进行一步,就是把在rc2.d中设置一个软链接
在/etc/rc2.d目录下建立S16apache软联接到/etc/init.d/tomcat
shell>cd /etc/rc2.d
shell>ln -s /etc/init.d/apache2 S16apache
[注:rc2.d目录下的文件要以S后就数字开头,表示启动的顺序。而rc2.d中的2,表示这个目录下文件在开机时的运行级别(runlevel)为2]
四、结束
重新启动系统
shell>sudo reboot -n
启动后,就可以在FF中直接输入http://localhost:8080。如果成功,就可以看见一直可爱的kitten拉。
- 趣味理解朴素贝叶斯
- python笔记1-用python解决小学生数学题
- POJ 1012 Joseph
- 1344 走格子
- 如何利用配置中心规范构建PaaS服务配置
- Selenium2+python自动化8-SeleniumBuilder辅助定位元素
- HDU 1250 Hat's Fibonacci
- Scrapy在Ubuntu下的安装与配置
- Selenium2+python自动化20-引入unittest框架
- HDU 1002 A + B Problem II(高精度加法(C++/Java))
- POJ 1018 Communication System
- POJ 1017 Packets
- Codeforces 725B Food on the Plane
- Codefoces 723B Text Document Analysis
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 09 Confluent_Kafka权威指南 第九章:管理kafka集群
- 关于禁止使用Executors创建线程池的分析
- ArrayList源码分析(基于jdk1.8)(一):源码及基本操作
- ArrayList源码分析(基于jdk1.8)(二):subList陷阱
- 【每日一题】31. Next Permutation
- 关于聚合和多线程的处理套路
- Jboss漏洞利用总结
- 二次注入——sqli-labs第24关
- OCMock 源码分析
- MessageMock : 优雅的模拟 Objective-C 方法
- 10 个最佳 CSS 动画库
- node中文件监听的实现
- 数据增强策略(一)
- 如何将pdf转换为word 3.0
- 搭建分布式文件系统FastDFS