centos jdk8 tomcat8 jenkins

来源:互联网 发布:面向对象的编程思想 编辑:程序博客网 时间:2024/05/19 13:55

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.115java-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.115rpm -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_03export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport 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 -versionjava 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.gzmv 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 tomcatpasswd 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 JREJAVA_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=8080firewall-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 #启动tomcatservice tomcat start      #启动tomcat/etc/init.d/tomcat  stop  #关闭tomcatservice 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

0 0
原创粉丝点击