首页 > 编程 > JSP > 正文

JSP、PHP与JAVA融合的开发环境

2024-09-05 00:20:28
字体:
来源:转载
供稿:网友
前言

本文介绍了融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/profilejava_home=/usr/java/j2sdk1.4.2_04classpath=.:/lib:/jre/libcvsroot=/usr/local/cvsrootpath=.:/bin:/jre/bin: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/serverhelloworld.javaclass 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.confloadmodule php4_module modules/libphp4.soaddtype application/x-httpd-php .phpaddtype application/x-httpd-php-source .phpsadddefaultcharset gb2312/usr/local/apache/htdocs/test.php <?php//本程序测试php的java环境是否可用,代码是从http://www.php.net/manual/en/ref.java.php摘录下来的。// get instance of java class java.lang.system in php = new java('java.lang.system');// demonstrate property accessecho 'java version=' . ->getproperty('java.version') . '<br />';echo 'java vendor=' . ->getproperty('java.vendor') . '<br />';echo 'os=' . ->getproperty('os.name') . ' ' .->getproperty('os.version') . ' on ' .->getproperty('os.arch') . ' <br />';// java.util.date example = new java('java.text.simpledateformat',"eeee, mmmm dd, yyyy 'at' h:mm:ss a zzzz");echo ->format(new java('java.util.date'));?>/usr/local/php/lib/php.iniregister_globals=on[java] java.class.path=/usr/local/php/lib/php/php_java.jar:/home/jim/myclassjava.home=/usr/java/j2sdk1.4.2_04java.library=/usr/java/j2sdk1.4.2_04/jre/lib/i386/libjava.sojava.library.path=/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429extension=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 //建立共享内存文件

我刚开始安装tomcat的时候,总是不成功,后来我跑到apache的网站,看了一份只有两页的英文说明,很快就把它配好了。我发现国内的作者总是喜欢故弄玄虚,把本来很简单的东西搞得很复杂,让人家看不懂,以显示自己高明。

2.编辑以下文件

/usr/local/apache/conf/httpd.confloadmodule jk2_module modules/mod_jk2.sojkset config.file /usr/local/apache/conf/workers2.propertiesdocumentroot "/usr/local/tomcat/webapps"<directory "/usr/local/tomcat/webapps">/usr/local/tomcat/webapps/jsp-examples/for.jsp<%int i; for(i=1;i<100;i++){ out.println("<h" + i + ">hello world!</h" + i + ">"); } %>/usr/local/tomcat/conf/jk2.propertiehandler.list=request,container,channelsocketchannelsocket.port=8009channelsocket.address=127.0.0.1channelsocket.maxport=port+10/usr/local/apache/conf/workers2.properties[shm]file=/usr/local/apache/logs/shm.filesize=1048576[workerenv:]info=global server optionstiming=1debug=0[channel.socket:localhost:8009]port=8009host=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 serverld_library_path=/usr/java/j2sdk1.4.2_04/jre/lib/i386:/usr/java/j2sdk1.4.2_04/jre/lib/i386/serverexport ld_library_pathcatalina_base=/usr/local/tomcatexport catalina_basecatalina_home=/usr/local/tomcat export catalina_home apache_home=/usr/local/apache export apache_home java_home=/usr/java/j2sdk1.4.2_04export java_home profiledir=/var/runcase "$1" in start) if [ -f /tomcat5_apache2 ]; then echo "running tomcat5_apache2" else if [ -f /bin/startup.sh ]; then if [ -f /bin/apachectl ]; then "/bin/startup.sh" echo "startting tomcat5" sleep 3 echo "startting apache2" /bin/apachectl start echo "." touch /tomcat5_apache2 else echo "apache file not founds" fi else echo "tomcat file not founds" fi fi ;; stop) if [ -f /tomcat5_apache2 ]; then if [ -f /bin/shutdown.sh ]; then if [ -f /bin/apachectl ]; then "/bin/shutdown.sh" echo "stopping tomcat5" sleep 3 echo "stopping apache2" /bin/apachectl stop rm /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/cvspserverservice cvspserver{socket_type=streamwait=nouser=rootserver=/usr/bin/cvsserver_args=-f --allow-root=/usr/local/cvsroot pserverlog_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仓库。 //退出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/passwdtest1:nxwxabrve7z/w:cvspubtest2:fztxeaww.ysia:cvspub


说明:

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

/usr/local/cvsroot/cvsroot/readerstest1/usr/local/cvsroot/cvsroot/writerscvstest2


结语

至此,整个系统配置完成。在本系统配置过程中,出现过很多错误,可惜都是通过英文站点找到解决的方法,真希望我们国内站点的技术水平可以尽快提高起来。本文虽然力求简洁明了,但由于时间所限,好多地方未必都能尽如人意,如您有不明白的地方,请与我联系,我会采纳各位的意见,将晦涩难懂的地方修改过来。在配置过程中,参考了很多优秀的文章,在这里谢谢各位作者!最后我想说明以下,这个系统本来是要建立在freebsd平台之上,但是,由于freebsd平台上的java环境尚未完善,最后我不得不惋惜地放弃了这个intel平台上最优秀的操作系统,选择了性能和稳定性都一般的redhat linux。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表