1. 程式人生 > >Linux7 非root 使用tomcat8

Linux7 非root 使用tomcat8

linu 腳本 基於 系統環境 profile unix log not nat

Linux7 非root 使用tomcat8

  1. 系統環境
    cat /etc/redhat-release
    CentOS Linux release 7.2.1511 (Core)
  2. tomcat安裝部署
    參考文檔:
    (1)基於Centos6的tomcat部署
    (2)想更深了解tomcat啟動原理,請參考Tomcat啟動腳本catalina.sh---解讀
    (3)配置tomcat
  3. 為什麽使用非root賬戶
    root用戶啟動tomcat有一個嚴重的問題,那就是tomcat具有root權限。
    這意味著你的任何一個頁面腳本(html/js)都具有root權限,所以可以輕易地用頁面腳本 修改整個硬盤裏的文件!所以最好不要使用root啟動tomcat。
  4. 非root賬戶運行tomcat
    #創建一個普通賬戶
    useradd -d /data/tuser -m tuser
    #編譯安裝tomcat服務守護程序
    cd /usr/local/tomcat8/bin
    #解壓
    tar vzxf commons-daemon-native.tar.gz
    cd commons-daemon-1.1.0-native-src/unix/
    #安裝前的配置及校驗
    ./configure
    #指定JDK目錄
    ##說明:我這裏已經定義了JDK的目錄了,信息如下:
    cat /etc/profile
    ##java path
    export JAVA_HOME=/usr/local/java
    export PATH=$JAVA_HOME/bin:$PATH
    ##tomcat path
    export CATALINA_HOME=/usr/local/tomcat8
    export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH
    #如果出現如下錯誤提示,說明未設置JAVA_HOME變量
    *** Java compilation tools ***
    checking for JDK location... configure: error: Java Home not defined. Rerun with --with-java=... parameter
    #如果看到以下信息,就可以編譯/安裝了
    *** All done ***
    Now you can issue "make"
    #編譯和安裝
    make
    #執行make後會生成一個jsvc文件,將其復制到tomcat的bin目錄
    cp jsvc /usr/local/tomcat8/bin
    #修改啟動腳本
    vim /usr/local/tomcat8/bin/daemon.sh
    找到如下內容
    test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
    #Set JAVA_HOME to working JDK or JRE
    #JAVA_HOME=/opt/jdk-1.6.0.22
    修改TOMCAT_USER=tomcat,"tomcat"為運行tomcat的用戶,本文創建的用戶為tuser,即tomcat更改為tuser。
    去除JAVA_HOME前的註釋(即“#”號),並設置為JDK的所在目錄(JAVA_HOME=/usr/local/java)。
    #更改文件所有者
    chown -R tuser:tuser /usr/local/tomcat8
    #賦予用戶執行權
    chmod a+x /usr/loacl/tomcat8/bin/daemon.sh
  5. tomcat啟動命令
    #後臺運行
    /usr/local/tomcat8/bin/daemon.sh  start
    或daemon.sh  start
    #前臺運行
    /usr/local/tomcat8/bin/daemon.sh   run
    或daemon.sh run
    #停止
    /usr/local/tomcat8/bin/daemon.sh   stop
    或daemon.sh stop

Linux7 非root 使用tomcat8