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!
分享到:
相关推荐
apache pig 基础及应用,urldecode row_number web日志分析 根据 用户行为 做出 简易的 相似度 判断。
【Apache服务基础】这篇内容主要介绍了Web服务的基本概念、Apache服务器的安装以及配置等相关知识。 首先,Web服务基于HTTP协议,这是一种应用层协议,用于分布式、协作的信息系统,具有通用性、无状态性和面向对象...
《Apache2中文使用手册》是一本全面介绍如何安装、配置、管理和优化Apache2服务器的资源,对于想要掌握Apache2的用户来说是不可或缺的参考资料。手册不仅涵盖了基础操作,还深入到高级特性,包括虚拟主机、安全设置...
### Apache_JMeter基础学习知识点详解 #### 一、Apache JMeter概述 **1.1 Apache JMeter是什么?** Apache JMeter是一款由Apache组织维护的开源软件,它是一款100%纯Java桌面应用,主要用于压力测试和性能测量。...
一、Apache基础 Apache服务器主要负责接收HTTP请求,并返回响应信息,即网页内容。它基于模块化设计,可以根据需求加载或卸载不同的功能模块。Apache的核心组件包括主进程和工作进程(或线程),主进程主要负责管理...
Apache的基础知识包括以下几个核心部分: 1. **安装与配置**:Apache的安装过程相对简单,可以通过源码编译或者二进制包安装。配置主要通过修改httpd.conf配置文件,设定服务器监听端口、服务器根目录、虚拟主机等...
Apache基础教程主要涉及Apache服务器的基本概念、架构设计、运行机制和配置方法。Apache是一个广泛使用且开源的网络服务器软件,由Apache软件基金会维护。本知识点将详细介绍上述内容。 一、Apache服务器运行原理和...
Apache Kafka 基础教程
首先,了解Apache的基础知识是必要的。Apache是一款开源、免费的Web服务器软件,它能够解析HTTP协议,处理来自Web浏览器的请求,并将静态网页或动态生成的网页返回给用户。由于其高度可定制性和丰富的模块扩展,...
这是一个Apache基础教学视频,适合新手,或者想了解服务器知识的同学。里面是百度云链接,简单粗暴
5. **启动Apache**:使用`apachectl start`或系统服务命令启动Apache。 6. **测试HTTPS**:在浏览器中输入`https://your_server_ip`,如果一切正常,你应该能看到Apache的默认欢迎页面,并且地址栏显示锁定图标,...
Apache HTTP Server,通常简称为Apache,是世界上最流行的Web服务器软件之一。它开源、免费,并且支持多种操作系统,...了解Apache的基础知识,熟悉配置文件和命令行工具,将帮助你更有效地管理和维护你的Web服务器。
1. **Apache模块API**:熟悉Apache的API,如`APR(Apache Portable Runtime)`,`Apache2xx`函数等,是编写模块的基础。 2. **编译环境**:设置好C/C++编译环境,例如Visual Studio或MinGW。 3. **Apache运行时库**...
Apache Kafka 基础教程1
Apache Kafka是一个开源流处理平台,由LinkedIn公司开发,并于2011年成为Apache软件基金会的一部分。Kafka主要用于构建实时的数据流和流处理应用程序。 Apache Kafka是一个开源流处理平台,由LinkedIn公司开发,并...
在Web服务器管理与运维过程中,启动Apache和Nginx服务是非常基础且重要的操作之一。对于初次接触这些工具的用户来说,掌握正确的启动命令至关重要。本文将详细介绍如何通过命令行启动Apache和Nginx,并解释相关参数...
虽然Apache已经提供了一些基础的安全设置,但为了防止未经授权的访问,你需要确保修改了默认的管理员密码,并且安装了SSL/TLS支持以启用HTTPS连接。此外,定期更新Apache到最新版本以保持安全性。 8. **优化与性能...
以上知识点是Apache服务器配置与使用的基础,它们构成了管理Web服务器的核心内容。对于学习者来说,熟悉这些概念和操作对于构建和维护一个稳定、安全的Web环境至关重要。由于本回答并非直接从提供的文件中摘录,而是...