`

apache使用基础

阅读更多
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!

转自:http://jingfengluo.iteye.com/blog/250490
分享到:
评论

相关推荐

    apache pig 基础及应用

    apache pig 基础及应用,urldecode row_number web日志分析 根据 用户行为 做出 简易的 相似度 判断。

    Apache_JMeter基础学习

    Apache_JMeter基础学习PDF

    Apache服务基础

    Web服务的概述 Apache服务器 Apache服务器的安装 Apache服务的基本配置 等

    Apache+weblogic基础知识

    HR伴侣技术培训之Apache服务器基础知识.配置好的,可以直接拿来用,亦可当作学习的例子!

    Apache基础视频教学

    这是一个Apache基础教学视频,适合新手,或者想了解服务器知识的同学。里面是百度云链接,简单粗暴

    Apache基础教程

    Apache基础教程,是学习Apache的很好的材料,通过教程可以很快的了解Apache的结构与配置

    The Apache Modules Book Application Development with Apache

    关于apache本身我就不做过多介绍了,相信大家都很熟悉,目前大概70%的服务器都在使用,我印象中最强的应该是Yahoo!开发的基于Apache1.3开发的Yapache,有时候甚至梦想自己开发个基于Apcahe的服务器软件,下面我来...

    Web开发入门经典:使用PHP6、Apache和MySQL【PDF】

    本书重点阐述了如何使用Apache Web服务器、MySQL数据库系统和PHP脚本语言快速地创建一个专业的、功能丰富的站点。在这个过程中,您可以切身体会到PHP、MySQL和Apache的联合应用之所以如此流行的原因:完美的交互性、...

    Apache shiro权限控制基础配置代码

    Apache shiro权限控制基础配置代码,比网上其它文章全面,细致,适用,经测试可行.

    apache服务器配置与管理--基础篇

    apache服务器配置与管理--基础篇,掌握apache服务器配置必看的书

    第14章 Apache基础1

    第14章Apache基础主讲人: 梁如军本章内容要点Apache的安装、启动和管理Apache的配置文件语法Apache的认证和授权Apache的虚拟主机Apa

    Linux服务器配置与管理:Apache服务基础.pptx

    【知识目标】 熟悉: Web 服务的概念、组成 【能力目标】 知道web网站的部署方式 【思政目标】 培养学生职业素养和工匠精神。 1 Web系统的组成 Web服务是指能够让用户通过浏览器或APP访问并显示互联网中各类信息资源...

    Apache源代码全景分析第1卷:体系结构与核心模块 part2

    书中详细介绍了Apache的基础体系结构和核心模块的实现机制,包括配置文件、模块化结构、多任务并发,以及网络连接和请求读取,其中多任务并发体系结构是《Apache源代码全景分析第1卷:体系结构与核心模块》分析的...

    Apache的基本配置环境资料

    这是我记的笔记,这个笔记花了我好长时间才把它给记录完的,望多看啊

    Apache工作机制分析

    apache运行机制基础分析 apache+php+mysql+zend+phpmyadmin安装配置 虚拟主机与虚拟目录

    apache模块开发指南(中文版)

    Apache的开发人员认识到Apache 最初的架构具有局限性,比较粗糙,于是在2000年开始建立新的代码仓库(codebase)主分支,并在此代码仓库的基础上于2002年4月创建了Apache2.0的第一个发布版本。Apache 2包括以下优良...

    基于Apache CXF构建SOA应用

    第一部分介绍关于 SOA 和 Web Services 的初步知识,第二部分介绍Apache CXF 框架的一些基础知识,第三部分重点介绍 Apache CXF 框架的应用,包括 Apache CXF 框架的前端 (Frontends) 应用、 数据绑定 ...

    apache-cxf-3.5.0.zip

    Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。

    Apache Ant Android开发基础

    基于Ant的Android SDK 1.5 开发环境搭建

Global site tag (gtag.js) - Google Analytics