普通用戶無法執行java,CentOS tomcat普通用戶執行配置安裝

CentOS tomcat經過長時間的發展,這里我發表一下個人理解,下面就這就來講術CentOS tomcat。CentOS tomcat6_jdk1.6_安裝配置_開啟自動運行,普通用戶執行 (轉)秀脫linux筆記之CentOS tomcat6實戰篇由于前段時間一直在外頭出差,沒有完成CentOS tomcat以普通用戶執行,開機自動運行的文章現在整理好后,包括調試腳本時候出現的錯誤解決方法

環境:操作系統:centos 4.5_x86數據庫oracle 10.2.01_x86_32jvre:1.6:jdk-6u1-linux-i586-rpm.bintomcat6.0:編譯好的二進制軟件包apache-tomcat-6.0.13.tar.gz

CentOS tomcat6.0 安裝路徑:/usr/local/tomcat6oracle jdbc:class12.jar軟件包存放的路徑:/home/xiutuo/software/java安裝路徑:/usr/java/jdk1.6.0_01使用普通用戶:xiutuo來啟動CentOS tomcat6tomcat6開機自動啟動腳本:/etc/init.d/tomcat

一:安裝jre

1.安裝jre軟件包,

# cd /home/xiutuo/software進入軟件包存放目錄# chmod a+x jdk-6u1-linux-i586-rpm.bin使它有執行權限# ./jdk-6u1-linux-i586-rpm.bin多敲幾個空格,然后看到[yes]的時候輸入yes,回車然后在當前目錄下就生成了jdk-6u1-linux-i586-rpm# rpm -ivh jdk-6u1-linux-i586-rpm安裝jdk如果之前有其他老版本的jdk,卸載掉,如:rpm -e j2sdk-1.4.1-fcs

2.:設置環境變量

僅設置某個用戶而不是所有用戶可以修改~/.cshrc,~/.bash_profile文件,追加下面一段,如果為所有用戶以及以后添加的用戶都加上環境變量的話,

追加/etc/profie文件.???? ***主意不要在profile和~/.cshrc或~/.bash_profile中重復追加**這里:# vi /etc/profile???? //java???? //如果你安裝的j2sdk的路徑不一樣,請自行修改JAVA_HOME=/usr/java/jdk1.6.0_01

export?JAVA_HOME

CLASSPATH=/usr/java/jdk1.6.0_01/lib:/usr/java/jdk1.6.0_01/jre/lib

export?CLASSPATH

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export?PATH

JRE=/usr/java/jdk1.6.0_01/jre

export?JRE

3:立即生效//如果你修改的是/etc/profile

#?source?/etc/profile

//如果你修改的是~/.cshrc

#?source?~/.cshrc

//如果你修改的是~/.bash_profile

#?source?~/.bash_profile

4:測試成功否#?java?-version

出現

java?version?"1.4.2"?//這里比較怪,本來是jre是1.6這里居然……

gcj?(GCC)?3.4.6?20060404?(Red?Hat?3.4.6-8)

Copyright?(C)?2006?Free?Software?Foundation,?Inc.

This?is?free?software;?see?the?source?for?copying?conditions.????There?is?NO

warranty;?not?even?for?MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE.

解決這個問題的方法,# cd /usr/java/# ls -l看看default和latest這倆個文件夾是不是jdk1.6.0_01的軟連接如果是就不用修改了,否則刪除default和latest,# rm -rf default# rm -ff latest然后# ln -s jdk1.6.0_01 default# ln -s jdk1.6.0_01 latest刪除/usr/bin/目錄中的java,javac,javaws

#?cd?/usr/bin

#?rm?-f?java

#?rm?-f?javac

#?rm?-f?javaws

然后:#?ln?-s?/usr/java/default/bin/java?/usr/bin/java

#?ln?-s?/usr/java/default/bin/javac?/usr/bin/javac

#?ln?-s?/usr/java/default/bin/javaws?/usr/bin/javaws

***再//如果你修改的是/etc/profile

#?source?/etc/profile

//如果你修改的是~/.cshrc

#?source?~/.cshrc

//如果你修改的是~/.bash_profile

#?source?~/.bash_profile

再執行#?java?-version????//這回正常了

java?version?"1.6.0_01"

Java(TM)?SE?Runtime?Environment?(build?1.6.0_01-b06)

Java?HotSpot(TM)?Client?VM?(build?1.6.0_01-b06,?mixed?mode,?sharing)

二:安裝CentOS tomcat6

1.安裝tomcat#?cd?/home/xiutuo/software?????????????????????//進入軟件包存放目錄

#?tar?-zvxf?apache-tomcat-6.0.13.tar.gz????????//解壓

#?mv?apache-tomcat-6.0.13?/usr/local/tomcat6?//安裝

#?cd?/usr/local/tomcat6/bin/??????????????????//進入安裝目錄

#?tar?xvfz?jsvc.tar.gz????????????????????????//解壓

#?cd?jsvc-src?????????????????????????????????//進入jsvc-src目錄

#?autoconf

#?./configure--with-java=/usr/java/jdk1.6.0_01

#?configure時切記加java的jdk路徑,否則無法使用普通用戶開機自動啟動tomcat

#?make????????????????????????????????????????//編譯生成jsvc文件

#?cp?jsvc?..??????????????????????????????????//拷貝jsvc到上級目錄

#?cd?..???????????????????????????????????????//回到上級目錄

#?cd?/usr/local/tomcat6/

//運行下面的命令可以使tomcat以daemon方式運行#?./bin/jsvc?-cp?./bin/bootstrap.jar?"

-outfile?./logs/catalina.out?"

-errfile?./logs/catalina.err?"

org.apache.catalina.startup.Bootstrap

2.配置oralce的jdbc//拷貝oracle的jdbc到/usr/local/tomcat6/lib目錄下# cp /home/software/class12.jar ./lib/

3.配置CentOS tomcat用戶# cd /usr/local/tomcat6/conf# vi tomcat-users.xml內容如下:<?xmlversion ='1.0'encoding='utf-8'?>

請修改CentOS tomcat里所有定義用戶的密碼:即修改password為自己想要的值。

4.啟動停止tomcat服務#?cd????/usr/local/tomcat6/bin

#?./start.sh??????//啟動tomcat

#?./shutdown.sh?//停止tomcat查看tomcat的進程:

#?ps?-e?|?grep?java

出現了java這個進程的話,說明你的tomcat差不多了。

5.讓CentOS tomcat開機運行:#?cd?/usr/local/tomcat6/bin/jsvc-src/native/

#?cp?Tomcat.sh?/etc/init.d/tomcat

#?這里以tomcat4的自動運行腳本來做修改

#?vi?tomcat

修改后內容如下:

# Linux下該腳本使用方法

#

# 1.configure時切記加java的jdk路徑,否則無法使用普通用戶開機自動啟動tomcat

# ./configure --with-java=/usr/java/jdk1.6.0_01

#

# 2.先為tomcat生成catalina.out,catalina.err日志文件,存放在

#? 路徑:/usr/local/tomcat6/logs,

#? 方便查看腳本調試時候出現的錯誤信息

# cd /usr/local/tomcat6

# 先進入tomcat6的安裝目錄,再執行以下命令,生成日志文件!

# ./bin/jsvc -cp ./bin/bootstrap.jar "

#??????? -outfile ./logs/catalina.out -errfile ./logs/catalina.err "

#??????? org.apache.catalina.startup.Bootstrap

#

# 3.更改tomcat安裝目錄權限

# 切記:tomcat安裝目錄tomcat6文件權限應該屬于運行tomcat的用戶

# 這里更改整個tomcat6的文件夾及其下的文件為xiutuo用戶和xiutuo組!

# chown -R xiutuo:xiutuo /usr/local/tomcat6

# 不放心的話再執行一次

# chown -R xiutuo:xiutuo /usr/local/tomcat6/*

# chmod -R 755 /usr/local/tomcat6

#

# cd /usr/local/tomcat6/bin/jsvc-src/native/

# 4.自動啟動腳本編輯、賦權

# cp tomcat5.sh /etc/init.d/tomcat

# chown xiutuo:xiutuo tomcat

# chmod 711 tomcat

#

# 建立軟連接

#

# ln -s /etc/init.d/tomcat /etc/rc.d/rc3.d/K01tomcat

# ln -s /etc/init.d/tomcat /etc/rc.d/rc3.d/S99tomcat

# ln -s /etc/init.d/tomcat /etc/rc.d/rc5.d/K01tomcat

# ln -s /etc/init.d/tomcat /etc/rc.d/rc5.d/S99tomcat

#

# 5.如果查看該腳本已經工作了,方法如下:

#? 啟動腳本:/etc/init.d/tomcat start

# a.通過web瀏覽器查看能不能訪問tomcat的管理頁面

# b.通過查看有沒有jsvc進程 ps -e | grep jsvc

#?? 如果看到倆個jsvc進程,恭喜,你成功啦!

#

# 6.腳本無法正常工作的解決方法:

#? 啟動腳本:/etc/init.d/tomcat start

#? 查看/usr/local/tomcat6/logs/目錄下的倆個日志文件:

#? catalina.out,catalina.err, 使用cat查看。

#? a.錯誤

#? Cannot find daemon loader org/apache/commons/daemon/support/DaemonLoader

#? 解決:更改tomcat安裝目錄權限為所有用戶可以讀,并屬于xiutuo用戶和xiutuo組

#? 命令:chmod -R 755 /usr/locat/tomcat6

#??????? chown -R xiutuo:xiutuo /usr/locat/tomcat6

#? b.錯誤

#?? Cannot open PID file /var/run/jsvc.pid

#? 解決:chown xiutuo:xiutuo /var/run/jsvc.pid

#??????? chown 744 /var/run/jsvc.pid

JAVA_HOME=/usr/java/jdk1.6.0_01

#改成你java安裝目錄

CATALINA_HOME=/usr/local/tomcat6/

#改成你CentOS tomcat安裝目錄

DAEMON_HOME=/usr/local/tomcat6/bin/jsvc-src/

#改成jsvc程序所在目錄

TOMCAT_USER=xiutuo

#改成啟動CentOS tomcat使用的普通用戶

JAVA_HOME=/usr/java/jdk1.6.0_01

#改成你java安裝目錄

CATALINA_HOME=/usr/local/tomcat6

#改成你CentOS tomcat安裝目錄

DAEMON_HOME=/usr/local/tomcat6/bin

#改成jsvc程序所在目錄,記住該進程是開機tomcat自動啟動進程

#測試該腳本時候,使用/etc/init.d/tomcat start

#如果順利啟動的話,通過ps -e可以看到倆個jsvc進程

TOMCAT_USER=xiutuo

#改成啟動tomcat使用的普通用戶

TMP_DIR=/var/tmp

CATALINA_OPTS=

#這個環境變量不管

CLASSPATH="

$JAVA_HOME/lib/tools.jar:"

$DAEMON_HOME/commons-daemon.jar:"

$CATALINA_HOME/bin/bootstrap.jar

# classpath這個很重要,一定要確保這三個

# tools.jar、commons-daemon.jar、bootstrap.jar

# 的正確路徑。

case "$1" in

start)

#

# Start Tomcat

#

$DAEMON_HOME/jsvc "

-user $TOMCAT_USER "

-home $JAVA_HOME "

-Dcatalina.home=$CATALINA_HOME "

-Djava.io.tmpdir=$TMP_DIR "

-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 "

;;

stop)

#

# Stop Tomcat

#

PID=`cat /var/run/jsvc.pid`

kill $PID

;;

*)

echo "Usage tomcat.sh start/stop"

exit 1;;

esac

【編輯推薦】

【責任編輯:鵬程 TEL:(010)68476606】

點贊 0

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530855.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530855.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530855.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

elementui樹形復選框,element-ui checkbox 組件的樹形聯動

前言示例版本為 Element-ui 2.13.0 Vue 2.6.11最近想弄 Element-ui checkbox 的多級聯動&#xff0c;網上相關的例子大多數為二級聯動&#xff0c;自己研究了一下&#xff0c;弄了一個樹形菜單的多級聯動&#xff0c;常用于角色管理等業務。(僅供參考&#xff0c;未考慮性能問…

php 魔術方法 sleep,php 魔術方法 sleep() wakeup()

__sleep() 和 __wakeup()public array __sleep ( void )void __wakeup ( void )serialize() 函數會檢查類中是否存在一個魔術方法 __sleep()。如果存在&#xff0c;該方法會先被調用&#xff0c;然后才執行序列化操作。此功能可以用于清理對象&#xff0c;并返回一個包含對象中…

java 先入先出,java_阻塞隊列(FIFO先進先出)

java_阻塞隊列(FIFO先進先出)ArrayBlockingQueue&#xff1a;由數組結構組成的有界阻塞隊列&#xff1b;LinkedBlockingQueue&#xff1a;由鏈表結構組成的有界阻塞隊列(但大小默認值為&#xff1a;Integer.MAX_VALUE)&#xff1b;PriorityBlockingQueue&#xff1a;支持優先級…

PHP能在Mac上運行嗎,PHP Composer無法在Mac上運行

我安裝了bitnami mac堆棧主要是因為我的項目需要至少PHP 5.4.7版本.但是,我遇到了作曲家的問題.這是我跑步時遇到的錯誤&#xff1a;php composer.phar install --dev錯誤&#xff1a;Richard-Knops-MacBook-Pro:my-project richardknop$php composer.phar install --devdyld: …

主機安裝php網站,php支持虛擬主機(php網站空間)

php設置虛擬主機&#xff0c;主要是為了在ie輸入地址欄是&#xff0c;可以輸入任意的&#xff0c;而不是localhost/&#xff0c;為了方便&#xff0c;但是設置起來很不方便的。。發現不能實現每個站點使用不同的PHP版本&#xff0c;想向大家求教一下&#xff0c;有沒有能讓。支…

php時分獲取秒數,javascript與php時/分/秒與秒數互轉

javascript&#xff1a;/*時間轉換成秒*/function time_to_second(time){var arr time.split(‘:‘)var hour arr[0]?arr[0]:0var minute arr[1]?arr[1]:0var second arr[2]?arr[2]:0var ret hour * 3600 minute * 60 secondreturn ret}/*秒轉換成時間*/function sec…

lbp matlab程序,求教大神給解釋一下LBP特征提取每部分程序是干什么的

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓function X1 LBP(Resimage)% Returns a rotation invariant LBP (uniform patterns) histogram (10 bins)% of picture X.% the size of picture X must be at least 3x3 pixelsw1 (1/sqrt(2))^2;%根號1/2平方w2 (1-1/sqrt(2))*…

python以20字符寬居中輸出,Python 字符串內置方法(一)

以下方法只需要知道用法就行了&#xff0c;權當了解&#xff0c;不用硬背&#xff0c;以后需要用到的時候再回來看說明&#xff1a;一般方法中前面是is開頭的就是判斷來的&#xff0c;輸出不是True就是False&#xff0c;例如isalpha()方法capitalize()方法&#xff1a;首字母大…

php 復選框全選和取消,基于JavaScript實現復選框的全選和取消全選

這篇文章主要為大家詳細介紹了基于JavaScript實現復選框的全選和取消全選&#xff0c;具有一定的參考價值&#xff0c;感興趣的小伙伴們可以參考一下本文實例為大家分享了js復選框的全選和取消全選的具體代碼&#xff0c;供大家參考&#xff0c;具體內容如下效果圖&#xff1a;…

oracle 字段全大寫,Oracle如何批量將表中字段名全轉換為大寫(利用簡單存儲過程)...

前言今天查詢一個數據字段一直提示字符無效&#xff0c;明明在數據庫表字段中是存在的&#xff1b;查詢后得知&#xff0c;數據庫表字段為小寫時&#xff0c;查詢需要將字段名小寫并加上雙引號&#xff1b;表名同理&#xff0c;我這里表名是大寫&#xff0c;暫時不需要改。搜到…

oracle的al32utf8,oracle字符集修改(AL32UTF8-UTF8)

author&#xff1a;skatetime&#xff1a;2012/04/10AL32UTF8->UTF8步驟shutdown immediate;startup mount;alter session set sql_tracetrue;alter system enable restricted session;alter system set job_queue_processes0;alter system set aq_tm_processes0;alter data…

javascript date php date,JavaScript Date 知識淺析

Date函數new Date()Date 對象會自動把當前日期和時間保存為其初始值。date.getDate()從 Date 對象返回一個月中的某一天 (1 ~ 31)。date.getDay()從 Date 對象返回一周中的某一天 (0 ~ 6)。周日是0。date.getMonth()從 Date 對象返回月份 (0 ~ 11)。date.getFullYear()從 Date …

16字節 oracle md5,Oracle中的MD5加密

因為要用到MD5加密&#xff0c;所以在網上搜了一下相關資料&#xff0c;并進行仔細研究。其核心就是MD5編碼的數據包函數&#xff1a;DBMS_OBFUSCATION_TOOLKIT.M因為要用到MD5加密&#xff0c;所以在網上搜了一下相關資料&#xff0c;并進行仔細研究。其核心就是MD5編碼的數據…

ip字符串轉換 linux,Linux網絡編程入門

在日常使用&#xff0c;我們更多的使用十進制字符串表示IP地址&#xff0c;比如192.169.130.66&#xff0c;而不是記憶32位的IP地址(關鍵是太長了記不住呀)&#xff0c;使用字符串IP更為方便&#xff0c;可讀性也更好。但是根據上述in_addr定義&#xff0c;網絡編程中需要的是網…

linux php目錄是否存在,PHP判斷文件或者目錄是否可寫,兼容windows/linux系統

在PHP中&#xff0c;可用is_writable()函數來判斷一個 文件/目錄 是否可寫&#xff0c;用是否可生成文件的方式判斷目錄是否可寫&#xff1b;網上的一些代碼大多數能判斷linux系統&#xff0c;但windows服務器下判斷不準確。下面的代碼兼容windows和linux判斷文件或目錄是否可寫…

linux 腳本 發送郵件,shell 腳本發送郵件

有時候會使用腳本完成一系列的自動化工作&#xff0c;工作完成后還需要郵件通知相關人員&#xff0c;此時可以使用第三方的工具&#xff1a;SendEmail,最新版本sendEmail-v1.56.tar.gz下載地址&#xff1a;http://caspian.dotconf.net/menu/Software/SendEmail/sendEmil的使用范…

link linux 跨設備,Linux中的兩種link方式

Linux系統中包括兩種鏈接方式&#xff1a;硬鏈接(hard link)和符號鏈接(symbolic link)&#xff0c;其中符合鏈接就是所謂的軟鏈接(soft link)&#xff0c;那么兩者之間到底有什么區別呢&#xff1f;inode在Linux系統中&#xff0c;內核為每一個新創建的文件分配一個inode&…

linux 運行ca.crt,linux下使用openssl生成 csr crt CA證書,opensslcsr

linux下使用openssl生成 csr crt CA證書&#xff0c;opensslcsr本文主要借鑒和引用了下面2個地址的內容&#xff0c;然后在自己的機器上進行了測試和執行&#xff0c;并做了如下記錄。ref:http://blog.chinaunix.net/uid-26760055-id-3128132.htmlhttp://www.111cn.net/sys/lin…

linux cpu核數和線程數,cpu個數、核數和線程的理解

1.查看物理cpu個數grep physical id /proc/cpuinfo | sort -u | wc -l2.查看核心數量grep core id /proc/cpuinfo | sort -u | wc -l3.查看線程數grep processor /proc/cpuinfo | sort -u | wc -lcat /proc/cpuinfo 查看文件里面關鍵信息processor : 23 ----------代表…

linux設置超鏈接,幫助-鏈接 - Linux Kernel Newbies

this page is outdated and needs to be fixed參考鏈接形式語法備注內部鏈接WikiNameCamelCase page name內部自由鏈接["Page"] or ["free link"]可配置函數內部子頁面鏈接/SubPage or ["/Sub page"]相對于上一級頁面外部鏈接http://example.net…