当前位置:web 服务器 > Apache >>

windows下玩转apache(初级)

答案:

Frank Liu and 麻辣

先让httpd.conf显示语法彩色》UltraEdit点视图》高亮语法显示,按perl语法显示就ok了,这下子看httpd.conf清晰多了,90%都是注释,真正有用的参数没几行:)


玩转方法一:我懒得修改脚本前面的#!/usr/bin/perl

每个perl的脚本前面有个默认的#!/usr/bin/perl 这个是为linux和类linux操作系统准备的,在windows的iis服务器下不起任何作用不需要修改。但要是在windows下装apache来运行perl,就需要修改#!/usr/bin/perl 为真实的perl.exe解释器所在的绝对路径(或相对路径),每个脚本都要修改比如修改为"#!c:/usr/perl.exe",对于我们经常下载perl-fans的代码进行调试每次都要把代码修改一次是不是有点麻烦?大家也不要以为麻辣太懒惰,而是我需要经常变换不同的空间来测试我的代码兼容性改来改去的确实麻烦。有没有简单的方法能象linux下或iis那样不用修改呢?按我说的去做吧!我的方法 httpd.conf文件一律采用原来的默认设置也不需要做任何修改。

1 把apache装在你想做服务器的分区如c:\apache 或d:\apache...均可
2 安装perl的时候注意!安装到c:\usr或d:\usr(和apache一定要在一个分区即可,确切的说是和虚拟目录cgi-bin在一个分区,如果你设定脚本目录在f:\www\cgi-bin盘也可以,把perl也装在f盘就可以了,如果这样,apache装在哪里都无所谓了),安装完最好检查一下perl.exe是不是真的在你指定的目录,看看\usr\bin\perl.exe存在就ok了。

3 你只需要》程序》apache》contrl Apache sever》resatar重启apache ,就ok了!

把perl脚本放入cgi-bin目录下http://localhost/cgi-bin/test.cgi,简单吧?呵呵,这时候perl是用相对#!/usr/bin/perl 路径来工作的。

玩转方法二,我要抛弃cgi-bin目录

一般自己配置apache需要把cgi程序拆开,主程序放到cgi-bin目录下,其他程序放到htdocs目录下才能运行,因为cgi-bin目录下默认是只能运行cgi文件,而htdocs目录下不能运行cgi文件,相对路径,绝对路径,url地址都需要设定要程序才能运行,这个给我们测试共享代码又带来麻烦,好端端的程序被五马分尸,切换到IIS环境或其他虚拟主机空间来测试又需要合并,唉!真烦!可以解决这个问题么?其实很多虚拟主机的服务器都是在一个www目录下的,我们是不是也可以?呵呵,这个也很简单,看下面:

1 先在d盘建立个www目录
2 打开httpd.conf大约301行有个
DocumentRoot "D:/Apache/htdocs"
改为DocumentRoot "/www"

3 大约610行:
ScriptAlias /cgi-bin/ "D:/apache/cgi-bin/"

#
# "D:/Apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "D:/apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

改为:

#ScriptAlias /cgi-bin/ "D:/apache/cgi-bin/"#这行一定要注释掉!

#
# "D:/Apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/www"> #这个路径改一下
AllowOverride None
Options FollowSymLinks Includes ExecCGI #这行改以下,当然图省事你也可以改为All
Order allow,deny
Allow from all
</Directory>
4 在整个文件的最后一行加个新行:
AddType application/x-httpd-cgi .cgi .pl

你然后重启apache,这个www目录就可以运行脚本文件了,简单吧?
这样,你的程序就集中在www目录下管它什么脚本还是图片都能运行,一劳永逸,是不是很爽?
Frank Liu and 麻辣 2003.10.1

还可以改Port 80端口为Port 8080,这样apache和iis就可以同时运行


http://localhost/bbs/noncgi/index.html打这个地址就是iis

http://localhost:8080/bbs/noncgi/index.html打这个是apache

上一个:apache+CGI最新图解傻瓜教程
下一个:windows配置ASP\CGI\PHP全能服务器简明教程

Apache
IIS
Nginx
Tomcat
如果你遇到web 服务器难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,