`

Apache和lighttp配置

阅读更多

很想干点和Rails或者ruby相关的活啊,这两天一直干的活,不是javascript 就是 shell script,身不由己啊。

安装lighttpd
yum install lighttpd

配置lighttpd
配置文件在:/etc/lighttpd/lighttpd.conf
可修改里面的参数,主要包括:
端口号:默认是80
文档根目录:server.document-root        = "/var/www/lighttpd/"

在server.modules定义里面,添加一行:
"mod_flv_streaming",

然后在配置文件的末尾,添加一行:
flv-streaming.extensions = ( ".flv" )

启动lighttpd服务
service lighttpd start

重启lighttpd服务的命令是
service lighttpd restart

根据需要,可运行linux的setup来把lighttpd设置为自动启动的服务。

 

Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼。而在国内,Linux的应用也是方兴未艾,众多公司已经投入到Linux系统的研发和推广工作中。一些优秀的Linux操作系统相继出现,比如红旗Linux等。但是我国的Linux应用水平还很低,熟悉Linux的人员严重缺乏,Linux专业人才的缺乏已成为Linux在国内应用和普及的瓶颈问题。据《开放系统世界》2003年第八期介绍,中国五年内Linux人才需求量将会超过120万。而“1+1+1”工程的实施,也是间接地告诉我们这个问题的严重性。如此大好时机,我们干吗还愣着不动呢!如果你是一位Linux爱好者,你可能已经掌握了基本的Linux的知识与操作,毫无疑问,你并不会去满足这样小小的成就。Linux为何如此的流行?其最大的特点莫过于功能强大,性能稳定的服务器应用了。像WWW,MAIL,FTP,DNS和SMB等。在这篇文章中,我将以Redhat Linux 9为蓝本,从Web服务器的一些最基本的操作入手,从初学者使用的态度,让读者正确充分的认识Apache。好,现在就让我们一起踏上征服Apache的自由之路吧。

  第一站 Apache的历史与前景

  1995年,美国国家计算机安全协会(NCSA)的开发者创建了NCSZ全球网络服务软件,其最大的特点是HTTP精灵程序,它比当时的CERN服务器更容易由源码来配置和创建,又由于当时其他服务器软件的缺乏,他很快流行起来。但是后来,该服务器的核心开发人员几乎都离开了NCSA,一些使用者们自己成立了一个组织来管理他们编写的补丁,于是Apache Group应运而生。他们把该服务器软件称为Apache。Apache源于A patchy server的读音,意思是充满补丁的服务器。如今Apache慢慢地已经成为Internet上最流行的Web服务器软件了。在所有的Web服务器软件中,Apache占据绝对优势,远远领先排名第二的Microsoft IIS。如果你对它感兴趣,你可以访问Apache的官方网站:http://www.apache.org 。Apache作为自由软件之一,像其他自由软件一样,他们都是由许许多多的自由开发人员投入了大量的时间和精力来实现并逐步完善的,所以我们有理由相信Apache的发展前景会更好。

  第二站 Apache 2.0的安装

  Apache 2.0的配置与安装和Apache 1.3的有很大的不同,他像其它的开源软件一样,使用libtool和autoconf来配置环境。但不管是Apache几通常都有两种安装方式:源代码安装和RPM包安装。这两种安装类型各有特色,RPM包安装不需要编译,而源代码安装则需要先配置编译再安装,RPM包安装在一个固定的位置下,选择固定的模块,而源代码安装则可以让你选择安装路径,选择你想要的模块。下面分别以实例的形式来介绍两种类型的安装方法。

  一,使用源代码安装

  (1) 获得源代码

  # lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz

  NN表示当前所用的版本号。

  (2) 解压缩

  # gzip -d httpd-2_0_NN.tar.gz

  # tar xvf httpd-2_0_NN.tar 

  (3) 配置.

  # ./configure --prefix= /usr/local/apache

  表示Apache将安装在/usr/local/apache目录下

  (4) 编译与安装

  # make

  # make install

  (5) 测试

  # /usr/local/apache/bin/apachectl start

  二,使用RPM包安装

  # rpm —ivh apache-*.rpm

  完成安装后,配置文件在/etc/httpd/conf/目录下,文件根目录为/var/www/html,工具文件在/etc/rc.d/init.d/目录下,日志文件在/var/log/httpd/目录下。

  第三站 Apache 2.0的配置

  Apache 2.0的主配置文件为httpd.conf。如果以上述源代码安装则配置文件保存在/usr/local/apache/conf/目录下,若以RPM包方式安装则配置文件保存在/etc/httpd/conf/目录下。我们可以直接修改httpd.conf文件也可以用redhat linux 9自带的图形化工具来配置。打开启动程序->系统设置->服务器设置->HTTP服务器,可以进行相关。主界面如图:

  下面我们来看一下httpd.conf中的几条指令,“#”后加入了注释说明。

  Port 80 #定义了web服务器的侦听端口,默认值为80,它是TCP网络端口之一。若写入多个端口,以最后一个为准。

  User apache #一般情况下,以nobody用户和nobody组来运行web服务器,因为web

  Group apache # 服务器发出的所有的进程都是以root用户身份运行的,存在安全风险。 

  ServerAdmin root@localhost #指定服务器管理员的E-mail地址。服务器自动将错误报告到该地址。 

  ServerRoot /etc/httpd #服务器的根目录,一般情况下,所有的配置文件在该目录下

  ServerName new.host.name:80 #web客户搜索的主机名称

  KeepAliveTimeout 15 #规定了连续请求之间等待15秒,若超过,则重新建立一条新的TCP连接 

  MaxKeepAliveRequests 100 #永久连接的HTTP请求数

  MaxClients 150 #同一时间连接到服务器上的客户机总数

  ErrorLog logs/error_log #用来指定错误日志文件的名称和路径

  PidFile run/httpd.pid #用来存放httpd进程号,以方便停止服务器。

  Timeout 300 #设置请求超时时间,若网速较慢则应把值设大。

  DocumentRoot /var/www/html #用来存放网页文件

第四站 Apache的管理

 

  (1) 启动和停止Apache

  /etc/rc.d/init.d/httpd start

  /etc/rc.d/init.d/httpd stop

  (2) Apache的日志文件

  有人说判定一个管理员是否优秀之一就是看他是否是一个分析日志的能手,因为从日志文件中获取的反馈信息对管理员来说是相当重要的。Apache的日至文件主要包括访问日志和错误日志。访问日志记录了该服务器所有的请求的过程,主要记录的是客户的信息,通过它我们可以知道什么人访问了该网站,什么时候访问的,访问的内容是什么等等。错误日志则是记录了服务器出错的细节和如何处理等。日志文件的位置是由上述主配置文件httpd.conf来规定的。Redhat中有一个查看日志的工具——系统日志。其主界面如下

  下面各举一个例子来说明他的格式:

  错误日志的写法:

  [Mon sep 22 14:32:52 2003] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test

  [Mon sep 22 14:32:52 2003] 错误发生的时间。

  [error] 表示错误的级别。有debug,info,notice,warn,error,crit,alert,emerg,这些级别由低到高表示了错误的严重性。

  [client 127.0.0.1] 表示客户端IP地址。

  client denied by server configuration: /export/home/live/ap/htdocs/test 标是错误的具体信息。

  访问日志的写法:

  127.0.0.1 - wangdong [22/sep/2003:13:55:36 -0800] "GET /apache_pb.gif HTTP/1.0" 200 2326

  127.0.0.1 表示访问这台服务器的客户端IP地址。

  Wangdong 表示用户的登录名。

  [22/sep/2003:13:55:36 -0800] 服务器完成客户端请求的时间,格式为[日/月/年:小时:分钟:秒 时区]

  "GET /apache_pb.gif HTTP/1.0" 表示客户端访问该资源所使用的方法。

  200 记录的是服务器返回给客户的状态码。200表示成功,以4打头的表示访问出错。

  2326 表示发给客户端的总字节数。若是“—”表示没有找到访问资源。

  但在实际应用中,对于大型网站,日志文件往往增长的很快,不利于我们查询,降低服务器的效率,而且占用大量的磁盘空间,所以我们必须对日志进行定期的维护。

  既然日志文件很大,那么我们如何把一大堆枯燥的数据整理成容易让我们看懂的形式呢?有没有这样的工具呢?非常幸运,在redhat linux 9中自带了一个分析日志的工具——webalizer,如图:

  我们也可以在网上找到大量这样优秀的免费的工具,例如:WebTrends Analysis Series。

  第五站 配置虚拟主机

  虚拟主机是在一台www服务器上为多个单独的域名提供www服务,每个域名具有自己的目录和配置,相当于将一台主机分为多台主机,虚拟主机技术对于主机数量不足,但又想为不同的用户提供独立的Web服务的需求非常有效。而对于一个公司,利用价格昂贵的服务器只提供一种域名服务,似乎是不明智的,而现在越来越多的公司喜欢在一台服务器上使用多个域名服务,架设不同的网站,这样做的好处是显而易见。

  Apache有两种方式支持虚拟主机,一种是基于IP的虚拟主机,另一种是基于名字的虚拟主机。基于名字的虚拟主机使用相同的IP地址来配置不同的虚拟主机,这就弥补了因IP地址不足而带来的问题。基于名字的虚拟主机的配置相当简单,你只需配置你得DNS服务器使每个主机名对应正确的IP地址,然后再配置Apache HTTP Server使它能认识不同的主机名就可以了。

  假设我们组建了一家多媒体制作公司,有一台Apache服务器和一个IP地址:192.168.0.1 要运行两种业务,一种为电子商务网站,域名为www.business.media.com  ,另一种为教学网站,域名为www.teaching.media.com  。先在DNS服务器中把域名www.business.media.comwww.teachin....conf 就可以了。

  NameVirtualHost 192.168.0.1

  ServerName www.business.media.com

  DocumentRoot /var/www/html/business


  ServerName www.teaching.media.com

  DocumentRoot /var/www/html/teaching


  而基于IP的虚拟主机则要求使用不同的IP地址来区别不同的虚拟主机,这就要求使用多块网卡,把不同的IP地址捆绑到不同的网卡上,或者在一块网卡上捆绑多个IP地址。假设我们主机的IP地址为192.168.0.1(www.media.com) ,另外有两个IP地址别?..nf/httpd.conf。[/url]

  ServerAdmin webmaster@ business.media.com

  DocumentRoot /var/www/html/business

  ServerName www.business.media.com

  ErrorLog /var/www/html/business/logs/error_log

  TransferLog /var/www/html/business/logs/access_log

  ServerAdmin webmaster@teaching.media.com

  DocumentRoot /var/www/html/teaching

  ServerName www.teaching.media.com

  ErrorLog /var/www/html/teaching/logs/error_log

  TransferLog /var/www/html/teaching/logs/access_log

  第六站配置Apache代理

  代理服务器是网络信息服务的中转站。如果我们把Apache代理服务器形象地比喻成代理商的话,消费者向代理商购买东西时,如果代理商有的话,可直接卖给消费者,若没有,则代理商向厂家进货,再卖给消费者。这样做有以下几点好处:(1)提高了访问速度。(2)充当防火墙,增加了安全性。(3)可以过滤一些不良网站。(4)具有缓存功能。(5)节省IP开销。代理服务器可分为两种类型:客户端代理和服务器端代理。下面我们在讲解几个指令后举例说明各自的配置方法。

  ProxyRequest On/Off #启用或者禁用Apache代理服务。

  CacheRoot "/etc/httpd/proxy" #代理缓存的根目录。

  CacheSize 5 #代理缓存的大小。

  CacheGcInterval 4 #设定运行管理缓存的无用数据搜集程序的时间间隔

  CacheMaxExpire 24 #文件过期时间。

  CacheDefaultExpire 1 #指定未包含过期信息文件的有效期。

  NoCache a-domain.com another-domain.edu #该网站的文件将不被缓存。

  • 客户端代理的配置

  (1) 修改/etc/httpd/conf/httpd.conf中的相关指令

  (2) 修改/etc/httpd/conf/httpd.conf,添加对代理目录的访问控制。


  Order deny,allow

  Deny from all

  Allow from .your-domain.com


  (3) 重启httpd。

  • 服务器端代理的配置

  服务器端代理与客户端代理不同,它是在防火墙上安装Apache服务器,使用它提供对WWW服务器的代理访问。这种方法把WWW服务器与外部隔开,提高了安全性,而对用户来说,好像没有变化一样。假设在内部局域网中WWW服务器的IP地址为192.168.0.2,防火墙主机内部IP地址为192.168.0.5,外部IP地址为192.9.202.1。

  (一) 配置防火墙上的Apache

  (1) 在/etc/httpd/conf/httpd.conf中添加虚拟主机。


  ServerAdmin webmaster@business.media.com

  DocumentRoot /www/docs/business.media.com

  ServerName www.business.media.com

  ErrorLog logs/business.media.com-error_log

  CustomLog logs/business.media.com-log_common


  (2) 配置局域网中的DNS服务器,把www.business.media.com 指向192.9.201.1。

  (二) 配置局域网内部WWW服务器

  在Linux环境下,有一个非常流行的代理服务器软件——Squid。他的功能非常的强大,支持HTTP,FTP,Gopher,SSL,和WAIS等协议的代理,而且设置简单,只需再配置文件中稍稍改动就可以了。

  好了,WWW服务器配置这条路总算走完了,笔者希望读过此文章的人能够有所收获,最后,希望在学习Linux这条充满乐趣而又布满荆棘的路上的爱好者们,永不言败,成为真正的高手。

 

        1   lighttp的安装

             在安装时一定要有“mode-rewrite”这个选项

        2   lighttp的安装配置

             #cp   doc/sysconfig.lighttp   /etc/sysconfig/lighttp

             #mkdir   /etc/lighttp

             #cp  doc/lighhtpd.conf  /etc/lighttp/lighttpd.conf

             #cp doc/rc.lilghttpd   /etc/init.d/lighttp

              修改/etc/init.d/lighttp,把

                   LIGHTTP_BIN=/usr/sbin/lighttp

              改为LIGHTTP_BIN=安装目录/sbin/lighttp

        3.  配置服务

             服务的配置文件为"/etc/lighttp/lighttp.conf"

             1)  server.modules

                       取消需要用到模块的注释, mod_rewrite, mod_access, mod_fastcgi, mod_simple_vhost, mod_cgi,

                         mod_compress, mod_accesslog等。

             2) server.document-root, server.error-log,  accesslog.filename需要指定相应的目录

             3) 用什么权限来运行 lighttp

                    server.usename="nobody"

                    server.groupame="nobody"

             4) 指定静态文件压缩

                    #mkdir    /installpath/compress

                    #chmod   777   /installpath/compress

                     添加以下几项:

                     compress.cache-dir=/installpath/compress/

                     compress filetype=("text/plain", "text/html", "text/javascript", "text/css")

                  可以指定静态源类型使用压缩方式传输,节省带宽

              5)  server.port=81

              6)  #$HTTP["url"] =~"\.pdf$"{

                   #server.range-requests="disabel",

                   #}   

          4  优化

               最大连接数

                     修改server.max-fds的值,                 默认为1024

  • 大小: 649 KB
分享到:
评论

相关推荐

    三大WEB服务器对比分析(apache ,lighttpd,nginx)

    三大WEB服务器对比分析(apache ,lighttpd,nginx) 分析的还不错

    lighttp:轻量级异步HTTPWS客户端服务器

    《lighttp:轻量级异步HTTP/WS客户端服务器详解》 在当今互联网技术日新月异的时代,轻量级的网络服务框架扮演着至关重要的角色...对于追求高性能、低延迟和资源效率的开发者来说,lighttp无疑是一个值得考虑的选择。

    实战nginx在线课程课件-LNMP安装与配置

    在性能方面,Nginx因其异步非阻塞的事件驱动模型,在处理大量并发连接时表现出色,比传统的Apache和轻量级的Lighttp更高效。具体表现为更低的内存消耗和更高的响应速度。 #### 知识点三:LNMP环境搭建步骤 1. **...

    lighttpd-1.4.55移植配置与测试.rar

    交叉编译最新版的lighttpd-1.4.55,配置与测试CGI与HTML.内含 lighttpd-1.4.55源码,移植教程,cgi测试代码,html测试代码.测试cgi时,浏览器中应该输入192.168.100.30/cgi-bin/xx.cgi .其中 192.168.100.30为开发板的ip

    linux服务器下LNMP安装与配置方法

    注意:关闭rpm默认安装的apache和mysql 1.准备php函数的rpm包 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel ...

    ubuntu lighttpd实现websocket

    3、首先配置lighttpd.conf 修改为自己的工作路径 var.server_root = "/home/caoft/lighttpd/lighttpd_websocket/http_server" var.state_dir = "/home/caoft/lighttpd/lighttpd_websocket/http_server" var.home_dir...

    Lighttpd 高性能web服务器

    它具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点,其静态文件的响应能力远高于Apache。 lighttpd v1.4.31 包含很多重要的改变,修复了首个 HTTPS 请求时的段错误;禁用 mmap 因为读取压缩...

    搭建lighttpd+cgi的代码包

    压缩包文件`lighttpd_cgi`可能包含示例CGI脚本、lighttpd配置示例以及其他辅助文件,用于帮助初学者更好地理解和实践lighttpd与CGI的结合使用。解压并研究这些文件,可以帮助你深入理解这一过程。 总结,通过上述...

    Ruby-gitspelunk一个交互式git历史的工具

    **Ruby-gitspelunk:一个交互式...通过其交互式的界面和丰富的功能,git-spelunk使得理解和管理Git历史变得更加高效和直观。无论是个人项目还是团队合作,掌握并运用git-spelunk都将极大地提升代码管理和维护的效率。

    实现在Windows下安装Lighttpd的方法

    在Windows操作系统下安装Lighttpd Web服务器需要遵循一系列步骤,这些步骤涉及到了系统环境配置、源代码编译、配置文件编写以及运行时依赖管理等多个方面。下面详细介绍这些知识点,以帮助理解在Windows环境下成功...

    Lighttpd源码分析_高群凯

    Lighttpd源码分析不仅对于希望深入研究Web服务器技术的开发者有重要意义,而且对于那些想要提高自己服务器配置和管理能力的系统管理员同样适用。掌握Lighttpd的工作原理及其源码细节能够帮助开发者更好地优化服务器...

    XCache在Win2003 IIS6下的成功配置方法与疑难解答

    实际测试效果如下(非科学方法): 原网页平均执行时间: 0.13 秒 加速后网页平均执行时间: 0.03秒 原CPU占用率: 15% – 60% 加速后CPU占用率... 安装与配置 首先下载XCache,网址为: 下载地址:http://xcache.lighttp

    luci-app-wifidog:这个包包含 wifidog 的 LuCI 配置页面

    带有 lighttp 和 php5 的内置本地身份验证服务器 与远程服务器同步 安装 Git 在你的package目录中克隆这个存储库。 make menuconfig并在 LUCI 类别中选择 luci-app-wifidog 并保存。 使用单个包make luci-app-wifi...

    Ubuntu下启动mysql

    Ubuntu8.10下mysql是自启动的,但root用户、mysql数据库都被限制了。该Shell脚本是启动mysql安全模式脚本,启动后mysql数据库可以自行调试。比如php、lighttp、mysql。

    monitor_newlisp

    bb-lighttp:Newlisp 脚本,使用服务器状态地址从 lighttpd 收集数据。 dzen2:用于 dzen2 的 Newlisp 脚本。 misc:用于监控系统的其他脚本。 已知的问题 需要变得更通用的非常原始的脚本。 错误 虫子比WaSP巢还...

Global site tag (gtag.js) - Google Analytics