网站建设手记

来源:互联网 发布:Linux的loop 编辑:程序博客网 时间:2024/05/16 23:36

JavaGroups网站雏形已大致建设完毕!2008-1-8

 

本系统的论坛社区有Discz网上论坛提供,JSP服务由我自己制作,采用Apache+Tomcat+PHP+MySql+phpMyAdmin系统整合使用。今已测试成功。2008-1-8

 

下面将介绍系统制作的难点部分:

 

一、首先是Apache+Tomcat+PHP+Mysql+phpMyAdmin整合部分:

1、 安装Apache

a)     下载Apache2.2.6.msi

b)     安装后在E盘中建立网站存放空间WebRoot,再修改Apache2.2下的conf/httpd.conf文件

c)      httpd.conf中找到ServerRoot 设置为 ServerRoot E:/Apache2.2

d)     找到DocumentRoot 设置为 DocumentRoot E:/WebRoot

e)     找到<Directory > 设置为 <Directory "E:/WebRoot">

f)      保存,再在WebRoot中新建index.html内容为<h1>Apache Success</h1>

g)     启动Apache,在浏览器中输入http://localhost若出现Apache Success则配置成功。

h)     启动故障解决办法:

                          i.          有时出现无法启动的,查看logs/error.logs出现“(OS 10022)提供了一个无效的参数”的信息 就修改 “本地连接”—“TCP/IP”—“高级”—“wins”去掉LMHOST查询前的“勾”,选上“启用TCP/IP NetBOIS”。再启动Apache服务,就OK

2、 安装PHP服务

a)     下载php-5.2.5-Win32.zip 解压到E:/PHP

b)     配置php.ini
E:/php文件夹下的php.ini-recommended改名,改名为php.ini[ 出于安全和效率的考虑,建议使用php.ini-recommended作为php.ini的蓝本,而不要使用php.ini-dist]
打开php.ini,找到extension_dir = "./" 改为 extension_dir = "E:/php/ext",也就是你的PHP目录下,包含着一大堆.dll文件的那个目录.找到;extension=php_gd2.dll,;extension=php_mbstring.dll,;extension=php_mysql.dll3,把这3行前的";"都去掉,让这3行生效,也就是说,让你的PHP支持mysql组件.
E:/php/ 创建文件夹 session_tmp 找到session.save_path 这一行,设成session.save_path = "C:/php/session_tmp"这句话的作用是,让产生的session文件,都存到你设的目录C:/php/session_tmp里去,不然你的系统目录里,会有很多session文件.(真正用做网络服务器时是不把session文件夹建到web文档文件夹里的)[要是您以CGI方式安装了以后,就要找到session.auto_start,改成session.auto_start = 1.用我们这方法装就不用改]
然后保存php.ini

c)      设置path
a.
设置环境变量PHPRC 使 php.ini有效
[
这一步可以在httpd.conf里添加 PHPIniDir "E:/php" 来实现,但是我建议用设置path的方法,要是你对PHP命令行下有兴趣的话,这样设置时正确的设置方法]

右击我的电脑属性——"高级"——环境变量 ——下面的新建
来新建一个系统变量 ,输入如下(其中E:/php是你的 PHP 所在的文件夹);(如图12)
b.
在系统变量 里 双击 变量 "path",弹出系统path变量的编辑框, 在变量值后面加上 ;E:/php [也就是你的PHP的文件夹]
c.
点击 系统变量 的新建输入(如图13)的信息(E:/php/extE:/php为你的 PHP所在的文件夹)

3、 整合Apache+PHP服务

a)     回到httpd.conf文件
找到 DirectoryIndex index.html index.html.var 在后面加入 index.htm index.php
在最后加入
LoadFile E:/php/php5ts.dll #
(使apache运行时加载php5ts.dll
LoadFile E:/php/libmysql.dll
LoadModule php5_module E:/php/php5apache2.dll #(
如果是apache2.2.X,载入php5apache2_2.dll模块,当初我开始写这篇的时候,还官方发布的php包还没有这个模块)
AddType application/x-httpd-php .php #
(让PHP解释器将.php文件作为它的解释的一种文件类型)

保存设置。
WEB根目录(E:/WebRoot)里建一个名为test.php的文件内容如下
<?php phpinfo(); ?>
重新成功启动apache服务
用浏览器打开 localhost/test.php
如果可以看到一个有很多信息的页面,OK
这里你将PHP安装为APACHE的模块,此时PHP环境基本已经配置成功

4、 安装MySql

a)     这个就不用说了,很简单。但要注意使用时要设置root的密码,因为开始时root的密码为空。

b)     启动服务

c)      参考:Mysql中文手册

5、 安装Tomcat

a)     下载Tomcat6.04.zip

b)     设置环境变量:

                          i.          “JAVA_HOME=E:/Java/jdk1.6.0”

                         ii.          “JRE_HOME=E:/Java/jre1.6.0”          

                       iii.          重启计算机

                        iv.          运行Tomcat6.04/bin/startup 启动服务

                         v.          修改Tomcat6.04/conf/sever.xml文件,找到<HOST > 修改”webapps””E:/WebRoot”

                        vi.          E:/WebRoot中建立ROOT的文件夹,再在ROOT中建立index.jsp文件,其内容为<% out.print(“Tomcat Test Success!!”);%>

                      vii.          在地址栏中输入http://localhost:8080测试

6、 整合ApacheTomcat这是重点,也是难点

a)     下载mod_jk-1.2.26-httpd-2.2.4.so (注意:mod_jk的版本要和Apache的版本大体一致

b)     将其放在Apache/modules里。

c)      打开Apache/conf/httpd.conf文件,在最后添加:

LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so

JkWorkersFile "E:/Apache Tomcat 6.0.14/conf/workers.properties"

JkMount /servlet/* ajp13

JkMount /*.jsp ajp13

JKMount/*.do ajp13 #提供.do的方式访问网站

d)     E:/Apache Tomcat 6.0.14/conf下新建worker.properties文件其内容是:

workers.tomcat_home=E:/Apache Tomcat 6.0.14

workers.java_home=E:/Java/jdk1.6.0_03

ps=/

# worker.list=ajp13

worker.list=ajp12,ajp13

 

worker.ajp12.port=8007

worker.ajp12.host=localhost

worker.ajp12.type=ajp12

worker.ajp12.lbfactor=1

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

worker.ajp13.lbfactor=1

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=ajp12, ajp13

worker.inprocess.type=jni

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar

worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar

worker.inprocess.cmd_line=-config

worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml

worker.inprocess.cmd_line=-home

worker.inprocess.cmd_line=$(workers.tomcat_home)

worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll

worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout

worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr

worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)

 

e)     保存,重启TomcatApache,输入http://localhost/index.jsp测试WebRoot/ROOT中的index.jsp文件。

7、 到此,服务器配置全部成功。

8、 这种配置是将php,html文件有Apache执行,由Apache提供服务,而Tomcat只做JSP文件的解释器,不做服务器用。

9、 安装phpMyAdmin

a)     下载phpMyAdmin并解压到E:/WebRoot

修改config.sample.inc.php文件名为config.inc.php

配置config.inc.php文件(亦可以参考phpMyAdmin目录下的Documentation.html"Quick Install")

手工修改(这是我的配置实例,仅供参考)

<?php
/*
 * Generated configuration file
 * Generated by: phpMyAdmin 2.10.0.2 setup script by Michal Čihař <michal@cihar.com>
 * Version: $Id: setup.php 9697 2006-11-13 08:32:28Z nijel $
 * Date: Sat, 14 Apr 2007 08:27:28 GMT
 */

/* Servers configuration */
$i = 0;

/* Server localhost (cookie) [1] */
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = true;
$cfg['Servers'][$i]['auth_type'] = 'cookie';

/* End of servers configuration */

$cfg['blowfish_secret'] = '46208fe1319777.57747900';
?>

b.通过Web界面进行修改

http://yourdomain/phpmyadmin/script/setup.php进行配置

 

10、        安装Discuz论坛

a)     下载Discuz!_6.0.0RC1_SC_UTF8版本解压到E:/WebRootDiscuz

b)     输入http://localhost/Discuz/install.php

c)      设置好就OK

 

二、解决ApacheTomcat 之间的资源访问技术

              由于这是两种不同的服务器,Tomcat只能作为JSP的解释器,都是ROOT里面。读取图片、CSS是相对<%=request.getContextPath()%>的,而不是想读ROOT的,所以要将CSSimages等非JSP的文件要放在WebRoot里面,这样就能解决两种服务器的资源访问问题。

三、解决数据库、网页相互读取的乱码问题

       由于网页的访问方式都是通过UTF-8编码来传递的,因此在网页间、网页与数据库之间的编码要统一。不能由多种编码混合使用,这样只会造成乱码出错率的提高,服务器的性能下降。

1、 使用JSTL标签:

a)     使用JSTL标签库:param[xxxx]param.xxxx (个人认为这是解决JSP乱码的最好方式)

b)     连接数据库时指定编码:在库名后加上“?useUnicode=true&characterEncoding=utf-8”(引号里的内容)

2、 使用Java编码转换

a)     String s=new String(request.getBytes(utf-8),iso-8859-1);

b)     写入数据库就用iso-8859-1编码,从数据库中读出来就用utf-8

3、 使用编码函数:(这种办法不是很好,Java有很好的字符转换器,不必如此,故不详细写出)

总结:要充分利用JSPJSTL标签,他们在处理网页上是很有效率的。

 

 

 
原创粉丝点击