日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

tomcat jsvc java_opts_Tomcat 学习笔记(2) - 使用 jsvc 启动tomcat

發(fā)布時(shí)間:2024/9/27 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tomcat jsvc java_opts_Tomcat 学习笔记(2) - 使用 jsvc 启动tomcat 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

jsvc 是個(gè)什么是么高端武器呢

全稱:Java Service

還是沒有弄明白是什么,那就繼續(xù)往下看。

我們贊不討論 tomcat 應(yīng)不應(yīng)該運(yùn)行在80端口上。

假如我們有需求,需要 tomcat 運(yùn)行在 80 端口上。

那么一個(gè)限制就出現(xiàn)了。*nix操作系統(tǒng)只用root權(quán)限才能監(jiān)聽1024已下的端口。

雖然我們可以讓 tomcat 啟動(dòng)后 以 tomcat用戶的權(quán)限工作。這樣安全性就可以得到保障。

但是還有更強(qiáng)的方案。他就是 jsvc 當(dāng)然 jsvc 可不僅僅就這么一點(diǎn)功能。

我們通過 jsvc 可以很簡(jiǎn)單的 封裝我們自己的 啟動(dòng)腳本,

還可以 隨意制定 tomcat 運(yùn)行用戶和組,還可以指定 jvm 的運(yùn)行參數(shù)例如內(nèi)存控制,語(yǔ)言,字符編碼。

我們還可以指定 tomcat 啟動(dòng)是的 pidfile 總之我們可以更精細(xì)的控制tomcat的運(yùn)行方式。比原始腳本擁有無(wú)法比擬的優(yōu)勢(shì)。

既然 jsvc 的有點(diǎn)有那么多。那到底怎么做呢。

jsvc是一套用c編寫的程序,是tomcat發(fā)行版自帶的一套代碼。是Jakarta Commons Daemon 工程的一個(gè)復(fù)制品。只有該版本的jsvc是綁定到tomcat二進(jìn)制發(fā)行版中。這意味著它要與該版本的Tomcat一同使用。

在 tomcat 8.0 版本中 jsvc 的源代碼包 tomcat/bin/commons-daemon-native.tar.gz

我們找到該tar包,準(zhǔn)備編譯成二進(jìn)制文件

$ tar -zxvf commons-daemon-native.tar.gz

$ cd commons-daemon-1.0.15-native-src

$ ./configure --with-java=$JAVA_HOME

$ make

編譯完成以后,會(huì)產(chǎn)生一個(gè)jsvc的二進(jìn)制可執(zhí)行文件

$ ./jsvc --help

Usage: jsvc [-options] class [args...]

Where options include:

-help | --help | -?

show this help page (implies -nodetach)

-jvm

use a specific Java Virtual Machine. Available JVMs:

'server'

-client

use a client Java Virtual Machine.

-nodetach

don't detach from parent process and become a daemon

-debug

verbosely print debugging information

-check

only check service (implies -nodetach)

-user

user used to run the daemon (defaults to current user)

-verbose[:class|gc|jni]

enable verbose output

-cwd

set working directory to given location (defaults to /)

........

........

jsvc (Apache Commons Daemon) 1.0.15-dev

Copyright (c) 1999-2013 Apache Software Foundation.

相信看到 現(xiàn)象以后大家大概已猜出jsvc到底是干什么的了。對(duì)他就是tomcat的守護(hù)進(jìn)程管理工具

怎么使用呢?

如果你的 tomcat 還在運(yùn)行那么他大概會(huì)是這樣的

$ ps auwx | grep java

/usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

我們想換做 jsvc 管理的話,只需要將 java 換成jsvc就可以了

$ ./jsvc -user tomcat -pidfile /var/run/jsvc.pid -Djvm=tomcat -Xmx50M -Xms50M -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

我指定了 tomcat 運(yùn)行的用戶身份是tomcat用戶指定了pidfile在/var/run/jsvc.pid同時(shí)限制了tomcat運(yùn)行的內(nèi)存限制

小伙伴們看到這兒了。就不用我多說了。有了 jsvc tomcat 控制tomcat就完全不在話下了。

可能小伙伴么已經(jīng)發(fā)現(xiàn)了 jsvc 的 -stop 選項(xiàng)。對(duì)的,jsvc 可以關(guān)閉tomcat.也很簡(jiǎn)單

$ ./jsvc -stop -pidfile /var/run/jsvc.pid org.apache.catalina.startup.Bootstrap stop

有趣的是 最后的 stop 不加 也可以正常停止 tomcat

你可以這么理解。應(yīng)為我們使用了jsvc -stop 選項(xiàng) 關(guān)閉 tomcat,此時(shí)完全不需要再多余指定一個(gè) stop 參數(shù)了。

到這里 小伙伴們 應(yīng)該 對(duì)tomcat更有把握了。

總結(jié)

以上是生活随笔為你收集整理的tomcat jsvc java_opts_Tomcat 学习笔记(2) - 使用 jsvc 启动tomcat的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。