国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页服务器类Web服务器 → 用Apache架设Web服务器

用Apache架设Web服务器

我要评论 2014/11/10 22:40:12 来源:国语自产精品视频在线看 编辑:佚名 [ ] 评论:0 点击:2623次

  建立Linux下的【xià de】Web服务器🤣可以选用【yòng】🚬Netscape的【de】Enterprise Server,或者使【huò zhě shǐ】用【yòng】🚬免费软件【jiàn】✂Apache。 Netscape可以完【kě yǐ wán】全支持基于📬IP的虚拟【de xū nǐ】主机🚫,但对基【dàn duì jī】于📬域名的虚拟【de xū nǐ】主机🚫却不支持,因此只能显示🏮最外面【zuì wài miàn】😺的【de】一层网页。基于📬IP的虚拟【de xū nǐ】主机🚫需要一个独立【gè dú lì】的【de】🤦IP;基于📬域名的虚拟【de xū nǐ】主机🚫,可以多【kě yǐ duō】个虚拟【gè xū nǐ】主机🚫共用【gòng yòng】🚬一个IP。利用【lì yòng】👞HTTP 1.1协议【xié yì】,靠不同【kào bú tóng】的域名【de yù míng】⏩来区分可以大【kě yǐ dà】大节省IP地址资源🍛。Apache完全支持以上两种虚👩拟主机🚫方式【fāng shì】,并且克🛬服了🙀Netscape经常出🗓现服务塞死的【de】🛌现象【xiàn xiàng】。Apache是目前😻互联网上使用【yòng】🌠广泛的【de】👅Web服务器🤣。下面详细讲解【xì jiǎng jiě】如何利【rú hé lì】用【yòng】👞Apache来架设自己的【de】🌚Web服务器🤣。

  安装

  首先我🗻们要介绍🈷Apache的安装【de ān zhuāng】过程【guò chéng】。

  第一,先到【xiān dào】http://www.apache.org下载最新版本的【de】😮Apache。如果是【rú guǒ shì】在【zài】🧠Windows下,把该文🔄件下载在【zài】🧠C盘,C盘在【pán zài】🧠Linux中对应🕟于🏍/dev/hda1。

  第二,进入Linux,并以🐲 root 的身份☔登录并【dēng lù bìng】进行挂【jìn háng guà】🕎接文件【jiē wén jiàn】系统。

  # mkdir c
  # mount -t vfat /dev/hda1 /c

  因为我【yīn wéi wǒ】们将Apache的源码【de yuán mǎ】📕放置于c盘🈯,所以现【suǒ yǐ xiàn】🚠在要先🥒把它挂【bǎ tā guà】载至新建的目录/c里面。

  第三【dì sān】🖐,把此程序拷贝【xù kǎo bèi】⛓到/tmp下,以便操【yǐ biàn cāo】🥅作。

  #cp /c/apache_1.3.9.tar.gz /tmp

  注意:Linux下所有的文件👺名都是【míng dōu shì】区分大【qū fèn dà】小写的。接下来【jiē xià lái】,我们就【wǒ men jiù】📁要把源码从压【mǎ cóng yā】缩包中解压缩🌟出来。相应的🧥命令为🎐:

  #cd /tmp
  #tar zxvf apache_ 1.3.9.tar.gz

  解压缩【jiě yā suō】后进入存放源【cún fàng yuán】😴码的目录【lù】,使用编⛎译配置脚本进🧘行环境的设置。

  #cd /tmp/apache_1.3.9
  #./configure--sysconfdir=/etc/httpd
  --datadir=/home/httpd
  --logfiledir=/var/log/httpd
  --enable-module=most
  --enable-shared=max
  --disable-rule= WANTHSREGEX

  这里告【zhè lǐ gào】诉🍍Apache把配置文件【wén jiàn】🍽保存在/etc/httpd目录【mù lù】中🍫,其它文【qí tā wén】件【jiàn】🍽(例如HTML手册文♒档【dàng】、CGI-BIN目录【mù lù】💟)都保存【dōu bǎo cún】在 /home/httpd目录【mù lù】下👬。也告诉🍍Apache将最常用的模😎块作为😩DSO模块编译。DSO就是Dynamic Shared Object的缩写【de suō xiě】🕑。通过DSO支持的模式编译Apache,能够随【néng gòu suí】🕵时从Apache里面增加和移除模块【chú mó kuài】,而不需【ér bú xū】🏆要重新编译它【biān yì tā】,具体的模块见下文🖍。  

  第四【dì sì】,在执行【zài zhí háng】🌩./configure 之后,配置脚【pèi zhì jiǎo】💔本会自动生成 Makefile。这时🌴,我们就【wǒ men jiù】可以开始编译🌺源码了。

  #make

  源码编【yuán mǎ biān】译完成🤫后,就要使【jiù yào shǐ】用make install安装【ān zhuāng】Apache至缺省的目录【de mù lù】下🎄。当然也👛可以通过以下🎄命令📷:

  #rpm -ivh apache*.rpm
 

  安装😃Apache的RPM包【bāo】。这种方🥪法较为简单【jiǎn dān】,因此不【yīn cǐ bú】再详细🕵介绍。

  配置

  安装完Apache后,开始它的配置【de pèi zhì】🕍工作。在其主💔目录下【mù lù xià】🎼有httpd.conf、access.conf、srm.conf 及Magic等四个🔔文件【wén jiàn】🤢,其中httpd.conf是主要【shì zhǔ yào】🆚的配置【de pèi zhì】🕍文件【wén jiàn】🤢,access.conf是访问【shì fǎng wèn】🌼控制配【kòng zhì pèi】置文件【wén jiàn】💌,srm.conf 则是对【zé shì duì】👙于Web主机的【zhǔ jī de】🛩文件【wén jiàn】🤢资源的配置【de pèi zhì】🕍文件【wén jiàn】🤢。Magic是针对mime模块的设置【shè zhì】,我们一般不改动这个【dòng zhè gè】文件【wén jiàn】🤢。

  在【zài】😬Apache运行的🤘时候,它先调用【yòng】httpd.conf,接着是【jiē zhe shì】srm.conf,最后是🗝access.conf。在【zài】😬较新的Apache发行版【fā háng bǎn】⬅本中,它建议srm.conf和access.conf 两个文【liǎng gè wén】件的内容为空🔗,把设置选项完全存放【quán cún fàng】在【zài】😬httpd.conf之中,这样会📭更加有😢利于服务器的【wù qì de】安全性【ān quán xìng】🐻。

  下面就⛹以httpd.conf来开始📶我们神😊奇的【qí de】Web网络世【wǎng luò shì】界【jiè】。

  1.全局环境变量的设置

  httpd.conf是以全局环境变量的设置开🕙始的【shǐ de】💭。我们将要一步步介绍其具体【qí jù tǐ】的参数【de cān shù】💫。

  ServerType standalone
  ServerRoot "/etc/httpd"
 

  第一行"ServerType"指令,说明Apache是以一📦个独立🌊的(Standalone)守护进🐖程的身份运行【fèn yùn háng】于后台【yú hòu tái】🕑,还是由【hái shì yóu】👯另外的【lìng wài de】🚔后台守♒护进程【hù jìn chéng】💢(Xinetd)在接到HTTP请求的时候唤醒【xǐng】。对于正【duì yú zhèng】式的互📳联网站【lián wǎng zhàn】点来说✏,standalone可以提供比xinetd方式更🦔快的客户端响应速度。因此我们选用【men xuǎn yòng】standalone模式【mó shì】。第二行代码介【dài mǎ jiè】绍了该服务器🌯配置文件的相【jiàn de xiàng】📂对根目【duì gēn mù】录,一般是/etc/httpd,我们在安装时已经设🎞置好。请注意,不要在此目录【cǐ mù lù】最后加【zuì hòu jiā】💠"/"。

  LockFile /var/lock/httpd.lock
  PidFile /var/run/httpd.pid
  ScoreBoardFile /var/run/httpd.scoreboard

  LockFile在安装Apache时指定【shí zhǐ dìng】选用了🚳USE_FCNTL _SERIALIZED_ACCEPT,USE_FLOCK_SERIALIZED_ACCEPT等参数【děng cān shù】。作为🧤Apache连接出现错误🐂的记录🏃文件🌊,它会把进程的【jìn chéng de】PID值自动🐼加在该文件🌊中【zhōng】。请注意🔎,该文件🌊应保存【yīng bǎo cún】在本地的硬盘【de yìng pán】中【zhōng】。PidFile记录着🎅每次服🚓务器运【wù qì yùn】行时的进程号。ScoreBoardFile是某些【shì mǒu xiē】特定系统上服【tǒng shàng fú】务程序中父子【zhōng fù zǐ】进程通讯记录【xùn jì lù】的文件⛓。

  #ResourceConfig conf/srm.conf
  #AccessConfig conf/access.conf
 

  以上两项是指定服务📆器资源【qì zī yuán】及控制🈵权限的【quán xiàn de】文件🐘,在默认【zài mò rèn】情况下🔮并不使用它们【yòng tā men】。

  Timeout 300
  KeepAlive On
  MaxKeepAliveRequests 100
  KeepAliveTimeout 15

这四项设定了🥏服务器的连接💖属性。第一行说明了【shuō míng le】🍣TCP中👳ack的响应【de xiǎng yīng】时🕒间为300秒;第二项表示是🤮否保持服务响【fú wù xiǎng】🐈应的连【yīng de lián】接💖;紧接着🐵的两项【de liǎng xiàng】定义了【dìng yì le】这种连接的最【jiē de zuì】📛大响应数目及响应时🕒间。如果👀MaxKeepAliveRequests设为【shè wéi】0,那它便【nà tā biàn】是🤮unlimited,当然这【dāng rán zhè】就要考【jiù yào kǎo】虑系统的承载能力了。

  MinSpareServers 5
  MaxSpareServers 20
  StartServers 8
 

  这三项定义了🖨服务程【fú wù chéng】序的最小、最大空【zuì dà kōng】的子进程数【jìn chéng shù】目及服务🚤程序开始时的【shǐ shí de】🚭进程数【jìn chéng shù】。5、20、8分别是它们的🍠默认数值【zhí】😈。

  MaxClients 150
  MaxRequestsPerChild 100
 

  以上两【yǐ shàng liǎng】行定义了同一🔴时刻最【shí kè zuì】🥢多的客户连接数目和【shù mù hé】每个连接的子🕗进程数。

  Listen 3000
  Listen 12.34.56.78:80
  BindAddress *
 

  这里定义了服务程序✂监听来【jiān tīng lái】自以上【zì yǐ shàng】IP、端口号🛣的【de】Request。由于👒BindAddress只支持*(代表所【dài biǎo suǒ】有的【de】🐦IP),所以产生了🔻Listen这个参【zhè gè cān】🍏数以便更灵活地处理【dì chù lǐ】客户机的【de】响应。

  ExtendedStatus On/Off
 

  这条指【zhè tiáo zhǐ】📲令说明了是否【le shì fǒu】跟踪服务程序♊所产生的扩展状态【zhuàng tài】〰。

  以下是【yǐ xià shì】对于DSO的支持,分别利用了🍶LoadModule、AddModule参数。我们可以阅读【yǐ yuè dú】🌖表【biǎo】🔥1,加载自己所需要的模块【kuài】🙉。

  2.主服务器设置

  下面设置主服【zhì zhǔ fú】🛒务器(非虚拟服务主【fú wù zhǔ】🤘机)。

  Port 80
 

  这个参🏿数给出🙇了服务【le fú wù】程序开启监听【qǐ jiān tīng】的端口🌽号为【hào wéi】80。

  User nobody
  Group nobody
  ServerAdmin root@localhost
  ServerName localhost
 

  上面的第一、二行代😖表了打开服务🛀进程的【jìn chéng de】用户名和用户🏙组名🅾。第三【dì sān】、四行则是管理【shì guǎn lǐ】员的邮【yuán de yóu】件地址和此服👝务器的【wù qì de】主机名【zhǔ jī míng】🗂。

  DocumentRoot "/home/httpd/html"
  DirectoryIndex index.html index.htm index.shtml index.cgi
  UserDir public_html
 

  面前两【miàn qián liǎng】🍽行定义【háng dìng yì】了网页的主目💧录和首🚍页名称。UserDir给出了【gěi chū le】用户的【yòng hù de】绝对路【jué duì lù】径🍨,也就是【yě jiù shì】🐷说明个【shuō míng gè】人主页🚸存放路径🍨。

  AccessFileName .htaccess

  此指令指定了✔每个目【měi gè mù】🔔录下的文件🛏权限是【quán xiàn shì】由.htaccess决定😬。当Apache试图读🔎取某一【qǔ mǒu yī】目录下【mù lù xià】的文件🛏时🎣,它将先查阅🐖".htaccess"文件中所列的访问控【fǎng wèn kòng】🔂制指令,并执行相应的操作。

  Mime 的文件🛏定义类【dìng yì lèi】🍬型是由📄下面的【xià miàn de】两句所决定😬:

  TypesConfig /etc/mime.types
  MIMEMagicFile share/magic
  AddLanguage en .en

  此参数【cǐ cān shù】可以增加对多种语言【zhǒng yǔ yán】的支持。

  ErrorLog /var/log/httpd/error_log
  LogLevel warn
  CustomLog /var/log/httpd/access_log common

  上面这【shàng miàn zhè】些代码【xiē dài mǎ】代表了🍘客户机【kè hù jī】访问服【fǎng wèn fú】务器的🌞一些日志文件。

  完成全【wán chéng quán】局设置后,我们还要针对每个目【měi gè mù】🔔录的权限进行🗨特定的配置。

  3.目录权【mù lù quán】限的配置

  我们只📑以一个👔目录为【mù lù wéi】例【lì】,其它的【qí tā de】路径可🍴以类推😍。

  <Directory /home/*/public_html>
  AllowOverride FileInfo AuthConfig Limit
  Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
  <Limit GET POST OPTIONS PROPFIND>
  Order allow,deny
  Allow from all
  </Limit>
  <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
  Order deny,allow
  Deny from all
  </Limit>
  </Directory>

  这一段定义了/home/*/public_html目录下🦀可以或禁止进行的文🕢件操作,以及客户机的🌉受限范♍围😸。

  4.虚拟主机配置【jī pèi zhì】

  虚拟主机配置【jī pèi zhì】是🏔Apache最精彩💟的地方【de dì fāng】♏之一,很多的【hěn duō de】ASP也是【yě shì】🏔利用Apache这个特【zhè gè tè】性来提【xìng lái tí】😋供优质服务的【fú wù de】。

  <VirtualHost www.virt.com>
  SSLDisable
  ServerAdmin webmaster@virt.com
  DocumentRoot /var/httpd/virt
  ScriptAlias /cgi-bin/ /var/httpd/virt/cgi-bin/
  ServerName www.virt.com
  ErrorLog logs/virt-error.log
  TransferLog logs/virt-access.log
  </VirtualHost>

  我们可以看到【yǐ kàn dào】它的语【tā de yǔ】法和真正主机设置相🏣差甚小,因此不再介绍【zài jiè shào】。

关键词:Apache,Web服务器

阅读本文后您有什么感想? 已有 人给出评价!

  • 6 欢迎喜欢
  • 263 白痴
  • 5 拜托
  • 5 哇
  • 9 加油
  • 4 鄙视