centos jdk8 tomcat8 jenkins

Sun JDK8 安裝

首先下載最新的jdk,注意:直接複製鏈接下載會導致下載的是協議頁面,最好是通過瀏覽器的下載窗口的下載鏈接複製下載或者通過下面方式下載

# 通常需要下載jdk時,直接用wget命令是不行的。解決辦法如下:
# 只需要在wget的時候加上一個特殊的cookie就可以搞定,下載最新版jdk-7u21的完整命令:
方法一:
wget --no-cookie --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-linux-i586.rpm
# 而如果出現Unable to establish SSL connection的話,在wget後面加上–no-check-certificate即可,命令如下:
 
wget --no-cookie --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-linux-i586.rpm
 方法二:通過瀏覽器的下載功能下載,獲取到真正的下載鏈接,然後直接
wget  http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-linux-i586.rpm?xxxxx
# 將下載完成的jdk改名
 
mv jdk-7u21-linux-i586.rpm*  jdk-7u21-linux-i586.rpm



2、查看當前環境中安裝了那些jdk,如果有那麼卸載掉

安裝好的CentOS會自帶OpenJdk,用命令 java -version ,會有下面的信息:
 
java version "1.6.0"
OpenJDK  Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
 
最好還是先卸載掉openjdk,在安裝sun公司的jdk.
 
先查看 rpm -qa | grep java
 
顯示如下信息:
 
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
 
卸載:
 
rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
 
還有一些其他的命令
 
rpm -qa | grep gcj
 
rpm -qa | grep jdk
 
如果出現找不到openjdk source的話,那麼還可以這樣卸載
 
 yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
 yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

3、安裝jdk

運行安裝
 
# rpm -ivh jdk-7u3-linux-x64.rpm 
Preparing...                ########################################### [100%]
   1:jdk                    ########################################### [100%]
Unpacking JAR files...
    rt.jar...
    jsse.jar...
    charsets.jar...
    tools.jar...
    localedata.jar...
 # vim /etc/profile
 
修改profile 最後面加入
 
export JAVA_HOME=/usr/java/jdk1.7.0_03
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
 保存退出。運行 #source /etc/profile
 
之後 運行
 
# update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_03/bin/java 60
# update-alternatives --config java
 你會看到我的ssh中存在亂碼。
 
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
   3           /usr/java/jdk1.7.0_03/bin/java
 輸入3 敲回車
 
然後一切ok
 
# java -version
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)

參考博客: 
http://teddysun.com/148.html 
http://www.blogjava.net/toby/archive/2011/06/17/352498.html 
http://www.cnblogs.com/markzm/archive/2012/02/27/2370092.html

Tomcat安裝

通常情況下我們要配置Tomcat是很容易的一件事情,但是如果您要架設多用戶多服務的Java虛擬主機就不那麼容易了。其中最大的一個問題就是Tomcat執行權限。普通方式配置的Tomcat是以root超級管理員的身份運行的,顯然,這是非常危險的,可想而知,一但網站被掛馬,您的整個服務器都可以被黑客控制了。而通過編譯或在線(例如RedHat系列的yum, debian系列的apt-get)的方式安裝,一個服務器上又只能裝一個tomcat的服務,如果將多個網站放到同一個tomcat服務中,一但某一個網站出問題導致tomcat服務被卡死,則服務器上所有的網站都打不開了,無法滿足各網站程序獨享tomcat的需求。爲了解決這些問題,我們需要配置Tomcat以指定的身份運行,且一臺服務器上可以安裝任意多個tomcat服務。


測試機器環境:

VMware Workstation 10 虛擬機

內存:1G

Linux版本:CentOS MinimalCD 6.5

JAVA:JAVA_HOME=/opt/jdk


一、先在 Linux系統上配置好JDK環境( CentOS下安裝JDK筆記 http://www.linuxidc.com/Linux/2015-01/111414.htm)

      假設您已經在Linux系統上正確安裝了JDK開發環境,且JDK安裝的位置在: /opt/jdk/

二、下載並解壓最新版本的Tomcat,http://tomcat.apache.org,將其下載下來(我下到的是apache-tomcat-6.0.41.tar.gz)放到Linux系統的/opt/目錄下,運行命令解壓(並將解壓出來的目錄更名爲tomcat):

tar xzvf apache-tomcat-6.0.41.tar.gz
mv apache-tomcat-6.0.41/ tomcat

三、編譯安裝tomcat daemon服務守候程序:

cd /opt/tomcat/bin/
tar xvzf commons-daemon-native.tar.gz
1、解壓後會生成一個commons-daemon-1.0.15-native-src目錄,cd到這個目錄的Linux子目錄:
cd commons-daemon-1.0.10-native-src/unix
2、註釋:安裝gcc(默認Mini版本沒有安裝gcc)
yum -y install gcc
3、執行編譯配置
./configure  #(注意:需要先安裝好make,gcc等編譯工具)
./configure --with-java=/opt/jdk 如果提示沒有jdk,使用這個命令。主要是java目錄未寫入系統目錄
4、運行完成後會提示如下信息說明操作成功:
...
*** All done ***
Now you can issue "make"
5、執行make:
make
6、執行make後會生成一個jsvc的文件,將其複製到tomcat的bin目錄。
cp jsvc /opt/tomcat/bin/

7、在tomcat/bin目錄裏面有一個daemon.sh 這個文件就是啓動和關閉tomcat的服務守候程序。

注意:之前的一些tomcat版本,例如tomcat 6.0.x, 可能沒有這個文件, 其實這個文件就是放在commons-daemon-x.x.x-native-src/unix/samples/Tomcat7.sh這兒的(此目錄還有一個Tomcat5.sh),只不過新版本的tomcat把它移動到了bin目錄下,並取名爲daemon.sh了。所以,如果您使用的是tomcat 6,那就把這個Tomcat7.sh文件複製到bin目錄下,並取名爲daemon.sh即可。

8、修改daemon環境變量 :

安全起見,本着最小權限原則,生產系統決不允許使用root賬戶來運行tomcat。爲此,建立新賬戶tomcat,並設定登錄密碼。

useradd tomcat
passwd tomcat

用文本編輯器(vi或emacs等)編輯它,找到類似下面這樣配置段:

test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
# Set JAVA_HOME to working JDK or JRE
# JAVA_HOME=/opt/jdk-1.6.0.22

9、修改TOMCAT_USER=tomcat爲您要指定身份運行的linux賬號用戶名,此處指定用戶名爲tomcat。

並把JAVA_HOME=...前面的註釋(即“#”號)去掉,並設置爲jdk的安裝目錄路徑,最後,修改好後的配置段變成如下:

test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
# Set JAVA_HOME to working JDK or JRE
JAVA_HOME=/opt/jdk

10、現在修改/opt/tomcat目錄的所有者爲tomcat(即您要指定身份運行的linux帳號):

useradd -M tomcat #創建沒有主目錄的tomcat用戶
chsh tomcat -s /sbin/nologin  #禁止tomcat登陸操作,類似於windows的系統賬戶
chown -R tomcat /opt/tomcat   #將/opt/tomcat下的所有檔案與子目錄進行相同的擁有者變更爲tomcat用戶

11、爲tomcat/bin/目錄下的*.sh添加相應的x權限位:

chmod +x /opt/tomcat/bin/*.sh

12、現在,可以測試一下daemon是否可以啓動運行,啓動方式如下:

/opt/tomcat/bin/daemon.sh  start
 curl http://localhost:8080   #測試一下是否啓動

 

(如果出錯,重點查驗tomcat的bin目錄下的*.sh是否有x可執行權限、linux帳號是否有tomcat目錄的讀寫權限,是否有tomcat/logs日誌目錄的寫權限等等。)如無錯誤,則tomcat的daemon守候程序已經設置成功了。

13、這時本機可以訪問tomcat了,遠程機器訪問不了,是防火牆的問題,

在/etc/firewalld/services/目錄下新建一個名爲tomcat.xml的文件,內容如下:

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>Tomcat Webserver</short>
  <description>HTTPS is a modified HTTP used to serve Web pages when security is important. Examples are sites that require logins like stores or web mail. This option is not required for viewing pages locally or developing Web pages. You need the httpd package installed for this option to be useful.</description>
  <port protocol="tcp" port="8080"/>
</service>

然後把此服務加入防火牆規則中

 firewall-cmd --reload
 firewall-cmd --add-service=tomcat
 firewall-cmd --permanent --add-service=tomcat

由於非root用戶不能偵聽1023以下端口,所以這裏採用一個變通的方法,就是利用firewalld在數據包路由之前進行端口轉發,把所有發往80的tcp包轉發到8080即可。

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080

此後tomcat就相當於同時偵聽80和8080兩個端口了。


這樣就可以訪問了。

14、停止tomcat, 對應的命令爲:

/opt/tomcat/bin/daemon.sh  stop

15、添加tomcat爲Linux的服務,這時就簡單了,只需要創建一個軟鏈到/etc/init.d/目錄中即可

ln  -s  /opt/tomcat/bin/daemon.sh  /etc/init.d/tomcat

16、現在就可以用它啓動/關閉tomcat了:

/etc/init.d/tomcat  start #啓動tomcat
service tomcat start      #啓動tomcat
/etc/init.d/tomcat  stop  #關閉tomcat
service tomcat stop       #關閉tomcat

17、設置tomcat服務開機啓動,需要在daemon.sh中增加以下的語句:

#!/bin/sh      #這句是原文件裏有的,下面的2句是要添加的
# chkconfig: 2345 90 15
# description: Tomcat-en Manager

18、再運行 chkconfig命令增加tomcat服務,而達到自啓動:

chkconfig --add  tomcat

 重啓機器,測試一下。

Tomcat Manager用戶配置詳解

Tomcat Manager是Tomcat自帶的、用於對Tomcat自身以及部署在Tomcat上的應用進行管理的web應用。Tomcat是Java領域使用最廣泛的服務器之一,因此Tomcat Manager也成爲了使用非常普遍的功能應用。

在默認情況下,Tomcat Manager是處於禁用狀態的。準確地說,Tomcat Manager需要以用戶角色進行登錄並授權才能使用相應的功能,不過Tomcat並沒有配置任何默認的用戶,因此需要我們進行相應的用戶配置之後才能使用Tomcat Manager。

Tomcat Manager的用戶配置是在Tomcat安裝目錄/conf/tomcat-users.xml文件中進行管理的。

Tomcat Manager的用戶配置非常簡單,下面我們以一個具體的配置爲例:

<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<user username="admin" password="123456" roles="manager-script"/>
</tomcat-users>

如上所示,我們只需要在tomcat-users節點中配置相應的role(角色/權限)和user(用戶)即可。一個user節點表示單個用戶,屬性usernamepassword分別表示登錄的用戶名和密碼,屬性roles表示該用戶所具備的權限。

user節點的roles屬性值與role節點的rolename屬性值相對應,表示當前用戶具備該role節點所表示的角色權限。當然,一個用戶可以具備多種權限,因此屬性roles的值可以是多個rolename,多個rolename之間以英文逗號隔開即可。

稍加思考,我們就應該猜測到,rolename的屬性值並不是隨意的內容,否則Tomcat怎麼能夠知道我們隨便定義的rolename表示什麼樣的權限呢。實際上,Tomcat已經爲我們定義了4種不同的角色——也就是4個rolename,我們只需要使用Tomcat爲我們定義的這幾種角色就足夠滿足我們的工作需要了。

以下是Tomcat Manager 4種角色的大致介紹(下面URL中的*爲通配符):

manager-gui
允許訪問html接口(即URL路徑爲/manager/html/*)
manager-script
允許訪問純文本接口(即URL路徑爲/manager/text/*)
manager-jmx
允許訪問JMX代理接口(即URL路徑爲/manager/jmxproxy/*)
manager-status
允許訪問Tomcat只讀狀態頁面(即URL路徑爲/manager/status/*)

從Tomcat Manager內部配置文件中可以得知,manager-guimanager-scriptmanager-jmx均具備manager-status的權限,也就是說,manager-guimanager-scriptmanager-jmx三種角色權限無需再額外添加manager-status權限,即可直接訪問路徑/manager/status/*


四、如果想再創建一個tomcat服務,只需要將/opt/tomcat這個目錄複製一份,例如:

cp /opt/tomcat /opt/tomcat1

再修改一下tomcat1的端口號(/opt/tomcat/opt/tomcat1/conf/server.xml中的端口號不能與其它的服務重複)。最後從上面所述第8步開始,創建另一個服務即可。

通過這種方式,您就可以爲一臺Linux服務器創建任意多個tomcat服務了。最後只需要安裝一個前端服務器(例如Nginx或Apache),將不同域名的請求轉發到不同的tomcat服務程序就可以了。

Linux下Apache與多個Tomcat 集羣負載均衡 http://www.linuxidc.com/Linux/2012-01/51731.htm

Nginx Tomcat 集羣負載均衡解決筆記 http://www.linuxidc.com/Linux/2013-07/86827.htm

實例詳解Tomcat組件安��+Nginx反向代理Tomcat+Apache使用mod_jk和mod_proxy反向代理和負載均衡 http://www.linuxidc.com/Linux/2013-06/85290.htm

CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日誌服務器 http://www.linuxidc.com/Linux/2014-06/103836.htm

Apache+Tomcat 環境搭建(JK部署過程) http://www.linuxidc.com/Linux/2012-11/74474.htm


安裝jenkins

?
1
2
3
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo  
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins

一條一條命令執行完成後,jenkins就安裝完成了,非常簡單吧。

然後需要配置下jenkins的端口,避免衝突。

?
1
vi /etc/sysconfig/jenkins

進入該文件,這個是jenkins的系統配置文件,

找到2處修改端口號:

JENKINS_PORT="8080"

JENKINS_AJP_PORT="8009"

默認是這樣的,我們可以隨意修改成自己需要的端口號,避免衝突(tomcat默認端口也是這樣的)

這裏作者修改成了:

JENKINS_PORT="8888"

JENKINS_AJP_PORT="8889"

接下來我們就可以嘗試啓動jenkins服務了。

?
1
service jenkins start

如果提示:Starting Jenkins                                           [確定]

則表示jenkins服務成功啓動,你可以通過http://ip:端口號的方式直接訪問jenkins了。

但是一般情況下會報錯:

?
1
2
Starting Jenkins bash/usr/bin/java: 沒有那個文件或目錄
                                                           [失敗]

如果出現該錯誤也不需要慌張,報這個錯的原因是因爲你的jdk配置錯誤,

執行命令:

?
1
java -version

java version "1.7.0_25"

Java(TM) SE Runtime Environment (build 1.7.0_25-b15)

Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

我們可以看到jdk版本爲1.7.0_25,複製該名稱

?
1
vi /etc/init.d/jenkins

找到這段代碼

?
1
2
3
4
5
6
7
8
9
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java

我們會發現這裏面沒有叫1.7.0_25的文件目錄

我們在這段代碼後面加上

?
1
/usr/java/jdk1.7.0_25/bin/java

效果如下:

?
1
2
3
4
5
6
7
8
9
10
11
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
/usr/java/jdk1.7.0_25/bin/java
"

保存退出。重新執行啓動命令:

?
1
service jenkins start

是不是成功了呢?

停止命令:

?
1
service jenkins stop

重啓命令:

?
1
service jenkins restart

成功啓動後,我們就可以通過http://ip:端口號訪問了。

到此,jenkins安裝就OK了。

原文:http://my.oschina.net/gmupload/blog/372178

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章