当前位置:文档之家› Linux下java web服务器搭建(jdk6 apache+2Tomcat6+svn)

Linux下java web服务器搭建(jdk6 apache+2Tomcat6+svn)

Linux下java web服务器搭建(jdk6 apache+2Tomcat6+svn)
Linux下java web服务器搭建(jdk6 apache+2Tomcat6+svn)

Linux下java web服务器搭建(JDK1.6、MySQL5.1、Apache2.2+2Tomcat6+svn1.6) 系统:Red Hat Enterprise Linux 5 32位(自带Httpd)

软件准备:

1.jdk-6u31-linux-i586-rpm.bin

2.MySQL-client-community-5.1.61-1.rhel5.i386.rpm

MySQL-server-community-5.1.61-1.rhel5.i386.rpm

3.apache-tomcat-6.0.35.tar.gz

一、JDK6的安装与配置

在安装Red Hat Linux的时候,我把自带的JDK也装上了,因为版本是1.4

有些老了,所以先把自带的1.4版本的jdk删除:

root用户登录到系统,打开终端,输入

# rpm -qa|grep gcj

显示内容会包含下面的信息,具体显示可能略有不同,比如版本号

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

卸载

# rpm -e java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

如果有依赖关系,提示无法卸载,使用rpm -e --nodeps 卸载就行了

[root@localhost ~]# rpm -qa|grep java

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

[root@localhost ~]# rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 [root@localhost ~]#

下面开始安装JDK1.6,我这里下载的是bin包:jdk-6u31-linux-i586-rpm.bin,rpm包类似。

1.安装JDK

在shell终端下进入jdk-6u31-linux-i586-rpm.bin文件所在目录,执行命令./ jdk-6u31-linux-i586-rpm.bin ,默认的安装目录是/usr/java .在/usr/java下会有jdk1.6.0_31

2.配置JDK的环境变量

这里需要配置PATH,JAVA_HOME,CLASSPATH,三个环境变量

1)PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH 变量所指定的路径中查找看是否能找到相应的命令程序

。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设

置好PATH变量后,就可以在任何目录下执行javac/java等工具了。

2)CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的

。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH 中,当然,当前目录“.”也必须加入到该变量中。

3)JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

配置JDK的环境变量有三种方法,这里只介绍修改/etc/profile文件的方法

·用文本编辑器打开/etc/profile

·在profile文件末尾加入:

export JAVA_HOME=/usr/java/jdk1.6.0_31

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 加好后,在终端输入下面两个命令,看是否成功

[root@localhost ~]# java

[root@localhost ~]# javac

如果出现如下图所示,则表示配置成功

我们看下jdk的版本信息

[root@localhost ~]# java -version

java version "1.6.0_31"

Java(TM) SE Runtime Environment (build 1.6.0_31-b04)

Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) [root@localhost ~]#

附.

* 测试jdk

1. 用文本编辑器新建一个Test.java文件,在其中输入以下代码并保存:public class test {

public static void main(String args[]) {

System.out.println("A new jdk test !");

}

}

2. 编译:在shell终端执行命令javac Test.java

3. 运行:在shell终端执行命令java Test

当shell下出现“A new jdk test !”字样则jdk运行正常。

* 卸载jdk

·找到jdk安装目录的_uninst子目录

·在shell终端执行命令./uninstall.sh即可卸载jdk。

二、Tomcat6.0的安装与配置

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。

Tomcat是稳固的独立的Web服务器与Servlet Container,不过,其Web服务器的功能则不如许多更健全的Web服务器完整,如Apache Web服务器(举例来说,Tomcat没有大量的选择性模块)。

1.安装Tomcat6.0

1)下载apache-tomcat-6.0.35.tar.gz

2)#tar -zxvf apache-tomcat-6.0.35.tar.gz ;//解压

3)#cp -R apache-tomcat-6.0.35.tar.gz /usr/Tomcat6 ;//拷贝apache-tomcat-6.0.35.tar.gz 到/usr/local/下并重命名为Tomcat6

4) /usr/Tomcat6/bin/startup.sh; //启动tomcat

显示

Using CATALINA_BASE: /usr/Tomcat6

Using CATALINA_HOME: /usr/Tomcat6

Using CATALINA_TMPDIR: /usr/Tomcat6/temp

Using JRE_HOME: /usr/java/jdk1.6.0_31

Using CLASSPATH: /usr/Tomcat6/bin/bootstrap.jar

到此tomcat已经安装完成,现在使用浏览器访问http://localhost:8080,出现tomcat 默认页面,说明已经安装成功。

增加Tomcat管理用户名密码

在$tomcat_home/conf/tomcat-users.xml文件最后增加如下信息

前面三个是用户组,后面是用户的用户名,密码及所在组信息

三、MySQL的安装与配置

1、下载MySQL的安装文件

安装MySQL需要下面两个文件:

MySQL-server-community-5.1.61-1.rhel5.i386.rpm

MySQL-client-community-5.1.61-1.rhel5.i386.rpm

1)安装服务器端

在有两个rmp文件的目录下运行如下命令:

[root@test1 local]# rpm -ivh MySQL-server-community-5.1.61-1.rhel5.i386.rpm

显示如下信息。

[root@localhost home]# rpm -ivh MySQL-server-community-5.1.61-1.rhel5.i386.rpm Preparing... ########################################### [100%]

1:MySQL-server-community ########################################### [100%]

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'

/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password' Alternatively you can run:

/usr/bin/mysql_secure_installation

which will also give you the option of removing the test

databases and anonymous user created by default. This is

strongly recommended for production servers.

See the manual for more instructions.

Please report any problems with the /usr/bin/mysqlbug script!

Starting MySQL..[确定]

Giving mysqld 2 seconds to start

[root@localhost home]#

2)安装客户端

运行如下命令:

[root@localhost home]# rpm -ivh MySQL-client-community-5.1.61-1.rhel5.i386.rpm Preparing... ########################################### [100%]

1:MySQL-client-community ########################################### [100%]

[root@localhost home]#

显示安装完毕。

2、登录MySQL

登录MySQL的命令是mysql,mysql 的使用语法如下:

mysql [-u username] [-h host] [-p[password]] [dbname]

username 与password 分别是MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。

[root@localhost home]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.1.61-community MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

出现了“mysql>”提示符,恭喜你,安装成功!

3.修改MySQL root用户的密码

MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。

命令usr/bin/mysqladmin -u root password 'new-password'

格式:mysqladmin -u用户名-p旧密码password 新密码

示例:mysqladmin -u root password '123456'

这命令的作用是将root用户的密码改成123456

增加了密码后的登录格式如下:

mysql -u root -p

Enter password: (输入密码)

其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。

注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。

4. MySQL的几个重要目录

MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学

习。

下面就介绍一下这几个目录。

1、数据库目录

/var/lib/mysql/

2、配置文件

/usr/share/mysql(mysql.server命令及配置文件)

3、相关命令

/usr/bin(mysqladmin mysqldump等命令)

4、启动脚本

/etc/rc.d/init.d/(启动脚本文件mysql的目录)

5. 启动与停止

1、启动

MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。

[root@localhost init.d]# /etc/init.d/mysql start

2、停止

/usr/bin/mysqladmin -u root -p shutdown

3、自动启动

1)察看mysql是否在自动启动列表中

[root@localhost local]# /sbin/chkconfig --list

2)把MySQL添加到你系统的启动服务组里面去

[root@localhost local]# /sbin/chkconfig --add mysql

3)把MySQL从启动服务组里面删除。

[root@localhost local]# /sbin/chkconfig --del mysql

5.MySQL的常用操作。略(数据库的增删改查这里我就不介绍了)

四、svn的安装与配置

在安装Red Hat Linux的时候,我把自带的svn也装上了,因为版本是1.4的,所以,我们更新到1.6.17。现在最新版本是1.7

软件准备:

sqlite-3.5.9-2.i386.rpm

sqlite-devel-3.5.9-2.i386.rpm

apr-1.2.8-1.i386.rpm

apr-devel-1.2.8-1.i386.rpm

apr-util-1.2.8-1.i386.rpm

apr-util-devel-1.2.8-1.i386.rpm

neon-0.28.4-1.i386.rpm

neon-devel-0.28.4-1.i386.rpm

subversion-1.6.17-1.i386.rpm

mod_dav_svn-1.6.17-1.i386.rpm

先卸载之前的版本1.4,输入svn –version 查看下当前版本,

[root@localhost ~]# svn --version

svn,版本1.4.2 (r22196)

编译于Aug 5 2009,19:03:56

Copyright (C) 2000-2006 CollabNet.

Subversion is open source software, see https://www.doczj.com/doc/ee15144405.html,/

This product includes software developed by CollabNet (https://www.doczj.com/doc/ee15144405.html,/).

可使用以下的档案库存取(RA) 模块:

* ra_dav : 通过WebDAV (DeltaV) 协议访问档案库的模块。

- handles 'http' scheme

- handles 'https' scheme

* ra_svn : 使用svn网络协议访问档案库的模块。

- handles 'svn' scheme

* ra_local : 访问本地磁盘的档案库模块。

- handles 'file' scheme

[root@localhost ~]#

再输入rpm -qa|grep subversion 看关于subversion的软件名称,再用rpm -e subversion-1.4.2-4.el5_3.1卸载subversion

[root@localhost ~]# rpm -qa|grep subversion

subversion-1.4.2-4.el5_3.1

[root@localhost ~]# rpm -e subversion-1.4.2-4.el5_3.1

这时再用svn命令时,就会提示“没有那个文件或目录”

[root@localhost ~]# svn

bash: /usr/bin/svn: 没有那个文件或目录

subversion依赖的软件较多,使用yum安装是最方便的,这里我们用rpm安装包来安装,下载上面的10个rpm文件,网上都可以下载得到。下载地址:

上面提到的有些软件包因为已经安装了低版本,所以现在我们要升级到新版本,不然subversion是无法安装的。

1.升级sqlite

用命令rpm -Uvh sqlite-3.5.9-2.i386.rpm sqlite-devel-3.5.9-2.i386.rpm升级sqlite [root@localhost svn1.6]# rpm -Uvh sqlite-3.5.9-2.i386.rpm sqlite-devel-3.5.9-2.i386.rpm

Preparing... ########################################### [100%]

1:sqlite ########################################### [ 50%]

2:sqlite-devel ########################################### [100%]

[root@localhost svn1.6]#

2.升级apr

[root@localhost svn1.6]# rpm -Uvh apr-1.2.8-1.i386.rpm

warning: apr-1.2.8-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 751d7f27 Preparing... ########################################### [100%]

1:apr ########################################### [100%]

warning: apr-devel-1.2.8-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 751d7f27 Preparing... ########################################### [100%]

1:apr-devel ########################################### [100%]

error: unpacking of archive failed on file /usr/include/apr-1/apr_network_io.h;4fb8d8d2: cpio: read

[root@localhost svn1.6]#

3.升级neon

[root@localhost svn1.6]# rpm -ivh neon-0.28.4-1.i386.rpm

Preparing... ########################################### [100%]

1:neon ########################################### [100%]

[root@localhost svn1.6]# rpm -ivh neon-devel-0.28.4-1.i386.rpm

Preparing... ########################################### [100%]

1:neon-devel ########################################### [100%]

[root@localhost svn1.6]#

3.安装subversion和mod_dav_svn(apache和svn通信模块)

Preparing... ########################################### [100%]

1:subversion ########################################### [100%]

[root@localhost svn1.6]# rpm -ivh mod_dav_svn-1.6.17-1.i386.rpm

Preparing... ########################################### [100%]

1:mod_dav_svn ########################################### [100%]

停止httpd:[确定]

启动httpd:[确定]

[root@localhost svn1.6]#

查看下svn版本,现在是1.6.17

[root@localhost svn1.6]# svn --version

svn,版本1.6.17 (r1128011)

编译于Jun 4 2011,14:06:05

版权所有(C) 2000-2009 CollabNet。

Subversion 是开放源代码软件,请参阅https://www.doczj.com/doc/ee15144405.html,/ 站点。

此产品包含由CollabNet (https://www.doczj.com/doc/ee15144405.html,/) 开发的软件。

可使用以下的版本库访问模块:

* ra_neon : 通过WebDAV 协议使用neon 访问版本库的模块。

- 处理“http”方案

- 处理“https”方案

* ra_svn : 使用svn 网络协议访问版本库的模块。- 使用Cyrus SASL 认证

- 处理“svn”方案

* ra_local : 访问本地磁盘的版本库模块。

- 处理“file”方案

[root@localhost svn1.6]#

五、配置apache和svn

apache和subversion都已经装好了。现在我们只能通过svn://localhost/repo1的形式访问版本库,现在我们要用http来访问版本库,类似http://localhost/svn/repo1,这时就要通过配置apache。

1.创建版本库

在/usr 下新建一个svn文件夹

[root@localhost svn1.6]# cd /usr

[root@localhost usr]# mkdir svn

再在/usr/svn 下新建一个repository文件夹,作为版本库的根目录

[root@localhost usr]# cd svn

[root@localhost svn]# mkdir repository

[root@localhost svn]# cd repository/

再在/usr/svn/repository下新建一个conf文件夹,这是装所有版本库共用的配置文件,比如用户组,用户名密码配置文件

在/usr/svn/repository/conf文件夹下新建两个文件,分别是authz和passwd。

Authz是用户、用户组及他们对版本库的权限,passwd是用户密码配置文件。

Authz内容如下:

[groups]

admin = fronttang ----用户组admin 下有fronttang 这个用户

[/]

&admin = rw ---用户组admin,对所有版本库有rw读写权限

Passwd要用apache中的htpasswd命令来创建,不能svn与apache结合后,版本库用法无法通过验证。

使用命令

[root@localhost repository]# htpasswd -bcm /usr/svn/repository/conf/passwd fronttang 123456

在/usr/svn/repository/conf/目录下新建了一个passwd密码文件,并增加了fronttang这个用户密码为123456,密码采用md5加密

关于htpasswd命令的用法,请参见:https://www.doczj.com/doc/ee15144405.html,/584838094/infocenter#!app=2&pos=1308383348

2.配置apache

#vi /etc/httpd/conf/httpd.conf

确保有如下内容

LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so

如果没有的话请在末尾自行添加,接下来在末尾添加

DAV svn

SVNParentPath /usr/svn/repository/

AuthzSVNAccessFile /usr/svn/repository/conf/authz

AuthType Basic

AuthName "Subversion Repository"

AuthUserFile /usr/svn/repository/conf/passwd

Require valid-user

保存退出

以下是对次配置的说明

DAV svn

SVNParentPath /usr/svn/repository/ //svn父目录AuthzSVNAccessFile /usr/svn/repository/conf/authz //权限配置文件AuthType Basic //连接类型设置

AuthName "Subversion Repository" //连接框提示

AuthUserFile /usr/svn/repository/conf/passwd //用户配置文件

Require valid-user //采用何种认证

//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有,则只能第一个用户可以访问新建库

3. 把svn目录加到apache用户下,

[root@localhost usr]# chown -R apache.apache /usr/svn/

为什么要这样做呢,apache启动的用户是apache,它没有访问/usr/svn目录的权限,因为/usr/svn是用root用户创建的。

4.启动服务

启动svnserve 和httpd 服务

[root@localhost svn]# svnserve -d -r /usr/svn/repository/

[root@localhost svn]# ps aux|grep svnserve

root 7421 0.0 0.0 12644 592 ? Ss 20:46 0:00 svnserve -d -r /usr/svn/repository/

root 7426 0.0 0.0 5028 664 pts/1 R+ 20:47 0:00 grep svnserve [root@localhost svn]#

[root@localhost svn]#

[root@localhost svn]# service httpd restart

停止httpd:[确定]

启动httpd:[确定]

[root@localhost svn]#

启动服务后在windows7里用TortoiseSVN(图形svn客户端工具)导入一些文件后

在地址栏里输入http://192.168.1.125/svn/repo1就会提示输入用户名和密码,输入用户名密码后就能访问到版本库里的文件,

如图所示:

六、apache与tomcat整合

软件准备:

用于apache与tomcat通信的jk 模块mod_jk.so下载地址:

https://www.doczj.com/doc/ee15144405.html,/dist/tomcat/tomcat-connectors/jk/binaries/linux/

tomcat-connectors-1.2.32-src.zip

这里有apache、tomcat整个的配置文件,还有jk源代码,这下载只是为了要里面的配置文件

tomcat-connectors-1.2.32-src.zip这里有四个配置文件:

httpd-jk.conf

workers.properties

uriworkermap.properties

workers.properties.minimal

现在我用到的的只有httpd-jk.conf和workers.properties,前这两个文件复制到/etc/httpd/conf文件夹下。

1.先装两个tomcat,一个Tomcat6_1,别一个Tomcat6_2

Tomcat6_1修改service.xml文件中的如下信息:

maxHttpHeaderSize="8192" useBodyEncodingForURI="true"

minProcessors="100" maxProcessors="5000"

maxThreads="5000" minSpareThreads="1000" maxSpareThreads="4000"

enableLookups="false" acceptCount="3500"

compression="on" compressionMinSize="2048"

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"

connectionTimeout="60000" disableUploadTimeout="true" debug="0" URIEncoding="UTF-8"/>

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

将下面这句的注释去掉

Tomcat6_2修改service.xml文件中的如下信息:

maxHttpHeaderSize="8192" useBodyEncodingForURI="true"

minProcessors="100" maxProcessors="5000"

maxThreads="5000" minSpareThreads="1000" maxSpareThreads="4000"

enableLookups="false" acceptCount="3500"

相关主题
相关文档 最新文档