linux下安装lighttpd配置详解

时间:2016-08-18 14:50:17   收藏:0   阅读:11140

为什么要使用lighttpd? 
     apache不可以吗? 
     在支持纯静态的对象时,比如图片,文件等 , 
     lighttpd速度更快,更理想 
     至于它和apache的比较,很多文档,大家可以百度一下

本次使用1.4.41版本

官方网点:http://www.lighttpd.net

官方下载站点:http://www.lighttpd.net/download/

技术分享

官方给出了安装配置的详细文档

http://redmine.lighttpd.net/projects/lighttpd/wiki/InstallFromSource

技术分享


前期的简单准备工作

配置防火墙,开启80端口

vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙

备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,

正确的应该是添加到默认的22端口这条规则的下面

如下所示:
################################ 添加好之后防火墙规则如下所示################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
#######################################################################################
/etc/init.d/iptables restart #最后重启防火墙使配置生效

关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq  #保存退出
shutdown -r now #重启系统

安装第三方yum源

yum install wget #安装下载工具

yum update #更新yum源

安装nginx

yum remove httpd* php* #删除系统自带的软件包

wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.41.tar.gz

技术分享

tar -zxvf lighttpd-1.4.41.tar.gz

技术分享



cd lighttpd-1.4.41

编译:

  1. # ./configure --prefix=/usr/local/lighttpd

  2. # make

  3. # make install

  4. OK!

编译后配置:

以下的doc目录是在解压缩/home/lighttpd-1.4.41/下

也就是当前目录为 /home/lighttpd-1.4.41/



cp -p doc/initscripts/sysconfig.lighttpd /etc/sysconfig/lighttpd

mkdir /etc/lighttpd ##创建配置文件目录
cp doc/config/lighttpd.conf /etc/lighttpd/lighttpd.conf #复制配置文件到配置目录下

cp -R doc/config/conf.d/ doc/config/*.conf doc/config/vhosts.d/ /etc/lighttpd/ #复制配置文件

如果你的Linux是RedHat,那么:
cp doc/initscripts/rc.lighttpd.redhat /etc/init.d/lighttpd ##复制自启动

chmod a+rx /etc/init.d/lighttpd #给可启动的权限

然后修改/etc/init.d/lighttpd,把lighttpd="/usr/sbin/lighttpd"
改为lighttpd="/usr/local/lighttpd/sbin/lighttpd"

此脚本用来控制lighttpd的启动关闭和重起:
# /etc/init.d/lighttpd start

chkconfig lighttpd on ##设置开机自启动


配置lighttpd.conf文件

vim /etc/lighttpd/lighttpd.conf

################################################

var.log_root    = "/www/logs"      ##错误日志根目录

var.server_root = "/www"           ##网站根目录

var.state_dir   = "/var/run"        ##lighttpd运行目录

var.home_dir    = "/www"

var.conf_dir    = "/etc/lighttpd"    ##配置目录

注意自己的网站目录地址

var.vhosts_dir  = server_root + "/vhosts"

var.cache_dir   = "/www"            ##缓存目录

var.socket_dir  = home_dir + "/sockets"

include "modules.conf"

server.port = 80                  # 服务监听端口   

server.username  = "nobody" ##lighttpd的用户(用什么权限来运行lighttpd

server.groupname = "nobody"  ##lighttpd的用户组


server.document-root = server_root + "/htdocs"  ##网站存放站点

server.pid-file = state_dir + "/lighttpd.pid"   进程id记录位置

server.errorlog = log_root + "/error.log"      # 错误日志位置 

include "conf.d/access_log.conf"

include "conf.d/debug.conf"

server.event-handler = "linux-sysepoll"

server.network-backend = "sendfile"

server.max-fds = 2048   ##最大连接数,大流量网站推荐2048

server.stat-cache-engine = "simple"

server.max-connections = 1024

index-file.names += (

  "index.xhtml", "index.html", "index.htm", "default.htm", "index.php"

)

url.access-deny = ( "~", ".inc" )

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

  server.range-requests = "disable"

}

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".scgi" )

include "conf.d/mime.conf"

include "conf.d/dirlisting.conf"

server.follow-symlink = "enable"

server.upload-dirs = ( "/var/tmp" )

include_shell "cat /etc/lighttpd/vhosts.d/*.conf"

###################################################################################

以上是lighttpd.conf 的文件内容


modules.conf 配置文件内容 讲下面行前面的注释#去掉

#################################################################################

server.modules = (

  "mod_access",

  "mod_rewrite",

include "conf.d/compress.conf"

include "conf.d/fastcgi.conf"

include "conf.d/cgi.conf"

include "conf.d/simple_vhost.conf"

###############################################################################


开设多部虚拟机

##############################################################################

lighttpd虚拟主机配置 
$HTTP["host"] == "bbs.xxx.com" { 
server.name = "bbs.xxx.com" ##可不用
server.document-root = "/www/vhosts/bbs.xxx.com
server.errorlog = "/www/vhosts/bbs.xxx.com/error.log" 
accesslog.filename = "/www/vhosts/bbs.xxx.com/access.log" 

##############################################################################

# 针对端口的虚拟主机 
$SERVER["socket"] == "192.168.0.1:8000" { 
  server.document-root = "/var/www/xxx/" 
  server.errorlog = "/var/log/lighttpd/test-error.log" 
  accesslog.filename = "/var/log/lighttpd/test-access.log"
}

#############################################################################

配置/etc/lighttpd/conf.d/fastcgi.conf 文件调用php文件

server.modules += ( "mod_fastcgi" )

fastcgi.server = (

  ".php" => ((

    "host" => "127.0.0.1",

    "port" => "9000",

    #"docroot" => "/www/htdocs"

  )))



评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!