My Blog:http://www.outflush.com/

通常情况下。在配置Tomcat生产环境时,一般会配置Tomcat以特定的身份执行(非root)。这样有利于提高安全性,防止站点被黑后的进一步权限提升。

本文依赖的环境:

  • Ubuntu(事实上大部分相同适用于CentOS)
  • JVM(安装并已配置好环境变量)
  • gcc、make等编译工具
  • JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55
  • CATALINA_HOME=/usr/local/apache-tomcat-7.0.53
  • 执行Tomcat的username为tomcat

首先须要到Apache Tomcat官网下载最新版Tomcat

Apache Tomcat:http://tomcat.apache.org

下载好安装包,解压到/usr/local/apache-tomcat-7.0.53下

# 进入Tomcat安装文件夹下的bin文件夹
cd /usr/local/apache-tomcat-7.0.53/bin # 解压commons-daemon-native.tar.gz
tar zxvf commons-daemon-native.tar.gz cd commons-daemon-native/unix # 这里须要gcc、make等编译工具。假设没有指定JAVA_HOME环境变量。则须要 --with-java= 參数指定jdk文件夹
.configure # 上一步成功后。make
make # make后,会在当前文件夹下生成一个名为 jsvc 的文件。将其拷贝到$CATALINA_HOME/bin文件夹
cp jsvc ../../ # 加入一个用来执行Tomcat的用户
useradd tomcat -M -d / -s /usr/sbin/nologin # 回到$CATALINA_HOME/bin文件夹下
cd ../../ # 接下来便是改动$CATALINA_HOME/bin文件夹下的 daemon.sh 文件
# 设置当中的TOMCAT_USER=tomcat,JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55 # 假设$CATALINA_HOME/bin下的*.sh文件没有执行权限,则为其加入执行权限
chmod +x *.sh # 设置$CATALINE_HOME文件夹及其全部子文件Owner为tomcat
chown -R tomcat:tomcat /usr/local/apache-tomcat-7.0.53 # 启动Tomcat
daemon.sh start

设置Tomcat为Service

# 创建 $CATALINA_HOME/bin/daemon.sh 的一个链接到 /etc/init.d/ 下,service名为tomcat7
ln -s /usr/local/apache-tomcat-7.0.53/bin/daemon.sh /etc/init.d/tomcat7 # 启动Tomcat
/etc/init.d/tomcat7 start
# 或者
service tomcat7 start

设置Tomcat开机自启动 (前提是已经设置Tomcat为Service)

# 设置开机自启动
update-rc.d tomcat7 defaults # 取消开机自启动
update-rc.d tomcat7 remove

參考资料:http://www.jdiy.org/read.jd?id=y0haaynq1w

Ubuntu下配置Tomcat以指定(非root)身份执行的更多相关文章

  1. 设置开机启动时指定非ROOT用户执行相应的脚本

    [root@MSJTVL-MJSP-A01 sm01]# vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *afte ...

  2. ubuntu下配置tomcat

    配置tomcat 1.解压 tar -zxvf apache-tomcat-7.0.53.tar.gz 2.修改/bin/catalina.sh cygwin=falsedarwin=falseos4 ...

  3. ubuntu 下配置Web服务器

    ubuntu 下配置Web服务器 1.切换管理员身份 终端/文本界面输入命令: su 根据提示输入密码 注: 如果不能使用su 点击查看如何启用su2.安装MySQL5 apt-get install ...

  4. Centos6.3 下使用 Tomcat-6.0.43 非root用户 jsvc模式部署 生产环境 端口80 vsftp

    一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...

  5. Centos6.3 下使用 Tomcat-6.0.43 非root用户 部署 生产环境 端口转发方式

    一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...

  6. Linux下配置Tomcat服务器

    Linux下配置Tomcat服务器和Windows下其实差不多,可以去官网下载安装包释放或者在线下载,只是当时下载的windows.zip文件,现在下载.tar.gz格式的即可,下面使用命令行的方式安 ...

  7. Ubuntu下配置tftp服务

    Ubuntu下配置tftp服务 1.安装TFTP软件 sudo apt-get install tftp-hpa tftpd-hpa tftp-hpa是客户端,tftpd-hpa是服务器端 2.建立t ...

  8. [转]Ubuntu下配置NFS服务

    [转]Ubuntu下配置NFS服务  http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...

  9. Linux下配置tomcat+apr+native应对高并发

    摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服 ...

随机推荐

  1. visual studio中使用vim快捷键

    vsvim下载链接: https://marketplace.visualstudio.com/items?itemName=JaredParMSFT.VsVim 下载,关闭visual studio ...

  2. Turtle库学习

    Python Turtle (Python绘图工具) 导入库 import turtle as t ps:为了方便调用我们这里给这个模块在本程序内重命名为 t 1. 画布 顾名思义就是用于绘图的区域 ...

  3. mysql启动问题

    /usr/local/mysql/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied) - ...

  4. Python+selenium(Autolt实现上传)

    AutoIt是一个使用类似BASIC脚本语言的免费软件,被设计用来进行Windows GUI的自动化测试.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务. 此次小编介绍的是利用Auto ...

  5. python自定义模块导入方法,文件夹,包的区别

    python模块导入,网上介绍的资料很多,方法也众说纷纭.根据自己的实践,感觉这个方法最简单直接,而且可以与主流的python ide生成的工程是一样的. 规则只有三条 1.      严格区分包和文 ...

  6. ZOJ 2478 Encoding

    Encoding Time Limit: 2 Seconds      Memory Limit: 65536 KB Given a string containing only 'A' - 'Z', ...

  7. POJ3321Apple Tree【dfs 树状数组】

    题目大意:一棵树(不一定是二叉树!!),树的节点上本来都有一个苹果,要求完成以下操作: 1.指定某个节点,如果这个节点原本有苹果则拿去,如果没有苹果则填上一个苹果 2.询问某个节点以及其子树一共有多少 ...

  8. [Usaco2007 Oct] Super Paintball超级弹珠

    Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 489  Solved: 384[Submit][Status][Discuss] Description ...

  9. apache cgi 模块安装

    apache安装,请参照:http://httpd.apache.org/docs/2.4/ 安装系统: Fedora release 21 (Twenty One)  (x64) 版本:Server ...

  10. 《APP开发》APP规范实例-详细的UI设计方法

    对了一个APP开发初手来说,可能心里有很多的疑惑: 屏幕设计为多宽,宽度是不是应该设置为百分比; 按钮大小多大,怎么排列,文字字体用多大的?什么字体显示好看?图标多大,怎么用色?界面怎么布局?等等很多 ...