⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 www server安装简介--unix篇.txt

📁 LINUX下的安装声卡等操作和技巧介绍
💻 TXT
字号:
作者:孤独求败
日期:00-1-12 21:49:42
WWW SERVER安装简介--UNIX篇

  本文将介绍UNIX SERVER的安装。UNIX环境的SERVER较常见的是CERN与NCSA的程式。不过,由於後者曾发现在系统安全上有点问题(会被人侵入系统),而目前还没有正式的补救版。所以笔者只打算介绍CERN的SERVER的安装。


  这两种软体安装上都有个共同点,就是「简单」。说不定你甚至会觉得太简单了,没有「挑战性」。不过,安装、架设SERVER只是旁枝末节的东东,没甚麽大不了的方法。真正有挑战性的,真正要注意的,其实应该是 SERVER 本身的所提供的资讯,SERVER 中资讯的整合整理,SERVER 的内容。笔者在这里所作的,就只是把一些看起来很了不起,其实没甚麽的小方法整理出来,让大家不须花那种不必要的时间於这种小节上,而可以把心思用在SERVER的充实。 :) 


◇妖怪(Daemon)的诞生


   UNIX 软体的安装往往要多一道自己编译程式的过程  CERN 的架设也是要经过自行作编译程式的过程 有些软体的编译颇麻烦 要注意许多东东 不过令人愉快的是  CERN 的编译非常简单
  CERN的软体的取得 可以抓
   ftp://ftp.nccu.edu.tw/pub/www/server/unix/cern_3.0.tar.gz
  这个档是 CERN 的程式码 函式库和文件档的集合档 如果有须要 也可以抓同一个目录下的各别档案(请参考该目录下00-INDEX档)


  抓回本软体之後 用gzip解了再tar 开 tar 开後会建立一"WWW"的目录 目录中有一httpd_docs的目录 存放html格式的相关文件档 大家可以参考一下
  进行compile 的步骤其实非常的简单 只要下指令
   % ./BUILD
  由於CERN提供了"BUILD" 这样的自动侦测的程式 所以下完了BUILD 的命令之後 就可以泡杯茶到一边凉快 等系统自己compile 完了再回来:)


  如果编译过程没有问题(一般应该不会有问题 笔者曾在SunOS 4.1.x, Solaris 2.x AIX 3.2.5.1的机器上就如此成功的编译过) 那麽将在~/WWW/Daemon/下产生一与机器同名字的目录 例如AIX 的机器叫"rs6000" Sun 4.1.X的机器叫Sun4等等 该目录下有许多编译後的东东 不过最主要的 是叫httpd 的东东(其实这是个symbolic link的档案)这个就是所谓CERN的DAEMON了 (还有作map 用的htimage和作执行用的cgi* 不过本文不作这两类功能的介绍 )



◇设定档说明


  是不是很简单的就完成编译呢 要架一个SERVER 单单只有编译好的DAEMON是不够的 最重要的 得要有作控制的设定档(configure file) 如果要从无到有的编写设定档将是件可怕又讨厌的事 幸亏 可爱的CERN随软体提供了数个可供参考的设定档 这些设定档就摆在~/WWW/server_root/config 之下 大家可以挑一个较合适自己的档来修改 合并 以下笔者把较基本的options 稍作说明 大家凑合著看 当然 最好能够把与本软体同目录的cern_httpd_guide.ps.gz抓回去研究 因为笔者所谓的「基本」的option只不过是要求让一台SERVER跑得起来的最少option
  为了方便大家在设定档上的挑选 下面稍微简介各个档案的主要作用
  httpd.conf: 是个普通的设定档 作一般用途用的
  prot.conf : 有限制设定的设定档 笔者对这东东没有介绍的兴趣 因为个人认为这        类services就是开放给大众使用 除非有特殊须求 否则一般应该没有        要设限的必要 我这东东是写作一般用途 如果有特殊须求者 自己阅        读一下document 就可以轻易的办到了:)
  proxy.conf: 没有cache 的proxy 设定
  caching.conf: 有cache 的proxy 设定
 这两个档都提供"proxy"  这是甚麽东东呢 原来这东东是firewall的 东东(好像越释解越多不懂的东东了:)  简单来讲 firewall是一个网 路 它没有直接与外界沟通 而是先连接到某一个主机 然後再由那台 主机与外界交流


 一台有proxy 设定的server(就叫proxy server) 如果client端(如一 般的browser: netscape, mosaic....)把proxy server设成它 那麽  client 端所发出的要求就会先送到这一台server 然後再由这台server  把要求送出去 所以 这对有firewall的网路是很重要的 因为这样子 在firewall的世界才能运作


 可是 对一般没有设firewall的网路 设定proxy 也是颇有用的 不过 这个前提是要配合cache  如果一台proxy cache server(嗯 就是有设 proxy, 有设cache的server)  当client 端发出要求时 那我们知道由 於proxy  所以client端的要求会先送到这台server 而所谓的cache   我们简单的把它想像成 以前所抓过的资料 都在server的hardisk上 存留一份 所以当server收到client端的要求 那就不急著往外把这个 要求送出去 而是先在hardisk 中找一找 找看有没有人曾经作过同样 的要求 hardisk中有没有所要求的资料 有的话 就直接从server把资 料送给client 端 没有的话 那才到外面 忍受龟速 含辛茹苦的把资 料抓回来 自己存一份 给client一份  (如下图所示) 

 ┌───┐ Request   ┌───┐ 无cache资料
 │client│─────→ │server│ ─────→外界
 └───┘←有cache资料 └───┘       │
   ↑            ↑         │
   └───────────┴─────────┘


 所以 对一般使用者而言 如果把proxy cache server设在local 的网 路的话 那只要server中有资料 就可以用local 的速度抓remote的资 料 这对国内国外的网路而言 都会是件可以有效减少不必要的负荷的 设定:) 所以 只要是硬碟空间允许的话 请优先考虑proxy cache 的 功能  

◇基本option


  再一次强调 这里所介绍的 只是基本的option 只是让一台server能动的option 如果可以的话 最好能读一读前面提到的文件 那有较「高段」的option  


△阳春SERVER的设定


1.ServerRoot /where/ever/server_root
 主要与用WWW BROWSER 抓取到目录时 将要显示的icons的目录有关  如果设定
 ServerRoot /home/www
 则default会抓/home/www下的叫"icons"这个目录的*.xbm档当显示图形


  2.Port xxxx 设定要让Daemon在那一个port上跑 如果有root的权限 一般人都设成
 Port 80
 如果作测试用 可以用其他的port 如: 8080, 8001等


3.UserId与GroupId
 设定所跑的daemon是以那一个user和group 在运作 如果daemon不是由
 root在跑 那当然没有作用 例
 UserId nobody
 GroupId nogroup


4.Welcome file1.html
 笔者认为 这是相当应该一提的option 这个option的default值有三
 Welcome Welcome.html
 Welcome welcome.html
 Welcome index.html
 大家平常在玩WWW 时 应该会发现 我们输入一个http的URL 时 一般
 上很少有输入档名的 例如 http://www.nccu.edu.tw/
     ^^^没有档名
 其实 这就是这个option的贡献 如果希望别人一连上我们的server就
 default 读取某个档 那麽 我们可能可以
 1.把这个档的档名改名字 改成上述三个之一
 2.假设该档叫"hup.html"(有人会这麽叫吗)
  在设定档中加入一行 Welcome hup.html


5. Pass /* /local/Web/*
  Pass是一个多功能的option
  上面用法是其中的一个必要的设定 在设定data的root
 如上是在说 在使用者的URL 搜寻开的root 是在我们server的
 /local/Web开始搜寻 所以 在/local/Web目录之前的资料是找
 不到的 之後的才能被接触到
 不过 这个说法并不完全正确 因为如果有抓使用者的资料(即~user)
  那根目录是使用者下的特定目录(这个下面会说明) 而不是受这个
 Pass的限制


6. UserDir www
 如果有使用者要自己建个home page 要处理自己的资讯 那他是否
 要另外架台server呢
 当然不是 因为架server是会要占用系统不必要浪费的资源的(如硬碟
 空间 daemon所占的记忆体等) 而且会因此影响server的
 performance
 有了这一个option 那麽使用者可以很愉快的在自己帐号下 「轻轻」
 的建个由UserDir 所指定的目录 如上面的目录是 www  例如 hup
 这个user愿意把资料分享出去 那hup 可以建个~/www 的目录 把资
 料摆进去就可以了(复习一下 那home page名要叫甚麽呢 不知道吗
 就看Welcome 怎麽设罗)
 有一点要注意的是 目录的mode是要UserID的那个user可以读与执行的


7. ServerType Inetd 或
  ServerType Standalone
 让Daemon以怎麽样的方式执行就是这个option设定
 Standalone是表示 直接执行httpd 这个程式 让这个程式直接
 Listen某一个Port 这一种方法的好处是 快 由於这个种式自己直接
 的处理自己所要的要求 一收到要求 由於已经在记忆体中了 所以
 可以直接处理 不过 缺点也不见没有 很明显的 就是占用记忆体
 另一方面 在某些机器 系统 也可能发生Daemon死去的问题 所以
 要用Standalone的方式执行的话 那先评估一下自己配备的情形


 Inetd 是另一种可以考虑的方法 不过 这稍微要改多一些东东
 简单来讲 inetd 是个超级的daemon 它所作的事情 就只是负责处理
 与我们机器连接的要求 如果是它所负责的服务 那inetd 会执行该服
 务真正运作的daemon
 这种方式执行httpd 的优点是 节省记忆体 而且 只要inetd 不死
 那麽各个服务都能愉快的进行 不过 缺点是 比较慢 因此inetd 还
 要把负责该服务的daemon(如httpd) 执行起来才行
 方法是
 a.在/etc/services 中加入这麽一行
  http      80/tcp     www
  表示port 80 是叫"http"的服务 而且这个服务又叫"www"
  如果services有上yp 请重作yp 如 cd /var/yp; make
 b.在/etc/inetd.conf中加入这麽一行
   http  stream tcp   nowait nobody /usr/local/bin/httpd  httpd
   ^^^1.  ^^^^2. ^^^^^^^^^^^^^^^^^^^3.


   1.在services所注册的名字
   2.用甚麽使用者在跑httpd
   3.httpd 的所在 如我把它摆在/usr/local/bin/httpd


 c.kill -HUP 



好了 讲到这里 这种接近阳春型的server应该可以跑了:)
不过 前面笔者说过 如果硬碟允许的话 希望大家都能够装proxy cache
下面笔者再介绍如果要设proxy cache server 那麽应该再增加那些设定


△proxy cache server的设定


1.Caching on 这应该不用解释吧


2.CacheRoot /my/cache/dir
 我们要把资料Cache 在那里 这个目录必须是httpd 的running ID所能
 写的 有设这东东就会把Caching 的default设on


3.CacheSize xx M
 设多大的Cache  如"CacheSize 200 M"


4.NoCaching protocol://some.hosts//*
 protocol可能是http, gopher, ftp, wais, news等
 这是设定那些地方的资料不作cache  例如我们设定"*.tw"(国内)的
 就不作cache
  NoCaching http://*.tw/*
  NoCaching http://140.*/*
  而
  NoCaching ftp://140.119.*/* <--不把140.119.*的ftp
     资料作cache


 *.xx.yy是表示以.xx.yy结尾的机器hostname
 123.456.*是表示以123.456.开头的ip
 这个option用在抓取与我们连接速率快的机器颇有用的 由於对方与
 我们连接速率快 所以就不必在我们机器上留份资料了 以免浪费空
 间:)


5.CacheClean protocol:* how-long
 设定我们Cache 的资料最久能存多久 例如
 CacheClean http:*  1 month <--http的资料最长存一个月
 CacheClean ftp:* 14 days <--ftp 的资料14天後就清掉
 CacheClean gopher:* 5 days 12 hours <--gopher资料用5天半


6.CacheUnused * 4 days 12 hours
 CacheUnused http://some.server/* 7 days
 CacheUnused ftp://some.hosts/* 14 days
 三个取自document的例子 这个设定是设多久没用的档案就清掉


7.CacheLimit_1 200 K
 CacheLimit_2 4000 K
 上面是这两个options 的default值
 CacheLimit_1是设定最小要多少我们的系统才作cache  预设值是200 K
 CacheLimit_1是设定最大只cache 到多大的档案 预设值是4 MB
 所以小於200K或大过4MB 的资料是不作cache 的
 我们可以改这预设值 例如我想把所有的资料都cache
 CacheLimit_1 0 K
 CacheLimit_2 40000 K
 (再小我也cache  40MB以内的我也照收)


8.Pass http:*
 Pass  ftp:*
 Pass  gopher:*
 设定那些protocol的资料要作proxy  如果只设
 Pass http:*
 那麽就只有http的资料会作proxy  所以要作proxy cache的protocol就
 请都Pass过去:)



◇结论


  这也不算甚麽结不结论的 只是 写到最後 总是令人快乐的一件事:)
  www server架设的介绍就介绍到这里 希望大家能够同意架设一台www server真的是件小case 打个哈欠就架好了:)



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -