分享
 
 
 

Apache使用基础

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

Apache是目前世界上最经常使用的Web服务器.对于Linux用户来说,也是最容易使用的 Web服务器,而且,它是免费的.实际上,如果你仅仅是想要用Apache提供基本的Web页面服务, 那么你可能根本不需要调整任何配置.但是,在另一方面, Apache是一个十分强大的程序, 能够提供许多专业的功能,为了发挥它的功能, 你还是必须了解一点儿关于它的配置.

首先, 如果你在一个非Linux的网站上使用Apache,或者你的网站负担很重(比如,1000 个以上的同时连接),那么,通常你必须重新编译Apache,这个问题我们不在此处介绍.

(1)开始提供Web服务

Apache的服务有两种方式,即通过inetd的方式或者独立执行httpd的方式.在一般情况下我们使用独立执行方式. 首先你必须安装Apache服务器.通常的Linux 发行版中都会包含apache的rpm包,可以用rpm -i 安装.然后你要测试一下它的正确.随便取一个HTML文件,命名为index.html, 拷贝到/home/httpd/html目录下,然后以根用户身份执行httpd,接下来,在另一台机器上用Browser访问你这台机器的IP地址,应该能显示其内容.如果不对,检查你的工作,重来一次.

Apache缺省的时候使用的页面文件是index.html,错误输出在/var/log/httpd/,如果有不正常的问题,察看里面的error_log文件.

许多时候,你需要改变web文件的存放位置,或是为web页面引入一些cgi服务,为此,你必须去修改/etc/httpd/conf/srm.conf文件. 首先,你会发现下面的段落:

DocumentRoot /home/httpd/html

这个句子说明,Apache使用的页面文件存放在/home/httpd/html,所以如果你要改变web 的存放路径就应该修改这里.

另一个相应的段落是

DirectoryIndex index.html index.shtml index.cgi

它说明如果有人访问你的机器,首页将是在上面定义的路径下的index.html或者index. shtml,index.cgi.如果你的网站首页是另外一个名字,修改这一句.

另一个常用的选项是

ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/

它定义在使用CGI程序时,页面引用的目录是/cgi-bin/,而实际存放的路径是 /home/httpd/cgi-bin/

(2)利用apache做Web Proxy

Proxy就是代理.Apache的web 代理是指可以让客户端服务器通过Apache来访问WWW, 这样,Apache服务器将接收来自客户机器的请求,然后首先去目标站点取得内容,并将内容存储在Apache服务器上,然后再提交给客户.以后假如有另一个客户机需要访问同样的内容,Apache就会直接从服务器硬盘上取得内容并且提交给客户.

要使用Apache Proxy,需要编辑/etc/httpd/conf/httpd.conf,假定你的Apache机器地址为111.111.111.111,代理端口为8080(通常应选择大于1024的值),需要更改的段落有

Listen 111.111.111.111 8080 #打开8080端口

ProxyRequest On #启动Proxy服务

CacheRoot /var/cache/httpd #缺省的Proxy Cache 目录,必须是可写的目录

CacheSize 2000 #Cache的大小,单位是KB,设大一点儿对你无害,对吗?

CacheGcInterval 48 #每隔多少小时自动清理cache,把超出cache空间的垃圾删除

CacheMaxExpire 24 #Cache的最大有效期,或者说Cache最多可以落后于时代多少小时

CacheDefaultExpire 4 #缺省的Cache有效期,单位是小时

ProxyRemote http://something.com http://otherproxy.com:8080/

#对于到http://something.com的访问,自动去调用定义在otherproxy.com:8080 的另一个Web Proxy,

#也可以用ProxyRemote ftp http://otherproxy.com:8080/

#定义一个专门对ftp的Proxy级联.

NoProxy .mydomain.com 111.111.111.0/24

#对于来自111.111.111.1-111.111.111.254的并且指向*.mydomain.com的请求不使用代理,

#这可以使cache只对外部网有效.

接下来,你应该设定仅自己的内部用户才能使用Proxy,这需要修改/etc/httpd/conf/access.conf

加入以下段落:

<Directory proxy:*> #Proxy 存取限制

order allow,deny #顺序:缺省禁止

allow 111.111.111.0/24 #允许111.111.111.0-111.111.111.254使用,

#/24是指网络掩码是24个1,即255.255.255.0

</Directory> #段落结束

现在,重新启动httpd,然后设置你的客户机,将代理服务器设成111.111.111.111:8080 就行了.

(3)虚拟主机

Apache的名字虚拟主机是一项不错的功能,它可以用一台Apache机器,一个IP来提供多个页面,设定非常简单,你需要编辑/etc/httpd/conf/httpd.conf,假定有两个名字: a.domain.com和b.domain.com都指向111.111.111.111(注意,用CNAME产生的两个重合的名字只能作一个来算,要作虚拟主机,你必须在域名中定义两个记录),那么你可以添加下面的段落:

Listen 111.111.111.111 80

NameVirtualHost 111.111.111.111:80 #说明111.111.111.111是一台虚拟主机

<VirtualHost a.doamin.com > #第一个虚拟主机

ServerName a.domain.com #虚拟主机名

DocumentRoot /home/httpd/html/a.domain.com/ #a.domain.com的主页文件的存放地址

Errorlog /var/log/a.log #错误信息记录

ServerAdmin mastera@domain.com #管理员的邮件地址(可选)

</VirtualHost> #段落结束

<Virtual Host b.domain.com> #第二个 ServerName b.domain.com

DocumentRoot /home/httpd/html/b.domain.com/

Errlog /var/log/b.log

ServerAdmin masterb@domain.com

</VirtualHost#>

同上 设定结束后,重新启动httpd.

顺便说一句,如果你要给每个虚拟用户配置CGI脚本怎么办?简单啦,就是在有关这个用户的

〈VirtualHost〉段落中加入ScriptAlias 段落,例如,这样:

ScriptAlias /cgi-bin/ /home/httpd/html/a.domain.com/cgi-bin/

这样以后象http://a.domian.com/cgi-bin/的引用就自动转向到/home/httpd/html/a.domain.com/cgi-bin/

下了。当然象DirectoryIndex之类的也可以放进去,呵呵.

(4)其他说明

现在有一个名叫commanche的程序,可以通过Web页面对Apache进行管理,不过我还是喜欢直接修改配置文件,有问题比较好处理,呵呵.

另外一个重要的问题是,假如你允许别人使用你的服务器来发布web页面,那么你必须小心, /etc/httpd/conf/httpd.conf中有一个十分重要的段落是

User nobody

Group nobody

它定义系统在httpd存取时使用nobody权限,这可以避免许多安全性问题,绝对不要将它设成root!

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