分享
 
 
 

Linux 网络服务器构架实务之四

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

/*------------------------------------------------------------------------

写在前面:

我看到很多网友的提问都跟服务器配置有关,搭建一个可靠而又安全的应用开发服务器是WEB编程的基础,尤其对于在LINUX上进行JSP开发的朋友而言。

这篇文档是我多年服务器配置的结晶,发表前已历经本人N此修改(最后一次大的修改是在RH7.2刚刚发布之即,而后一来由于忙于开发二来由于没有发现错误,所以没有升级),文档

于2001年底被天极网转载(http://www.yesky.com/20020206/217592.shtml),后经linuxbye.net,cnjsp.com等多个linux和JAVA社区转载,历经时间考验,至今未曾发现错误,各位尽可

放心使用。

文档在web页面的显示效果不够理想,如果您希望得到本文档的PDF,或有任何意见建议,可邮件至roczhao@msn.com

文档较长分为多篇发布,这是第四篇,以下为正文:

-----------------------------------------------------------------------*/

2 建立符号连接

##为启动程序建立符号连接,便于以后重启服务

ln –s /usr/local/apache/bin/apachectl /usr/bin/apache

3 编辑配置文件

## 设置默认页面,中间用空格分开

DirectoryIndex index.html index.jsp index.xtp index.php index.php3

4 测试Apache

Shell>apache start

lynx http://localhost

##如果出现Apache的文档页面,表示安装成功。

5 创建启动脚本

##创建Apache服务

touch /etc/rc.d/init.d/httpd

vi /etc/rc.d/init.d/httpd

## 文件内容如下:

#!/bin/bash

#Start httpd service

/usr/local/apache/bin/apachectl start

##设置文件权限

chown –R root /etc/rc.d/init.d/httpd

chmod 700 /etc/rc.d/init.d/httpd

##连接到你默认init 级别的所在目录

ln –s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S65httpd

--------------------------------------------------------------------------------------------

Step 10 Php install

## 本版本中我采用的是DSO安装模式,这样当你升级PHP的时候就无需重新安装Apache

1 安装PHP

cd ..

tar xvzf php*

cd php*

./configure --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs --enable-track-vars --enable-sockets --enable-ftp //设置PHP编译参数

make //编译

make install //安装

cp ./php.ini-dist /usr/local/lib/php.ini //复制配置文件到/usr/local/lib

2 配置Apache

vi /usr/local/apache/conf/httpd.conf //配置Apache支持PHP

## 以php为关键词查找到如下几行,去掉前面的注释符号

# AddType application/x-httpd-php .php

# AddType application/x-httpd-php .php3 //本行需要自行添加,用来支持PHP3

# AddType application/x-httpd-php-source .phps

#重新启动Apache

apache restart

----------------------------------------------------------------------------------------------------------------------

Step 11 Jvm setup

cp /home/src/ j2sdk-1_3_1-linux-i386.bin /usr/local

cd /usr/local

chmod a+x j2sdk-1_3_1-linux-i386.bin

##下面的指令是一个脚本,它先要问你是否同意,输入Y,然后它会自行安装

./j2sdk-1_3_1-linux-i386.bin

##为当前的JDK版本建立一个符号连接,这样做的目的是将来如果有新的版本安装到系统上,可以将新的目录连接为/usr/local/jvm,这样就无需修改很多配置文件

ln –s /usr/local/jdk1.3.1_01 /usr/local/jvm

--------------------------------------------------------------------------------------------

Step 12 Classes Install

##这个步骤是我的一个习惯,如果不做JAVA或者JSP开发可能不需要这一步,这个步骤的目的是设置一个放置自己JAVA类库的主目录,然后在此主目录下建立子目录分别存放不同种类的类文件。

##这里需要探讨的是MySQL的驱动程序。大家可以看到我下面使用的仍然是mm驱动,有网友建议我使用resin自带的驱动,我到caucho的站点上看到caucho声明它的驱动比mm驱动快很多,并附有相关数据;然而我测试的结果是resin驱动在rs跳转时除了rs.next()其他的rs.previous();、rs.first();和rs.last();都没任何作用,所以我仍然使用mm.mysql-2.0.4-bin.jar.zip 。

##创建类库主目录

mkdir /usr/local/lib/java

##下面安装MySQL的JDBC驱动,这个驱动是支持JDBC2.0的

mkdir /usr/local/lib/java/drivers

cp /home/src/mm.mysql-2.0.4-bin.jar.zip /usr/local/lib/java/drivers //MySQL driver

##下面安装JAF,需要说明的是,下载的jaf包是个winzip文件,我是windows上解压的,然后创建了一个jaf的目录将activation.jar放到里面又上传到/home/src的,你可以自行解决

mkdir /usr/local/lib/java/jaf

cp /home/src/java/jaf/activation.jar /usr/local/lib/java/jaf //Jaf class

##下面安装JAVAMAIL,我的处理办法同上

mkdir /usr/local/lib/java/javamail

cp /home/src/java/javamail/*.jar /usr/local/lib/java/javamail //JavaMail classes

--------------------------------------------------------------------------------------------

Step 13 Edit /etc/profile

##这一步用来配置环境变量,Resin的安装需要依赖该步骤

Vi /etc/profile

## 在/etc/profile文件末添加如下内容:

JAVA_HOME=/usr/local/jvm

RESIN_HOME=/usr/local/resin

CLASS_HOME=/usr/local/lib/java

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib:$RESIN_HOME/lib:$CLASS_HOME/drivers/mm.mysql-2.0.4-bin.jar.zip:$CLASS_HOME/jaf/activation.jar: $CLASS_HOME/javamail/mail.jar: $CLASS_HOME/javamail /smtp.jar: $CLASS_HOME/javamail /pop3.jar: $CLASS_HOME/javamail/mailapi.jar: $CLASS_HOME/javamail/imap.jar

PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local:/usr/local/bin:/usr/local/jvm/bin:/usr/local/jvm/jre/bin:/usr/local/mysql/bin:/usr/bin/X11:/usr/X11R6/bin

export JAVA_HOME RESIN_HOME CLASS_HOME CLASSPATH PATH

## 保存文件后注销登陆,然后重新进入,输入下面的命令查看系统变量是否已经生效:

Shell>env

--------------------------------------------------------------------------------------------

Step 14 Resin Install

1 安装Resin

cd /home/src

cp /home/src/resin-2.0.5.tar.gz /usr/local

cd /usr/local

tar xvzf resin*

cd resin*

./configure --with-apache=/usr/local/apache //设置编译参数

(Or: ./configure --with-apxs=/usr/local/apache/bin/apxs)

make //编译

make install //安装

2 建立符号连接

##建立resin的符号连接,道理同建立jvm符号连接

ln –s /usr/local/resin2.0.5 /usr/local/resin

##建立resin服务程序的符号连接,道理同建立apache符号连接

ln –s /usr/local/resin/bin/httpd.sh /usr/bin/resin

3 修改配置文件

vi /usr/local/resin/conf/resin.conf

Modify One: 建立连接池,类似于NT上的DSN(数据源)

<resource-ref>

<res-ref-name>jdbc/test</res-ref-name> //数据源名称

<res-type>javax.sql.DataSource</res-type> //数据源类型

<init-param driver-name="org.gjt.mm.mysql.Driver"/> //数据库驱动

<init-param url=" jdbc:mysql://localhost/test "/> //连接串

<init-param user="your_user_name"/> //用户名

<init-param password="your_password"/> //密码

<init-param max-connections="20"/> //最大连接数

<init-param max-idle-time="30"/> //延时时间

</resource-ref>

##后面的测试部分有例子介绍如何调用数据源

Modify Two: 修改默认主目录,如果使用虚拟主机,其实也可以不理会这个地方

<app-dir> /usr/local/apache/htdocs </app-dir>

Modify Three: 修改Resin端口,与Apache协同工作

<http port='8080' /> //删除本行即可

Modify Four: 添加支持JSP的虚拟主机

##添加一个支持JSP的虚拟主机需要做如下四方面的工作: DNS、FTP、APACHE、RESIN

1、添加一个DNS别名(当然主机名也可以)

vi /var/named/yesgo.loc

# 追加如下一行,当然你可以自定义其他别名或主机名

www IN CNAME ns.yesgo.loc.

/etc/rc.d/init.d/named restart //重启DNS服务

nslookup //测试是否解析成功

2、添加一个FTP帐号

Useradd www –s /dev/null –g ftpchroot //添加帐号

Passwd www //修改密码

Chmod 701 /home/www //设置权限,否则将来访问时服务器会说你没权限

3、在Apache中添加虚拟主机

vi /usr/local/apache/conf/httpd.conf

# 指定你建立虚拟主机所用的IP地址

NameVirtualHost 192.168.1.2

# Add virtual host

<VirtualHost www.yesgo.loc>

ServerAdmin webmaster@yesgo.loc //管理员邮件

DocumentRoot /home/www //根目录

ServerName www.yesgo.loc //域名

ErrorLog logs/www.yesgo.loc-error_log //错误日志名称

CustomLog logs/www.yesgo.loc -access_log common //自定义日志名称

</VirtualHost>

4、在Resin中添加虚拟主机,以支持JSP

vi /usr/local/resin/conf/resin.conf

##在文档中查找</host>,然后在其后加入如下内容:

<host id='www.yesgo.loc'>

<app-dir>/home/www</app-dir> //指定该站点的根目录

<classpath id='classes' source='classes' compile='true'/ > //指定class文件目录

</host>

『注意』:

按照上面地设置,你放置JavaBean的目录就是站点根目录下的classes目录,不可以死记硬背/WEB-INFO/classes,关键要明白其中的道理,其实你设置什么都可以的,例如Amao,Agou啦,呵呵。

『强烈建议』:设置classes目录的权限,否则客户端可以浏览和下载你的组件

chmod 701 /home/www/classes //设置classes目录的权限,避免非法获取

4 测试Resin

##启动Resin

shell>resin start

##重新启动Apache,因为刚才修改了httpd.conf,需要重启才生效

shell>apache restart

#创建文件

touch /home/www/index.jsp

chown –R www /home/www/index.jsp

chmod 701 /home/www/index.jsp

##编辑源文件

vi /home/www/index.jsp

##源代码只有一句:

1+1=<%=1+1%>

##测试该程序

lynx http://www.yesgo.loc/

##输出结果应该是:1+1=2

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有