荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bstone (随风飘逝~~), 信区: Linux
标  题: 低负荷web服务器的启动方式
发信站: BBS 荔园晨风站 (Thu Oct 21 22:43:33 1999), 站内信件

作者:丁进明 [jim@www.cdsf.com]



    前天安装arpache web服务器,想使用inetd启动,发现书上的介绍与
实际使用有些差距,经过一番的折腾终于搞定,希望与大家分享一下。


    我们在Linux服务器中可能会运行很多的程序对外提供不同的服务功能:
例如邮件服务、WEB服务器、FTP服务器,这样就需要相应的程序运行,如何
运行? 是不管是否有人使用都让它们运行占领内存还是需要的时候才启动?
通过inetd启动效率低,是否值得? 这是你的事情啦。如果你的内存不多的
时候,我认为最好不要让它们一直运行。

    Linux中使用inetd来监控tcp/ip服务请求,从网络上某个socket端口面
过来一个请求后,首先查找位于 /etc/services 文件中是否有该端口的信息,
如果没有则丢弃该请求。否则找到该端口提供的服务名称以及别名,然后到
/etc/inetd.conf文件中寻找该服务名称或者别名关联的服务程序信息,启动
那个程序就可以了。例如telnet服务就是这样启动的。 Linux中基于安全
方面的考虑,使用tcpd守护程序进行进一步的保护。



    安装了Linux后,如果安装了WEB服务器,缺省的是启动机器后运行httpd
的10个进程,即无论是否有请求一直运行。如果需要让它能够在需要时启动,
我们可以采用下面的方法:

1.修改/etc/httpd/conf/httpd.conf文件,将ServiceType从StandAlone改为
  inetd,即web服务器采用从inetd启动的方法,这时httpd无法自己启动。

2.查看/etc/services中是否有tcp端口80的信息,没有则加入一行

  www 80/tcp http

  表明在80号tcp/ip端口的服务是www(http)服务。

3.查看/etc/inetd.conf文件,在里面加入一行

  http ...root /usr/bin/tcpd httpd

  通知inetd如果出现了http请求,通过tcpd启动httpd服务程序,上面一行
  中的信息不全,因为现在我记得不是很清楚了(现在在使用晕倒98),可以
  将关于telnet的一行照抄下来,改动一下即可。(我就是这么做的 ~_~)
4.重新启动机器或者?以后使用ps -A | grep http检查一下,应该找不到
  相应的进程,否则httpd.conf没有设置正确。

5.使用telnet localhost 80或者 lynx localhost试一下能否进入本机网站,
  如果正确那就OK啦。

6.如果没有成功 @_@,仔细检查一下是否按照上面说的做对了?多看看相关
  的帮助了,也可以与我讨论(mailto jim@www.cdsf.com)。

--

                                              别问为何!

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.28.23]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店