分享
 
 
 

详细讲述JSP、PHP与JAVA融合的开发环境

王朝php·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

本文介绍了融JSP、PHP和JAVA于一炉的开发环境的建立,为了适合大多数初学者的需求,很多步骤都是采用比较方便的办法,力求简单明了。一般来说,没有特别需求的软件,我都是采用RPM的方式安装。如果你有优化配置、安全考虑等特殊需求,请参考相关的更多的资料进行配置。

在本文中,Apache以DSO模式安装,PHP实现了JAVA组件的支持,使得我们在进行大型项目开发的时候,可以选择PHP作为前端脚本语言,调用JAVA组件实现底层和企业级的应用。

一.系统环境

1.初始安装

防火墙开放接口:21,22,80,2401,8009,10000,eth0

Redhat Linux 9.0

Development Tools

Network Servers

VSFtp

CVS-1.11.2-10

MySQL 3.23.54

2.包安装

JDK 1.4.2_04 下载地址:http://www.netshine.com.cn/linux/j2sdk-1_4_2_04-linux-i586.rpm

Tomcat 5.0.19 下载地址:http://www.netshine.com.cn/linux/jakarta-tomcat-5.0.19.tar.gz

3.脚本安装

Webmin 1.110 下载地址:http://www.netshine.com.cn/linux/webmin-1.110.tar.gz

ZendOptimizer 2.5.1 下载地址:http://www.netshine.com.cn/linux/ZendOptimizer-2.5.1-Linux_glibc21-i386.tar.gz

4.手工编译

Apache 2.0.49 下载地址:http://www.netshine.com.cn/linux/httpd-2.0.49.tar.gz

PHP 4.3.5 下载地址:http://www.netshine.com.cn/linux/php-4.3.5.tar.gz

JK 2-2.0.4 下载地址:http://www.netshine.com.cn/linux/jakarta-tomcat-connectors-jk2-src-current.tar.gz

5.客户机环境

Windows XP Professional

Absolute Telnet 3.0

Zend Encoder

Macromedia Dreamweaver MX 2004

Borland JBuilder 9 Enterprise

WinCVS 1.3 下载地址:http://www.netshine.com.cn/linux/WinCvs13b17.zip

二.系统安装

启动Linux安装光盘,安装基本系统:FTP、开发工具和MySQL3.23.54。如果你是手工编译安装MySQL,要记得以后在编译PHP等程序时要指明MySQL的具体路径,否则会因找不到路径而导致编译出错。

三.安装webmin1.110

用Webmin来配置系统,傻瓜化,可以节省不少力气,所以一般我都先安装它。安装过程很简单,执行setup.sh脚本后照提示一步一步来就可以了。

# cd webmin*

# ./setup.sh

四.安装JDK1.4.2

1.编辑如下三个文件,没有指明全路径的放在你自己的home目录就可以。

/etc/profile

JAVA_HOME=/usr/java/j2sdk1.4.2_04

CLASSPATH=.:

$JAVA_HOME/lib:$JAVA_HOME/jre/lib

CVSROOT=/usr/local/cvsroot

PATH=.:

$JAVA_HOME/bin:

$JAVA_HOME/jre/bin:$PATH

export JAVA_HOME CLASSPATH CVSROOT PATH

/etc/ld.so.conf

/usr/java/j2sdk1.4.2_04/jre/lib/i386

/usr/java/j2sdk1.4.2_04/jre/lib/i386/server

HelloWorld.java

class HelloWorld

{

public static void main(String[] args)

{

//本文件测试Java环境是否安装成功。

System.out.println("Hello World!");

}

}

2.执行以下命令:

# rpm -ivh j2sdk*.rpm

//安装JDK包。

# source /etc/profile

//重载profile环境。

# ldconfig

//创建动态链接库缓存文件。

# javac -d . HelloWorld.java

//编译测试文件。

# java HelloWorld

//运行程序测试安装是否成功。

五.安装Apache

# tar xvzf httpd*

//解压源码包。

# cd httpd*

//进入安装目录。

# ./configure --prefix=/usr/local/apache

--enable-so --enable-mods-shared=most

--enable-rewrite

# make;make install

//编译并安装。

说明:

--enable-so选项:让Apache可以支持DSO模式,注意,我们在这里采用的是Apache2.0的语法。如果你的Apache是1.3版本,应改为--enable-module=so。

--enable-mods-shared=most选项:告诉编译器将所有标准模块都编译为DSO模块。你要是用的是Apache1.3,改为--enable-shared=max就可以。

--enable-rewrite选项:支持地址重写功能,使用1.3版本的朋友请将它改为--enable-module=rewrite。

六.编译安装PHP

1.执行命令:

#tar xvzf php*

//解压源码包

#cd php*

//进入PHP安装命令

#./configure --prefix=/usr/local/php

--with-mysql --with-apxs2=/usr/local

/apache/bin/apxs --with-java

=/usr/java/j2sdk1.4.2_04

#make;make install

//编译并安装

#cp php.ini-dist /usr/local/php/lib/php.ini

//复制php配置文件

#cd /usr/local/php/lib/php/extensions/

no-debug-non-zts-20020429

//extensions目录

#ln -s java.so libphp_java.so

//建立连接,忘记了会出错哦

#cd Zend*

//进入ZendOptimizer目录

#./install

//安装PHP加速器

说明:

--with-apxs2=/usr/local/apache/bin/apxs是Apache2的语法,1.3版本的用户请使用--with-apxs=/usr/local/apache/bin/apxs。

2.编辑下面三个文件:

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

LoadModule php4_module modules/libphp4.so

AddType application/x-httpd-php .php

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

AddDefaultCharset gb2312

/usr/local/apache/htdocs/test.php

//本程序测试PHP的JAVA环境是否可用,

代码是从http:

//www.php.net/manual/en/ref.java.php摘录下来的。

// get instance of Java class

java.lang.System in PHP

$system = new Java('java.lang.System');

// demonstrate property access

echo 'Java version=' .

$system->getProperty('java.version') . '

';

echo 'Java vendor=' .

$system->getProperty('java.vendor') . '

';

echo 'OS=' .

$system->getProperty('os.name') . ' ' .

$system->getProperty('os.version') .

' on ' .

$system->getProperty('os.arch') . '

';

// java.util.Date example

$formatter =

new Java('java.text.SimpleDateFormat',

"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

echo $formatter->format

(new Java('java.util.Date'));

?>

/usr/local/php/lib/php.ini

register_globals=On

[Java]

java.class.path=/usr/local/php/lib/php/

php_java.jar:

/home/jim/myclass

java.home=/usr/java/j2sdk1.4.2_04

java.library=/usr/java/j2sdk1.4.2_04

/jre/lib/i386/libjava.so

java.library.path=/usr

/local/php/lib/php/extensions/

no-debug-non-zts-20020429

extension_dir=/usr/local/php/lib/

php/extensions/no-debug-non-zts-20020429

extension=libphp_java.so

注意:

(1).如果你刚刚从以前老版本的PHP转换到新版本,可能会发现你的PHP程序很多都不能用了。不过把register_globals打开就会一切正常了。这是因为老版本的PHP,它的register_globals默认是开着的,而新版本,却把它关了的缘故。

(2)./home/jim/myclass是我存放JAVA组件的路径,你可以根据实际情况修改,但是为了安全起见,不要放在web目录下。

七.安装Tomcat

1.执行以下命令

#cd *jk2*/jk/native2

//进入连接器编译目录

#./buildconf.sh

//运行配置脚本

#./configure --with-apxs2=/usr/local

/apache/bin/apxs

--enable-jni --enable-EAPI

#make //编译模块

#cd ~jim/src/*jk2*/jk/build/jk2/apache2

//进入编译好模块的目录

#cp *.so /usr/local/apache/modules/

//将模块拷贝到Apache目录

#cp -R jakarta-tomcat-5.0.19 /usr/local/tomcat

//安装Tomcat

#touch /usr/local/apache/logs/shm.file

//建立共享内存文件

2.编辑以下文件

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

LoadModule jk2_module modules/mod_jk2.so

JkSet config.file

/usr/local/apache/conf/workers2.properties

DocumentRoot "/usr/local/tomcat/webapps"

/usr/local/tomcat/webapps/jsp-examples/for.jsp

/usr/local/tomcat/conf/jk2.propertie

handler.list=request,container,channelSocket

channelSocket.port=8009

channelSocket.address=127.0.0.1

channelSocket.maxPort=port+10

/usr/local/apache/conf/workers2.properties

[shm]

file=/usr/local/apache/logs/shm.file

size=1048576

[workerEnv:]

info=Global server options

timing=1

debug=0

[channel.socket:localhost:8009]

port=8009

host=127.0.0.1

[ajp13:localhost:8009]

channel=channel.socket:localhost:8009

[uri:/*.jsp]

worker=ajp13:localhost:8009

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

#!/bin/sh

# chkconfig:2345 92 12

# description:Starting

Apache and Tomcat Server

LD_LIBRARY_PATH=/usr/java/j2sdk1.4.2_04

/jre/lib/i386:/usr/java/j2sdk1.4.2_04

/jre/lib/i386/server

export LD_LIBRARY_PATH

CATALINA_BASE=/usr/local/tomcat

export CATALINA_BASE

CATALINA_HOME=/usr/local/tomcat

export CATALINA_HOME

APACHE_HOME=/usr/local/apache

export APACHE_HOME

JAVA_HOME=/usr/java/j2sdk1.4.2_04

export JAVA_HOME

PROFILEDIR=/var/run

case "$1" in

start)

if [ -f $PROFILEDIR/Tomcat5_Apache2 ];

then

echo "Running Tomcat5_Apache2"

else

if [ -f $CATALINA_HOME/bin/startup.sh ];

then

if [ -f $APACHE_HOME/bin/apachectl ];

then

"$CATALINA_HOME/bin/startup.sh"

echo "Startting Tomcat5"

sleep 3

echo "Startting Apache2"

$APACHE_HOME/bin/apachectl start

echo "."

touch $PROFILEDIR/Tomcat5_Apache2

else

echo "Apache File Not Founds"

fi

else

echo "Tomcat File Not Founds"

fi

fi

;;

stop)

if [ -f $PROFILEDIR/Tomcat5_Apache2 ];

then

if [ -f $CATALINA_HOME/bin/shutdown.sh ];

then

if [ -f $APACHE_HOME/bin/apachectl ];

then

"$CATALINA_HOME/bin/shutdown.sh"

echo "Stopping Tomcat5"

sleep 3

echo "Stopping Apache2"

$APACHE_HOME/bin/apachectl stop

rm $PROFILEDIR/Tomcat5_Apache2

else

echo "Apache File Not Founds"

fi

else

echo "Tomcat File Not Founds"

fi

else

echo "Not Running Tomcat5_Apache2"

fi

;;

*)

echo "Usage; `basename $0`

{start|stop}" 1>&2

exit 1

;;

esac

exit 0

3.设置自动启动

#chmod u+x /etc/rc.d/init.d/httpd

//修改文件执行权限

#/sbin/chkconfig --add httpd

//将httpd加入系统启动列表

八.安装CVS

1.编辑以下文件

/etc/xinetd.d/cvspserver

service cvspserver

{

socket_type=stream

wait=no

user=root

server=/usr/bin/cvs

server_args=-f --allow-root=

/usr/local/cvsroot pserver

log_on_failure += USERID

}

2.执行以下命令

# /usr/sbin/useradd -d /usr/local/cvsroot cvs

//创建CVS管理用户。

#passwd cvs

//创建管理用户密码。

# chmod 771 /usr/local/cvsroot

//修改CVS根目录权限。

# su cvs

//使用CVS用户的身份。

$ cvs -d /usr/local/cvsroot init

//初始化CVS仓库。

$exit

//退出CVS用户身份。

#chmod 644 /etc/xinetd.d/cvspserver

//修改CVS服务启动文件权限。

# /etc/rc.d/init.d/xinetd restart

//重启动xinetd超级服务器。

# netstat -lnp|grep 2401

//查看CVS服务是否已经启动。

# /usr/sbin/useradd cvspub

//创建CVS等效系统用户cvspub。

# /usr/sbin/usermod -G cvs cvspub

//将cvspub用户加入cvs组。

#cd /home/tets1

//进入测试用的项目目录。

#cvs import -m

'this is a test only'

test1 v_0_0_1 start

//将当前项目的文件导入CVS仓库。

说明:

CVS的密码问题,以前众说纷纭,有的是编一段程序来生成密码,有的则用所谓的土方法去拷贝shadow密码。其实我可以告诉初学者一个最简单方便的方法,就是采用Webmin添加CVS用户,它自己就会帮你生成密码。

3.编辑以下文件:

/usr/local/cvsroot/CVSROOT/passwd

test1:NXWxabrVe7z/w:cvspub

test2:FZTxeAWW.ySIA:cvspub

说明:

主要是在最后加上用户名cvspub,让系统用户cvspub代替test1和test2去读写CVS仓库。

/usr/local/cvsroot/CVSROOT/readers

test1

/usr/local/cvsroot/CVSROOT/writers

cvs

test2

至此,整个系统配置完成。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有