也讲在 Windows 下安装 lighttpd

来源:互联网 发布:csol淘宝去黑雾2016 编辑:程序博客网 时间:2024/04/24 04:37

  这几天,想试试 lighttpd WEB服务器,在网上一查,资料不少,本以为很快就可以搞定,结果从昨天晚上到今天晚上,整整折腾了一天,回想安装过程,颇有感触,在此把我安装过程中遇到的情况,尤其要注意什么,跟大家汇报一下,以后要安装 lighttpd,少走些弯路,提高效果。好了,下面说说安装过程。


一、安装 Cygwin

  网上也这么说,先装 Cygwin 环境 ,但一句话就带过了,对初学者来说,尤其是 Windows 用户,基本都卡在这一步,可以选择安装的项目很多,就是不知道该选什么,停止不前了;即使过了这一步,到第二步编译时老报错,不知道为什么错,如何解决,也走不下去了。我就卡在这里了,尝试了多次才解决,几度要放弃,但最终坚持下来了。

  我的操作系统是 Windows10 x64,Cygwin 安装程序是 64 位的 setup-x86_64.exe,安装到 C:\Cygwin 目录下。

  安装时要注意的有两项:

  1、选择国内开源镜像网站进行安装,速度快,如 http:/mirrors.ustc.edu.cn/cygwin/ 或 http:/mirrors.163.com/cygwin/ 。

  这里要注意的是:如果手工输入网址一定要把后面的 cygwin 输入,否则找不到下载位置。

  2、选择下载安装的项目,这里要注意两点:

  一是安装 Cygwin 大部分是要编译 C/C++ 程序,因此,一定要安装【gcc-core】【gcc-g++】【make】等项目,在 Devel 包中就有,选择安装就可以了。

  二是针对 lighttpd ,还要安装配套的【pcre】【bzip2】【zlib】

  说明:pcre 项,在安装时检索关键字 libpcre, 选择 Libs 包中的所有项目(可能只用 libpcre*-devel );

     bzip2 项,检索关键字 bzip2, 选择除 Debug 包之外的所有包中的项目(可能不行);

         再检索关键字 libbz2 或 bz2, 选择全部项目(可能只用 libbz2-devel );

     zlib项,检索关键字 zlib, 选择除 Debug 包之外的所有包中的项目。

     还要特别提醒:安装的项目名称可能不一致,但内容一样,要多试几个关键字,进行检索选择。

  否则在 lighttpd 编译时将报错如下:

     configure: error: pcre-config not found, install the pcre-devel package or build with --without-pcre

     configure: error: bzip2-headers and/or libs were not found, install them or build with --without-bzip2

     configure: error: zlib-headers and/or libs were not found, install them or build with --without-zlib

  3、然后,按照正常安装,一路“下一步”,直到OK,在桌面上会建立 Cygwin64 Terminal 图标。


二、编译 lighttpd

  如果第一步安装 Cygwin 顺利的话,第二步就很快了,一路装配、编译、安装就OK了。

  我下载 lighttpd 源代码是 lighttpd-1.4.43.tar.gz,解压到 C 盘根目录 C:\lighttpd-1.4.43 下。

  在桌面双击 Cygwin64 Terminal 图标,进入 Cygwin 环境,依次执行以下命令:

    $ cd c:\lighttpd-1.4.43

    $ ./configure

    $ make

    $ make install

    $ exit

  如果出问题,主要集中在 ./configure 这步,如果命令一开始就不执行,可能是【gcc-core】【gcc-g++】【make】没有安装好;如果命令执行后报错,可能是【pcre】【bzip2】【zlib】没有安装好。这里,你需要重复第一步“安装 Cygwin ”,再编译。


三、测试 lighttpd

  1、在 lighttpd 目录下创建 etc 和 html 目录,前者存放配置文件 lighttpd.conf,后者存放网站主页 index.html

    lighttpd.conf 内容如下:

    server.document-root = "C:/lighttpd-1.4.43/html" 

    server.port = 8080 

    mimetype.assign = ( 

      ".html" => "text/html", 

      ".txt" => "text/plain", 

      ".jpg" => "image/jpeg", 

      ".png" => "image/png" 

    )

    其中:第一行指定 lighttpd 提供的 WWW 服务主目录; 

       第二行指定 http 端口;

       第三行指定网站可浏览的文件类型。

  2、在 DOS 命令行下测试 lighttpd 安装是否成功?即测试前面第二步“配置、编译、安装”是否成功。

  (1)进入 dos 命令行

  (2)进入 lighttpd.exe 所有目录 C:\lighttpd-1.4.43\src\.libs

  (3)执行测试命令 lighttpd.exe -t -f "C:\lighttpd-1.4.43\etc\lighttpd.conf",直到 Syntax OK

    C:\lighttpd-1.4.43\src\.libs>lighttpd.exe -t -f "C:\lighttpd-1.4.43\etc\lighttpd.conf"

    Syntax OK

    其中:-t 指测试;

       -f 指配置文件所在位置;

  在测试过程中,lighttpd.exe 会提示缺失相应的支撑库文件,如 cygpcre-1.dll、cygwin1.dll 等,

    请到 Cygwin 安装目录 bin 找,并拷贝到 lighttpd.exe 所在目录。


四、运行 lighttpd

  1、依旧在 DOS 命令行,进入 lighttpd.exe 所有目录 C:\lighttpd-1.4.43\src\.libs

  2、执行运行命令 lighttpd.exe -D -f "C:\lighttpd-1.4.43\etc\lighttpd.conf" -m "C:\lighttpd-1.4.43\src\.libs"

    C:\lighttpd-1.4.43\src\.libs>lighttpd.exe -D -f "C:\lighttpd-1.4.43\etc\lighttpd.conf" -m "C:\lighttpd-1.4.43\src\.libs"

    其中:-D 指启动运行不退出;

       -m 指模块(库)所在目录;必须指定,否则报以下错误,且不能正常启动运行:

       dlopen() failed for: ..\libs/mod_indexfile.dll No such file or directory

  3、在目录 C:\lighttpd-1.4.43\html 里,建立测试网页 index.html,然后在浏览器浏览是否正确:

    http://localhost:8080/index.html


OK!祝大家顺利。




0 0