指令ApacheHTTPServer搭建虚拟主机

虚拟主机搭建  时间:2021-05-03  阅读:()

呼叫中心专家http://wwwfocust arnet

Apache HTTP Server搭建虚拟主机

Apache简介

Apache HTTP Server项目是在Wi ndows与Unix等平台上都可以运行的跨平台开源HTTP服务器软件该项目的目标是提供安全、高效、可扩展的HTTP服务。Apache httpd自从1996年发布以来如今已经成为世界排名第一的Web服务器软件。Apache httpd最新的稳定版本为2.4.4。安装Apachehttpd软件可以选择源码安装或二进制包安装但由于源码安装是可以定制的一种安装方式这种安装方式灵活性比较大可以满足企业对这种环境的不同需求。二进制包安装在Cen t O

S 6.3系统中可以选择RPM包安装这种安装的最大好处就是简单快捷。本书采用的是源码安装软件包 由于源码安装需要大量的依赖包需要先安装这些依赖软件包。

Apache HTTP Sever非常重要的特性是她采用了模块化设计模型 Apache模块分为静态模块与动态模块静态模块是A pache最基本的模块是无法随时添加与卸载的模块静态模块在编译软件时设定。动态模块是可以随时添加删除的模块这样的设计使得企业部署A pache时可以获得最大的灵活性每个企业都可以根据自己的平台以及实际需求安装使用不同的模块功能。 Apache模块将被编译为动态共享对象DS O s 这些动态共享对象独立于h ttpd程序 DSO模块可以在编译Ap ache是添加也可以后期随时通过Apa che Extens ion Tool apxs工具编译添加模块。Apache HTTP Server软件安装完成后可以使用h ttpd –M查看模块加载清单。

安装Apac he软件

1. 下载软件包

1. [root@centos 6 ~]# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4 .4

.tar.gz

2. [root@centos 6 ~]# wget http://mirror.bjtu.edu.cn/apache/apr/apr-1 .4.6.tar.gz

3. [root@centos 6 ~]# wget http://mirror.bjtu.edu.cn/apache/apr/apr-util-1 .5

.2.tar.gz

呼叫中心专家http://wwwfocust arnet

2. 安装软件

1. [root@centos6 ~]# yum –y install gcc autoconf automake make \

2. > pcre pcre-devel openssl openssl-devel

3. [root@centos6 ~]# tar –xzf httpd-2.4 .4.tar.gz –C /usr/src/

4. [root@centos6 ~]# tar –xzf apr-1.4.6 .tar.gz –C /usr/src/

5. [root@centos6 ~]# tar –xzf apr-util-1.5.2 .tar.gz –C /usr/src/

6. [root@centos6 ~]# cd /usr/src/apr-1. 4.6/

7. [root@centos6 apr-1.4.6]# ./configure --with-apr=/usr/local/apr/

8. [root@centos6 apr-1.4.6]# make && make install

9. [root@centos6 apr-1.4 .6]# cd /usr/src/apr-util-1.5.2/

10. [root@centos6 apr-util-1.5.2]# ./configure --with-apr=/usr/local/apr/

11. [root@centos6 apr-util-1.5.2]# make && make install

12. [root@centos6 apr-util-1.5.2]# cd /usr/src/httpd-2. 4.4/

13. [root@centos6 httpd-2.4.4] # ./configure –prefix=/usr/local/apache2 –enable-so \

14.> --enable-ssl --enable-rewrite –with-mpm=worker –with-suexec-bin \

15.> --with-apr=/usr/local/apr/

16. [root@centos6 httpd-2.4.4] # make && make installconfig ure脚本用来检查系统环境、查找依赖文件、设置安装路径等操作config ure拥有很多参数读者可以通过./config ure --help查看该脚本支持的所有参数。

下面是con figure常用参数说明

参数 描述

--prefix 指定Apache httpd程序的安装主目录

--enable-so 开启模块化功能支持DSO 动态共享对象

--enable-ssl 支持SSL加密

--enable-rewrit e 支持地址重写

--with-mpm 设置Apac he httpd工作模式

--with-suexec-bin 支持SUID、 SGID

--with-apr 指定apr程序绝对路径

3. 启动服务

呼叫中心专家http://wwwfocust arnet

1. [root@centos6 ~]# /usr/local/apache2/bin/apachectl start

2. [root@centos6 ~]# netstat -ntulp |grep http

3. [root@centos 6 ~]# iptables -I INPUT -p tcp -dport 80 -j ACCEPT

安装完成后A pache会提供名为ap achect l启动脚本该脚本提供了Apache httpd的启动、关闭以及测试功能没有修改配置文件的情况下使用start启动httpd程序可能会返回错误提示 ”Could not reliab ly determ ine the server ’ s fully qualif ied domain name” 提示说明httpd无法确定服务器域名称可以修改主配置文件的Se rverNa me项来解决。该提示也可以忽略通过nets tat命令查看httpd已经启动成功。

在客户端使用浏览器访问该Web服务器看到” IT works!”说明服务器可以被正常访问了。apache ctl具体参数如下

参数 描述start 启动httpd程序如果已经启动过该程序则报错stop 关闭httpd程序restar t 重启httpd程序gracef ul 启动httpd不中断现有的连接gracef ul-stop 关闭httpd不中断现有的连接status 查看httpd程序当前状态config test 检查httpd主配置文件语法

配置文件解析

Apache配置文件默认位于/usr/local/apache 2/conf目录下在该目录下最主要的配置文件是http d.conf文件还有一些位于extra目录下的附加配置文件。此外orig inal目录中存有所有这些配置文件的副本。 Apache HTTP Sever主配置文件主要由指令以及容器组成容器使用<容器名称>开始 </容器名称>结尾容器的指令一般仅在局部有效。下面是对主配置文件重点指定的具体描述。

呼叫中心专家http://wwwfocust arnet

SeverR oot指令

Server Root指令设置Apac he软件的安装主目录如果采用源码安装则默认路径为

/usr/local/apache 2。

Listen指令

Listen指令设置服务器监听的IP以及端口号默认监听服务器本机所有的IP地址的80端口。语法格式为L isten [IP地址: ]端口 [协议] 其中IP地址与协议为可选项默认监听所有IP使用TCP协议。一个配置文件中可以多次使用Liste n指令来开启多个端口。

LoadMo dule指令

Apache HTTP Server的特色之一就是她的功能多数是以模块方式加载的但如果希望Apache动态加载模块需要在编译A pache时通过--enable-so将mod_so以静态方式编译到A pache核心模块中LoadMo dule指令的作用就是加载模块。语法格式为L oadMod ule模块模块文件名称模块文件一般位于Serv erRoot指定目录下的module s目录中。

LoadFi le指令

LoadFi le指令功能类似于LoadModul e区别在于Lo adFile可以通过绝对路径加载mo dules目录以为的模块文件。

ServerAdmin指令

当网站出现故障时需要为客户提供一个可以帮助解决问题的邮件地址 Server Admin指令的作用就是提供这样的邮件地址。

Server Name指令

Server Name指令设置服务器本机的主机名称以及端口对于URL地址的重定向很重要。Docume ntRoot指令

该指令设置Web服务对客户端开放可见的文档根目录也就是客户端访问网站的根路径默认为/usr/local/apache 2/htdocs 。

呼叫中心专家http://wwwfocust arnet

ErrorL og指令

ErrorL og定位服务器错误日志的位置默认使用相对路径为ServerRoot指定目录下的”logs/error_log”文件。

ErrorL ogForm at指令

设置错误日志的格式 Apache HTTP Server事先定义了很多格式字串可以直接引用。Custom Log指令

该指令设置客户端的访问日志文件名以及日志格式默认为” logs/access_log” 语法格式为C ustomL og文件名格式。

LogFor mat指令

描述用户日志文件格式可以直接使用Apache预先设置的格式字串一般我们会为LogFor mat指令设置的日志格式创建别名然后可以再通过Cus t o mLog指令调用该日志格式别名。

Include指令

Includ e指令允许Apache在主配置文件中加载其他的配置文件该指令语法比较简单 Inclde指令后直接跟上其他附加配置文件路径即可。

Option s指令

为特定目录设置选项语法格式为O ptions [+|-]选项[ [+|-]选项] 。选项可以设置为None代表不启用任何额外功能也可以使用如下常用选项。

All开启出来Mu ltiViews之外的所有选项。

ExecCG I允许执行CG I脚本。

FollowSymlinks允许目录下通过链接文件链接到目录外的文件或目录。

Indexe s如果与URL对应的目录下没有Dire ctoryI ndex指定的首页文档则Apach e将会把当前目录的所有文件索引出来。

Order指令

呼叫中心专家http://wwwfocust arnet

控制默认访问状态以及Al low与Deny次序如果使用Or der deny,allow则先检查拒绝没有拒绝则默认允许。如何使用Or der allow deny则先检查允许没有允许则默认拒绝。以下为具体案例

Order deny,allow

Deny from all

先检查拒绝规则再检查允许规则默认为允许。这里Deny From all代表拒绝所有所以最终结果为拒绝所有。

Order Allow,Denyallow from All

先检查允许规则再检查拒绝规则 allow from all代表允许所有所以最终结果为允许所有。Order Allow,Denyallow from 192. 168.0. 1

先检查允许规则时允许192. 168.0. 1其余为默认值默认为拒绝所有最终除192 .168.0. 1外拒绝所有。

Order Allow,Denyallow from 192. 168.0. 1

Deny from All

先检查允许规则时允许192. 168.0. 1访问但检查拒绝规则时为拒绝所有而192. 168.0. 1也包含在a ll之中当Allow与Deny有冲突时以Order最后的规则覆盖其他的规则本案例将使用Deny规则覆盖Al l o w规则最终效果为拒绝所有人访问 。

Order Deny,Allow

Deny from allallow from 192. 168.0. 1

呼叫中心专家http://wwwfocust arnet

先检查拒绝规则再检查允许规则拒绝规则为拒绝所有允许规则为允许192. 168.0. 1拒绝与允许规则有冲突的部分本案例将采用Allow的规则最终本案例可以实现仅允许192. 168.0. 1访问其他任何主机均无法访问A pache服务。

IfDefi ne容器

IfDefi ne容器封装的指令仅在启动Apache时测试条件为真才会被处理测试条件需要在启动Apa che时通过httpd -D定义。语法格式为<IfDefi ne>指令</IfDefi ne>。具体案例如下<IfDefi ne MemCac he>

LoadMo dule mem_ca che_mo dule module s/mod_me m_cach e. so

</IfDefi ne>

<IfDefi ne UseCache>

LoadMo dule cache_module module s/mod_ cache. so

</IfDefi ne>

这样的配置可以让管理员采用多种配置方式启动Apa che启动Apac he时如果使用了http d-DuseCa che -DMemCa che则Apach e将加载mo d_mem_cache与mod_ca che模块如果没有使用-D指定任何参数则Apach e将不加载这些模块。

IfModu le容器

使用IfMo dule容器可以封装仅在条件满足时才会处理的指令根据指定的模块是否加载决定条件是否满足语法格式<IfModu le [ ! ]模块>指令</IfModu le>。具体案例如下

<IfModu le unixd_module>

User daemon

Group daemon

</IfModu le>

以上配置说明仅在Apac he加载了u nixd_m odule模块后User daemon与Group daemon才会被Apa

呼叫中心专家http://wwwfocust arnet

che处理。

Direct ory容器

该容器内的指令仅应用于特定的文件系统目录、子目录以及目录下的内容语法格式为<Directory direct ory-path>指令</Directory>。路径可以使用~匹配正则表达式。具体案例如下<Direct ory “/usr/local/apche2/htdocs ” >

Option s Indexs FollowSymLinks

</Direct ory>

<Direct ory ~ “^/www/[0-9] {3}” >

AllowO verrid e None

</Direct ory>

以上案例中O pions Index FollowSymLin s仅对/usr/local/apache 2/htdocs 目录有效 AllowOverrid e None仅对所有/www目录下包含三个数字的子目录有效。

<Direct oryMat ch>

Direct oryMat ch类似于D irectory但可以直接使用正则表达式匹配而无需像Di rectory一样使用~符号才可以匹配。

Files容器

该容器类似于Direct ory容器但Files容器内的指令仅应用于特定的文件语法格式如下<Files文件名>指令</File>与Direc tory类似可以使用~匹配正则表达式。

FilesMatch容器

仅使用正则表达式匹配需要的文件容器内的指令仅应用于匹配成功的特定文件。Fi lesM atch等同于使用了~符号的Files。

Locati on容器

Locati on容器内定义的指令仅对特定的URL有效语法格式为<Locati on URL-path|URL>指令

呼叫中心专家http://wwwfocust arnet

</Locati on>如果需要使用正则表达式匹配URL可以使用~符号。

Locati onMathch容器

Locati onMatch仅使用正则表达式匹配URL等同于使用了~符号匹配的Location。

Virtua lHost容器

虚拟主机应用案例

虚拟主机是在一台服务器上同时运行多个网站业务 Apache HTTP Server支持基于域名以及基于IP虚拟主机类型。在Apache配置文件中虚拟主机指令需要使用Vi rtualHost容器封装。基于IP的虚拟主机可以根据不同的IP地址以及端口号定位不同的网站请求但基于IP的虚拟主机需要独立的IP地址定位连接的网站而目前IP地址是互联网的稀缺资源所以很多时候我们更喜欢基于域名的虚拟主机服务器可以根据客户端访问HTTP的头部信息来实现网站的分离解析客户端可以使用不同的域名访问位于同一IP地址的服务器资源。

当客户端请求到达后服务器会根据<VirtualHost IP地址: [端口号]>参数匹配IP地址与端口号IP地址可以使用*匹配服务器本地所有IP地址。接下来我们通过一个案例说明基于域名虚拟主机的实现方式首先我们需要将主配置文件中Inclu de conf/extra/httpd-vhosts .conf这样功能开启默认该行为注释行去除#符号即可。 Includ e指令会将h ttpd-vhosts .conf文件视作为配置文件的一部分。下面我们仅列出该配置文件中需要修改的部分。

1. [root@centos 6 ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts .conf

2. <VirtualHost *:80>

3. ServerAdmin Jacob_test@gmail.com

4. DocumentRoot "/usr/local/apache2/htdocs/exampl e"

5. ServerName www.exampl e.com

6. ServerAlias web.example.com

7. ErrorLog "logs/www.example.com-error_log"

8. CustomLog "logs/www.exampl e.com-access_log" common

9. </VirtualHost>

10.<VirtualHost *:80>

11. ServerAdmin Jacob_test@gmail.com

12. DocumentRoot "/usr/local/apache2/htdocs/test"

3元/首月香港便宜vps究竟是什么货。

便宜的香港vps多少钱?现在国外VPS主机的价格已经很便宜了,美国VPS主机最低一个月只要十几元,但同样免备案的香港VPS价格贵不贵呢?或者说便宜的香港VPS多少钱?香港vps主机价格要比美国机房的贵一些,但比国内的又便宜不少,所以目前情况是同等配置下,美国VPS比香港的便宜,香港VPS比国内(指大陆地区)的便宜。目前,最便宜香港vps低至3元/首月、18元/月起,今天云服务器网(www.yunt...

[6.18]DogYun:充100送10元,态云7折,经典云8折,独立服务器月省100元,幸运大转盘最高5折

DogYun是一家2019年成立的国人主机商,提供VPS和独立服务器租用等,数据中心包括中国香港、美国洛杉矶、日本、韩国、德国、荷兰等,其中VPS包括常规VPS(经典云)和按小时计费VPS(动态云),使用自行开发的面板和管理系统,支持自定义配置,动态云各个硬件独立按小时计费,带宽按照用户使用量计费(不使用不计费)或者购买流量包,线路也可以自行切换。目前商家发布了6.18促销方案,新购动态云7折,经...

优林云(53元)哈尔滨电信2核2G

优林怎么样?优林好不好?优林 是一家国人VPS主机商,成立于2016年,主营国内外服务器产品。云服务器基于hyper-v和kvm虚拟架构,国内速度还不错。今天优林给我们带来促销的是国内东北地区哈尔滨云服务器!全部是独享带宽!首月5折 续费5折续费!地区CPU内存硬盘带宽价格购买哈尔滨电信2核2G50G1M53元直达链接哈尔滨电信4核4G50G1M83元直达链接哈尔滨电信8核8G50G1M131元直...

虚拟主机搭建为你推荐
参考手册NDXS和ND5XS网络音频播放器中文目录思科flash支持ipad支持ipadipadwifiipad插卡版和wifi版有什么区别,价格差的多么?iphonewifi苹果手机突然用不了Wi-Fi了谷歌sb为什么百度一搜SB是谷歌,谷歌一搜SB是百度?迅雷雷鸟迅雷会员每日免费抽奖,抽中迅雷的雷鸟披肩了,要钱吗联通合约机iphone5联通合约机iphone5和电信合约机Iphone5哪个好google统计google分析里的数据包括搜索引擎爬虫的数据吗?Google中文专题交流
短域名 域名备案收费吗 免费域名解析 金万维动态域名 香港机房 omnis 国外服务器网站 英语简历模板word 好看的桌面背景图片 魔兽世界台湾服务器 dd444 服务器维护方案 seednet nerds metalink 服务器监测 免费网页空间 备案空间 广州虚拟主机 日本代理ip 更多