`
java-mans
  • 浏览: 11420684 次
文章分类
社区版块
存档分类
最新评论

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
  
  加入以下段落:
  
   #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
   #段落结束
  
  现在,重新启动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是一台虚拟主机
  
   #第一个虚拟主机
  ServerName a.domain.com #虚拟主机名
  DocumentRoot /home/httpd/html/a.domain.com/ #a.domain.com的主页文件的存放地址
  Errorlog /var/log/a.log #错误信息记录
  ServerAdmin mastera@domain.com #管理员的邮件地址(可选)

#段落结束
   #第二个 ServerName b.domain.com
  DocumentRoot /home/httpd/html/b.domain.com/
  Errlog /var/log/b.log
  ServerAdmin masterb@domain.com
  
  
  同上 设定结束后,重新启动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!

分享到:
评论

相关推荐

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

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

    1-linux系统笔记之基础篇1.doc

    1-linux系统笔记之基础篇1.doc 2-linux系统笔记之Iptables防火墙篇.doc 3-linux系统笔记之lamp网站环境搭建.doc 4-linux系统笔记之lNMP网站环境搭建.doc 5-linux系统笔记之apache高级服务篇.doc 6-linux系统...

    java语言程序设计与数据结构(基础篇)原书第11版 编程题,偶数题目答案

    java语言程序设计与数据结构(基础篇)原书第11版 编程题,偶数题目答案

    apache+tomcat集群配置

    基础篇:系统部署、集群配置、集群方式; 晋级篇:正向与反向代理、访问控制、均衡策略之ProxyPass、均衡策略之ProxyPassReverse、代理struts2工程、PROXY_HTTP与PROXY_AJP的选择、集群SESSION策略

    JAVA_Spring基础篇.pdf

    JAVA_Spring基础篇.pdf

    Java学习笔记,Java基础篇

    Java学习笔记,Java基础篇

    Apache Flink实践

    Apache Flink 零基础实战教程:如何计算实时热门商品.......................... 114 Apache Flink SQL 概览 ..................................................................................... 124 Apache ...

    Nginx:取代apache的高性能服务器

    , 本书主要分为4个部分,第1部分为基础篇,介绍了Nginx服务器的安装与配置方法;第2部分为进阶篇,重点介绍了Nginx的配置优化方法、Nginx与PHP/Ruby/Python/JSP/Perl/Memcached的结合配置方法、Nginx HTTP反向代理与...

    apache+mysql+php+snort+base实现snort

    在Snort的安装配置过程中,主要参照www.chinaunix.net和www.snort.org上面的相关文档,特别感谢www.chinaunix.net上面的两个作者,我是在他们的基础上测试成功的,主要有下面两篇文档...

    2-linux系统笔记之Iptables防火墙篇

    1-linux系统笔记之基础篇1.doc 2-linux系统笔记之Iptables防火墙篇.doc 3-linux系统笔记之lamp网站环境搭建.doc 4linux系统笔记之lNMP网站环境搭建.doc 5linux系统笔记之apache高级服务篇.doc 6linux系统笔记之...

    实战Nginx:取代Apache的高性能Web服务器

     本书主要分为4个部分,第1部分为基础篇,介绍了Nginx服务器的安装与配置方法;第2部分为进阶篇,重点介绍了Nginx的配置优化方法、Nginx与PHP/JSP/ASP.NET/Perl的结合配置方法、Nginx HTTP反向代理与负载均衡的配置...

    实战Nginx.取代Apache的高性能Web服务器

    第1部分 基础篇 第1章 Nginx简介 1.1 常用的Web服务器简介 1.2 Nginx简介 1.3 选择Nginx的理由 1.4 Nginx与Apache、Lighttpd的综合对比 第2章 Nginx服务器的安装与配置 2.1 安装Nginx服务器所需要的系统资源 ...

    实战Nginx.取代Apache的高性能Web服务器.2010 pdf

     本书主要分为4个部分,第1部分为基础篇,介绍了Nginx服务器的安装与配置方法;第2部分为进阶篇,重点介绍了Nginx的配置优化方法、Nginx与PHP/Ruby/Python/JSP/Perl/Memcached的结合配置方法、Nginx HTTP反向代理与...

    3-linux系统笔记之lamp网站环境搭建

    1-linux系统笔记之基础篇1.doc 2-linux系统笔记之Iptables防火墙篇.doc 3-linux系统笔记之lamp网站环境搭建.doc 4-linux系统笔记之lNMP网站环境搭建.doc 5-linux系统笔记之apache高级服务篇.doc 6-linux系统...

    【申嵌视频-基础篇】第四讲 Linux服务器配置.pdf

    架设linux环境的服务器运行环境,实现PHP+MYSQL和支持静态网页的服务器,其服务器性能相对win环境下的apache强大10倍,我们通常选择的是lnmp这个业内非常强大而且成熟的一键安装包,lnmp架设完成对服务器内存占用60M...

    ant使用基础啊

    ant基础 1,什么是ant ant是构建工具 2,什么是构建 概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个 3,ant的好处 跨平台 --因为ant是使用...

    实战Nginx:取代Apache的高性能Web服务器 第一章

    第1部分 基础篇 第1章 Nginx简介 1.1 常用的Web服务器简介 1.2 Nginx简介 1.3 选择Nginx的理由 1.4 Nginx与Apache、Lighttpd的综合对比 第2章 Nginx服务器的安装与配置 2.1 安装Nginx服务器所需要的系统资源 2.2 ...

    Linux Apache Web 服务器(续一)

    四、配置Apache基础篇,让WWW服务器跑起来 Apache服务器软件的配置文件主要有:“access.conf”:用于设置系统中的存取方式和环境;“httpd.conf”:用于设置服务器启动的基本环境;“srm.conf”:主要用于做文件...

    MySQL编程技巧·编程和数据库管理篇

    本书全面深入地介绍了MySQL的功能,主要内容包括MySQL、PHP、Apache、Perl等组件的安装与功能简介,mysql等一些重要系统管理工具和用户操作界面的使用,MySQL数据库系统设计的基础知识与用不同语言设计MySQL数据库的...

Global site tag (gtag.js) - Google Analytics