apache目前最为稳定的Web服务器。目前大部分的网站都是由apache来构建, 而其中绝大部分又都是linux系统。
目前, 最为流行动态网页技术是php和jsp. 我来描述一下apache、php和tomcat的安装与配置问题。
1) apache安装
你到www.apache.org上下载linux平台的tarball.
#cp ~/MyDownloads/httpd-2.0.52.tar.bz2 /usr/src
#cd /usr/src
#tar -xjf httpd-2.0.52.tar.bz2
把下载包解压。如果你下载的是tar.bz2的话则使用
#tar -xzf httpd-2.0.52.tar.gz
其中tar中-x选项表示解压, -f表示后面的参数是文件名, -z 表示是gzip压缩包。-j 表示是bzip2压缩包.
解压完以后执行下面的命令
#cd httpd-2.0.52
#./configure --enable-module=so
.....
.....
#make; make install;
如果中间没有错误的话, apache应该已经安装到/usr/local/apache2目录下面去了.
#/usr/local/apache2/bin/httpd
执行apache2/bin下的httpd. 你可以通过浏览器看到外链网址已屏蔽localhost/默认页面。
好, 先关上apache
#pkill httpd
2)php 安装和配置
你可以从上下载到最新php的tarball.
同意把它解压。使用如下选项进行编译
#./configure --with-apxs2=/usr/local/apache2/bin/apxs
....
#make;make install
#cp php.ini-dist /usr/local/lib/php.ini
然后编辑 httpd.conf 文件以调用 PHP 模块。LoadMolude 表达式右边的路径必须指向系统中的 PHP。以上的 make install 命令可能已经完成了这些,但务必要检查。
LoadModule php5_module modules/libphp5.so
告知 Apache 将特定的扩展名解析成 PHP,例如,我们让 Apache 将扩展名 .php解析成 PHP。您可以将任何扩展名指定为 PHP,只需添加它们,每一个用空格分隔。
例如,我们要添加 .phtml:
AddType application/x-httpd-php .php .phtml
通常,我们还将 .phps 扩展名设置成显示高亮的 PHP 源文件,可以这样来完成:
AddType application/x-httpd-php-source .phps
这样就配置完成了.
编辑httpd.conf, 找到DocutmentRoot那行, 设置成你自己网页根目录。
另外你要使用中文的话, 需要修改
AddDefaultCharset设置为GB2312, GBK或UTF8
我目前使用的是utf8
然后,你就可以启动httpd, 浏览你自己写的php网页了。
3)tomcat 配置. 其实tomcat本身就是一个很完整的Web服务器了。但为可以使用php, 或者其它一些功能, 我们选择安装了apache和php.
安装思路是这样的. 系统将来同时开启两个Web服务器 apache和tomcat. 一般地都由apache来处理http请求。当遇到jsp请求时, 则apache将请求转交tomcat来处理。之间的转交过程通过jk2来完成。
#cd jakarta-tomcat-connectors-jk2-2.0.2-src
#cd jk/native2
#chmod 755 buildconf.sh
#./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-EAPI
#make
#make install
#如果make install 不成功需要手工发布mod_jk2.so
#cd /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/build/jk2/apache2
#cp *.so /usr/local/apache2/modules/
然后在httpd.conf中添加
LoadModule jk2_module modules/mod_jk2.so
模块.
tomcat只下载二进制安装包就可以了。解压就可以直接运行了.
bin/startup.sh
当然,这个前提你已经安装了jdk了。
修改server.xml设置文档根路径,与apache的文档根路径重合。
编辑tomcat的j2k.properties文件
#vi /usr/local/tomcat/conf/jk2.properties
# list of needed handlers.
handler.list=channelSocket,request
# Override the default port for the channelSocket
channelSocket.port=8009
在apache的conf目录下新建一个workers.properties文件
内容如下:
# only at beginnin. In production uncomment it out
[logger.apache2]
level=DEBUG
[shm]
file=/usr/local/apache/logs/shm.file
size=1048576
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
然后在httpd.conf尾部添加下面的代码
JkUriSet workerajp13:localhost:8009
意思是说凡是遇到地址以.jsp结尾的请求通过jk转交给tomcat进行处理。
你同时启动tomcat和httpd. 就可以在文档根目录下无缝使用jsp和php了.
参考文档:
php官方中文手册