Ubuntu下安装Tomcat7
第一部分:基本安装
1、打开http://tomcat.apache.org/download-70.cgi,下载apache-tomcat-7.0.68.zip。
2、拷贝至合适位置,如/usr/local/tomcat/,运行tar -zxvf ./apache-tomcat-7.0.68.zip解压,重命名解压后的目录:mv apache-tomcat-7.0.68 tomcat7。
3、配置tomcat的jdk变量,编辑/usr/local/tomcat/tomcat7/bin/catalina.sh ,在顶部加入(各种路径请根据环境调整):
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_45
CATALINA_HOME=/usr/local/tomcat/tomcat7
CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib
CATALINA_OPTS="$CATALINA_OPTS -Djava.security.egd=file:/./dev/urandom"
JAVA_OPTS="-Xms1024m -Xmx1024m"
红色标识处非常重要,如果tomcat启动巨慢,配置本参数即可,原理请参考:http://ifeve.com/jvm-random-and-entropy-source/
4、修改tomcat的配置文件server.xml,修改如下 (如果已经是正确的,则不需要改,注意红色字体)
<Host name="localhost" appBase="/opt/xxx" unpackWARs="true" autoDeploy="false">
红色标注为你应用发布目录,如果你的应用目录不想与tomcat分离,那么此处配置不用改,应用直接发布在webapps目录下即可。
5、安装tomcat服务,运行命令 ln -s /usr/local/tomcat/tomcat7/bin/catalina.sh /etc/init.d/tomcat7
然后就可以使用service tomcat7 start/stop等命令来启动或停止tomcat了。
6、开机自启动,将这个shell文件的link连到/etc/rc2.d/目录下。
linux的/etc/rcX.d/目录中的数字代表开机启动时不同的 run level,也就是启动的顺序,
Ubuntu9.10下有0-5六个level,不能随便连到其他目录下,可能在那个目录中的程序启动时 Tomcat所需要的一 些库尚未被加载,
用ln命令将tomcat的链接链过去:ln -s /etc/init.d/tomcat7/etc/rc2.d/S16Tomcat。rcX.d目录下的命名规则是很有讲究的,更具不同需要可能是S开头,也可能是K开头,之后的数字代表他们的启动顺序
reboot重启后就可以看到tomcat已经自动运行了。
第二部分:扩展,关于非root用户启动tomcat
有三种方式可以实现(建议使用第一种方式,还可以运行小于1024的端口):
1、第一种方式使用tomcat自带的工具jsvc,需要gcc支持,如果本机没有安装gcc,通过sudo apt-get install gcc。
jsvc 是一个源码是c的程序,通过fork出子进程去启动java,而进程成为控制进程,可以实现监视java子进程的目地。
在tomcat的bin目录下找到一个叫commons-daemon-native.tar.gz的包,运行tar -zxvf
commons-daemon-native.tar.gz 解压,得到commons-daemon-1.0.15-native-src的目录.
然后按顺序执行以下命令即可:
1) cd commons-daemon-1.0.15-native-src/unix
2) ./configure --with-java=/usr/lib/jvm/jdk1.8.0_45 #注:这是你机器上具体的jdk的路径,根据实际情况修改,如果已经配置了jdk环境变量,--with-java参数可省略,即./configure回车即可。
3) make
4) cp -r jsvc /usr/local/tomcat/tomcat7/bin #执行make后会生成一个jsvc的文件,将其复制到tomcat的bin目录
5) useradd tomcat -M -d / -s /usr/sbin/nologin #新建一个tomcat用户
6) 修改bin目录下的daemon.sh,在顶部位置加上以下配置(与catalina.sh相似):
JAVA_HOME=/usr/lib/jvm/jdk8
JAVA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=512m"
CATALINA_HOME=/usr/local/tomcat/tomcat7
CATALINA_OPTS="$CATALINA_OPTS -Djava.security.egd=file:/./dev/urandom"
CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib
TOMCAT_USER=tomcat
7) 参考第一部分的第5点,把catalina.sh换成daemon.sh来运行即可。
8) tomcat服务重启后,通过命令: ps -ef | grep tomcat 会看到进程是以tomcat身份来运行的了。
2、第二种方式,使用su命令
tomcat的启动脚本中,tomcat的启动命令那行改为su -c service tomcat,tomcat即为启动tomcat的用户
修改文件: vi /etc/rc.local
在最后加入:
su - tomcat -c '/usr/local/tomcat/bin/startup.sh'
3、使用sudo命令
tomcat的启动脚本中,tomcat的启动命令那行改为sudo -u tomcat /home/tomcat/bin/startup.sh,tomcat即为启动tomcat的用户
使用sudo时要注意,sudo默认是需要tty的,通过修改/etc/sudoers文件,将 Defaults requiretty 注释掉即可,否则系统启动时是不会自动运行的
Ubuntu下安装Tomcat7的更多相关文章
- 在Ubuntu下安装ovs-dpdk
在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...
- Ubuntu 下安装QT
Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...
- Ubuntu下安装JDK以及相关配置
1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下载的是jdk-8u60-linux-64.tar.gz 3.创建目录作为JDK的安装目录,这里选 ...
- Ubuntu下安装mod_python报错(GIT错误)
Ubuntu下安装mod_python3.4.1版本报出如下错误: writing byte-compilation script '/tmp/tmpE91VXZ.py' /usr/bin/pytho ...
- TODO:Ubuntu下安装Node
TODO:Ubuntu下安装Node Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高 ...
- Ubuntu杂记——Ubuntu下安装VMware
转战Ubuntu,不知道能坚持多久,但是自己还是要努力把转战过程中的学习到的给记录下来.这次就来记录一下,Ubuntu下如何安装VMware. 就我所知,Linux下有VirtualBox和VMwar ...
- 来杯Caffe——在ubuntu下安装Caffe框架并测试
Caffe是一种深度学习框架...blablabla...... Caffe要在ubuntu下安装 1. 安装依赖 sudo apt-get install libatlas-base-dev sud ...
- Ubuntu 下安装 Mysql
这里讲用Ubuntu下安装MySql ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server 2. apt-get ...
- ubuntu下安装配置OpenCV
Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...
随机推荐
- Collector for ArcGIS的使用体验
基于Esri的Portal for ArcGIS(下面简称Portal),用户可以搭建一个本地的地理信息云平台.围绕着这个云平台,Esri为不同的终端提供了响应的解决方案,其中Collector fo ...
- Bat小试牛刀
前天版本发布后同事才发现有点小瑕疵,当然这是前期的设计和测试没到位造成的.撇开这些不说,我想说的是知识面广一点,做起事情来可能更得心应手些. 大致是这样的,由于版本的迭代,导致发布的程序只能清除一部分 ...
- 牛顿迭代法(Newton's Method)
牛顿迭代法(Newton's Method) 简介 牛顿迭代法(简称牛顿法)由英国著名的数学家牛顿爵士最早提出.但是,这一方法在牛顿生前并未公开发表. 牛顿法的作用是使用迭代的方法来求解函数方程的根. ...
- tomcat升级,tomcat窗体改名,一台电脑安装多版本JDK
1 tomcat改名:在bin目录下找到次文件(如图),按图上指示修改(比如我窗体是主数据) 修改后: 2 一台电脑安装多个版本的JDK 为什么我们要安装多个版本JDK?--我是因为tomcat修复漏 ...
- H5 Video + DOM
HTML 5 Video + DOM HTML5 视频 HTML5 音频 HTML5 <video> - 使用 DOM 进行控制 HTML5 <video> 元素同样拥有方法. ...
- Markdown轻量级标记语言
1. Markdown是什么? Markdown是一种轻量级标记语言,它以纯文本形式(易读.易写.易更改)编写文档,并最终以HTML格式发布.Markdown也可以理解为将以MARKDOWN语言编写的 ...
- TFS2017代码搜索功能
当团队或者公司的研发中心的代码库扩展到了一定程度,在代码库中查找一些需要的代码会变的比较困难.比如敏捷模式下的项目小组希望能够找到并重用其他小组开发的一些基础性的功能代码,我们通常需要去找当事人去询问 ...
- SpringMVC4+MyBatis+SQL Server2014+druid 监控SQL运行情况
前言 在基于SpringMVC+MyBatis的开发过程中,我们希望能看到自己手写SQL的执行情况,在开发阶段我们可以配置log4j在控制台里基于debug模式查看,那么上线后,在生产声我们想查看SQ ...
- 纪念一下java学习之第一个get请求。
环境,变量及工具: 1.java jdk1.8.X 2.tomcat 8.5.11 3. 环境变量: CATALINA_HOME: tomcat安装地址 JAVA_HOME: JDK安装地址 ...
- python sorted排序用法详解
sorted排序 python sorted 排序 1. operator函数在介绍sorted函数之前需要了解一下operator函数. operator函数是python的内置函数,提供了一系列常 ...