实现在Windows下安装Lighttpd
逛javaeye时,看到大牛们推荐使用lighttpd Web服务器,如是下载下来安装尝试了一把。
大致经历一下几个步骤:
1、windows系统下需要cygwin 环境的支持,如是先下载安装cygwin。
2、下载lighttpd源代码并解压(from http://trac.lighttpd.net/)
3、在cygwin 环境下进入lighttpd的下载后保存的目录,依次执行以下命令:
1> ./configure –prefix=C:/lighthttd
2> make
3> make install
如无报错,则安装成功。
4、在C:/lighthttd下建一个目录etc 用于存放配置文件,新建一个配置文件lighttpd.conf,示例配置如下:
server.document-root = "D:/Itang_home/MyPics/100CANON"
server.port = 8080
mimetype.assign = (
".html" => "text/html",
".txt" => "text/plain",
".jpg" => "image/jpeg",
".png" => "image/png"
)
5、windows命令行环境下进入C:/lighthttd/sbin目录,运行 lighttpd -t -f ../etc/lighttpd.conf 测试是否安装配置成功。 -----我的版本是 lighttpd 是在根目录下的C:/AppServ/LightTPD
此时会提示cygwin1.dll 等lighttpd 运行时依赖cygwin 的DLL不存在,那么需要到cygwin 的bin目录找到相应的dll拷贝到C:/lighthttd/sbin目录下,再运行 lighttpd -t -f ../etc/lighttpd.conf 直到出现提示 "Syntax OK" ,则表示安装配置成功。
6、运行lighttpd -D -f ../etc/lighttpd.conf启动Web服务器。
-----我的版本是 这句报“dlopen() failed for: /usr/local/lib/mod_indexfile.dll No such file or directory”错误
-----解决方法:lighttpd -D -f etc/lighttpd-inc.conf -m lib
-----运行:lighttpd -h 看到了帮助信息。原来-m选项是用来调整module的目录位置的。
7、浏览器里访问http://localhost:8080/IMG_0047.JPG,显示图片,大功告成。
在进程管理器查看启动后内存仅仅占用4M,挺精巧的。访问速度也挺快。以后多看看官方文档,结合实际应用多折腾一下它。如有可能将其应用到实际项目中去。
注:示例只是配置了对静态资源的访问。后续如何相关应用(比如结合tomcat,ruby等) 则需要看官方文档(http://trac.lighttpd.net/trac/wiki/)。
==========================================================
Windows下安装lighttpd 2008-04-18 20:37
操作环境:Windows Server 2003 我下载到的版本是:lighttpd-1.4.18.tar.gz 02、解压到:C:/lighttpd-1.4.18 (文件都放到C盘下面是个很不好的习惯) 03、选择开始—所有程序—Cygwin—Cygwin Bash Shell 04、输入“cd c:”,然后回车,来到C盘下。 输入“ls”可以看到C盘下有哪些文件和目录。 (输入“ls”等同于“dir”) 05、接着输入“cd lighttpd-1.4.18”,然后回车, 来到lighttpad的安装文件目录。 06、输入:“./configure -prefix=C:/lighttpd 很慢,然后返回错误:no acceptable C ompiler found in $PATH 07、找到原因了!先在Windows的环境变量的PATH中添加“C:/cygwin/bin” 方法:我的电脑—右键—属性—高级—环境变量—PATH 08、又失败了~~ 09、又找到原因了!! 需要下载gcc的开发包(package)。 重新下载Cygwin,在“Select Packages”(选择包)的页面中, 点击“Devel”(开发)前面的加号,出来一个列表, 然后选择:binutils、gcc(会自动选择相应的包)、gcc-mingw、 然后重新安装:选择“Devel”下面的所有项。 10、然后点击桌面的“Cygwin”进入。 输入“gcc --version”, 我能看到一堆文字“... 3.4.4 ...”等等。你能看到吗? 11、好了,重新进入lighttpd解压缩文件后的目录, “cd C:/lighttpd-1.4.18”,之后回车 12、输入命令:“./configure --prefix=C:/lighttpd” 很长时间~~~ 然后,看到错误:pcre-devel not found 13、重复第09步,选择“Devel”下面的“pcre-devel”。 14、重复第11、12步,然后出现错误 “zlib-headers and/or libs where not found”, 然后安装“Libs”下面的“zlib-headers”。 15、重复第11、12步,然后出现错误 “bzip2-hearders and/or libs where not found”, 然后安装“Utils”下面的“bzip2”(1.0.5.1)。 请同时安装“Mingw”下面的全部。 16、重复第11、12步。 成功了,看见“Plugins ... Features ...” 17、输入“make”之后回车。 看见“make: command not found” 回到Cygwin下面安装“Devel”下面的“make”。 18、安装之后重复第17步。 屏幕出现一堆文字…… 好长时间之后,出现“错误1 ... 错误2 ...”。 两个错误都是“Leaving directory...”类型的错误。 19、可耻的失败了~~~ 20、怀疑是目录的错误。 于是尝试:“./configure”,这个应该是安装到默认目录,是不是? 然后再“make”。 21、失败。 22、...... 23、重新去下载lighttpd的windows版本。 网址是:http://en.wlmp-project.net/downloads.php?cat=lighty。 24、我下载了zip版本,文件名是:LightTPD-1.4.19-1-Win32-SSL.zip。 25、解压缩,在命令行下运行lightTPD.exe。 报错:No configuration available. 26、创建lighttpd.conf。 内容如下: server.document-root = "F:/Misc/pycode/lighttpd/LightTPD" server.port = 8080 mimetype.assign = ( ".html" => "text/html", ".txt" => "text/plain" ) 27、然后运行:lighttpd.exe -f lighttpd.conf 报错:dlopen() failed for: /usr/local/lib/mod_indexfile.dll No such ifle or directory 28、...... 29、重新从:http://en.wlmp-project.net/downloads.php?cat=lighty 下载exe版本,文件名是:LightTPD-1.4.19-1-Win32-SSL.exe 30、直接双击安装,安装目录为:C:/Program Files/LightTPD 安装结束后直接打开文件夹。 31、其实和zip版本的是一样的。 32、...... 33、重新回到zip版本。 34、运行:lighttpd.exe -f conf/lighttpd-inco.conf 得到和27一样的错误。 35、运行:TestMode.bat 在浏览器中输入:http://127.0.0.1/ 可以看到成功的测试页面。 36、我找到了mode_indexfile.dll文件,就在lib目录下面。 37、我试着把文件夹整个复制到C:/LightTPD下面,但是还是不行。 38、我怀疑是打包exe的人就是把目录设置为/usr/local了,所以……就只能这样了。 39、运行:lighttpd -h 看到了帮助信息。 原来如此呀!!! 40、-m选项是用来调整module的目录位置的。 41、于是输入:lighttpd -f conf/lighttpd-inc.conf -m lib 服务器启动。 访问:http://127.0.0.1/ 得到“404 - Not Found”的错误。 42、用Ctrl+Break可以终止服务器的运行。 (用Ctrl+C好像有点问题) 43、至此,算是安装完毕了。 |
===================================================
WLMP[windows+lighttpd+mysql+php(fastcgi)]环境的搭建 2009-04-08
PHP不是我的最爱,但java更累,ruby、python优美是很优美,但目前来说不好找工作,PHP简单,而且PHP+Flex做出来的东西真的很Cool,所以决定以后主攻PHP+Flex。
下面说下WLMP[windows+lighttpd+mysql+php(fastcgi)]环境的搭建,新手就来看下,高手就让路吧。为什么不是LAMP呢,因为只有一台电脑,有很多毕业论文的东西要在Windows上做,而且Linux和Windows切换来切换去有点麻烦,所以只好放弃在Ubuntu上搭建了;Apache大家都听多了,网上搭建的教程也多,腻了,听说lighttpd占内存少,性能高,所以换lighttpd来玩下,也很喜欢lighttpd的Logo(纸飞机)。
windows: xp sp3
lighttpd: LightTPD-1.4.22-1-Win32-SSL.exe
下载地址:http://en.wlmp-project.net/downloads.php?cat=lighty
mysql: mysql-5.0.77-win32.zip
下载地址: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.77-win32.zip/from/pick
php: php-5.2.9-1-Win32.zip
下载地址: http://www.php.net/downloads.php
phpMyAdmin: phpMyAdmin-3.1.3.1-all-languages.zip
下载地址: http://www.phpmyadmin.net/home_page/downloads.php
我在E盘建了个wlmp的文件夹,把lighttpd安装在这里,安装过程我就不说了,大家都会,安装好之后是E:/wlmp/LightTPD,然后安装MySQL,这个大家都会装了吧,安装好了是E:/wlmp/MySQL Server 5.0,再安装php,只要把php解压到指定目录就可以了,安装好之后是E:/wlmp/php,还要把php的目录E:/wlmp/php加到环境变量里,最后再在E:/wlmp里建个www的文件夹,把phpMyAdmin解压到里面,安装好之后是E:/wlmp/www/phpmyadmin。
好了,都安装完毕之后就是配置问题了,这个是重点。
首先配置lighttpd,参照http://redmine.lighttpd.net/wiki/lighttpd/TutorialLighttpdAndPHP
配置在E:/wlmp/LightTPD/conf下的lighttpd-inc.conf文件, 找到server.document-root这行,
改成server.document-root = "E:/wlmp/www/"
再找到server.upload-dirs 改成 server.upload-dirs = ( "E:/wlmp/LightTPD/tmp" )
再找到fastcgi.server,改成 fastcgi.server = ( ".php" =>
( "localhost" =>
(
"host" => "127.0.0.1",
"port" => 521
# "socket" => "TMP/php-fastcgi.socket",
# "bin-path" => "PHP/php-cgi.exe"
)
)
)
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"host" => "127.0.0.1",
"port" => 521
# "socket" => "TMP/php-fastcgi.socket",
# "bin-path" => "PHP/php-cgi.exe"
)
)
)
下面再修改lighttpd-srv.conf,找到server.errorlog和accesslog.filename,改成
#定义lighttpd所在目录
var.root = "E:/wlmp/LightTPD"
## where to send error-messages to
server.errorlog = var.root + "/logs/lighttpd-srv.error.log"
#### accesslog module
accesslog.filename = var.root + "/logs/lighttpd-srv.access.log"
#定义lighttpd所在目录
var.root = "E:/wlmp/LightTPD"
## where to send error-messages to
server.errorlog = var.root + "/logs/lighttpd-srv.error.log"
#### accesslog module
accesslog.filename = var.root + "/logs/lighttpd-srv.access.log"
这样lighttpd的简单配置就完成了,下面再弄两个批处理,启动php-cgi、lighttpd和关闭php-cgi、lighttpd,之前要下
一个RunHiddenConsole.exe,这个是用来隐藏黑乎乎的控制台(cmd)的,解压放到E:/wlmp/LightTPD下即可。
下载地址: http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip
Start-LightTPD.bat
@ECHO OFF
ECHO Starting PHP FastCGI...
RunHiddenConsole.exe ../PHP/php-cgi.exe -b 127.0.0.1:521
ECHO Starting LightTPD...
ECHO.
lighttpd.exe -v
ECHO.
lighttpd.exe -f conf/lighttpd-srv.conf -m lib
PAUSE
@ECHO OFF
ECHO Starting PHP FastCGI...
RunHiddenConsole.exe ../PHP/php-cgi.exe -b 127.0.0.1:521
ECHO Starting LightTPD...
ECHO.
lighttpd.exe -v
ECHO.
lighttpd.exe -f conf/lighttpd-srv.conf -m lib
PAUSE
Stop-LightTPD.bat
@ECHO OFF
ECHO Stopping LightTPD...
bin/process.exe -k lighttpd.exe >nul
ECHO Stopping PHP FastCGI...
bin/process.exe -k php-cgi.exe >nul
ECHO.
PAUSE
@ECHO OFF
ECHO Stopping LightTPD...
bin/process.exe -k lighttpd.exe >nul
ECHO Stopping PHP FastCGI...
bin/process.exe -k php-cgi.exe >nul
ECHO.
PAUSE
下面来测试下,写个info.php丢到E:/wlmp/www下,
phpinfo();
双击Start-LightTPD.bat,启动php-cgi、lighttpd,然后在浏览器里输入地址http://127.0.0.1/info.php,看看是否成功。
然后再配置php,在php的目录下找到php.ini-recommended,复制一份把名改为php.ini,
找到extension_dir改为extension_dir = "E:/wlmp/php/ext",
找到Windows Extensions,把自己需要的dll前面的“;”去掉,例如我的是extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_pdo.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_pdo.dll
这样就OK了。
写blog有点累呀!
最后配置phpmyadmin,在phpmyadmin目录下找到config.sample.inc.php,复制一份改名为config.inc.php,
找到$cfg['blowfish_secret'],改为$cfg['blowfish_secret'] = 'www';这里要说明的是config.inc.php中默认的是$cfg['Servers'][$i]['auth_type'] = 'cookie',就是说用到cookie,那$cfg['blowfish_secret']= ''得填点东西,这里我随便填了'www'。
最最后就是测试了,上面已经启动了php-cgi、lighttpd,这里再启动mysql,在开始->运行->输入net start mysql,然后在浏览器里直接输入http://127.0.0.1/phpmyadmin/就可以了,输入mysql的账号和密码就OK。
=========================================================
Lighttpd php fastcgi Windows 安装
其实安装Lighttpd不需要什么别的软件,去https://www.kevinworthington.com/?s=lighttpd下载编译好的win32版就好了(本人用的是zip包,exe版类似)。
1.解压到任何目录(最好是英文目录,其他语言的没试过),如d:/inetpub/LightTPD;我的系统环境:Vista32 中文版,PHP5.2.3和5.2.4,mysql 5.0.45;
以下的conf、bat和RunHiddenConsole.exe可以在这里下载:http://www.box.net/shared/vfvqyjhday
2.打开conf文件夹,将lighttpd-inc.conf备份;
3.修改这个配置文件,我的配置如下(精简过的)#后面的是注释,详细注释前往官方文档http://trac.lighttpd.net/trac/wiki/Docs及本论坛的好帖http://www.lighttpd.net.cn/showthread.php?t=11217:

























































































4.写运行Lighttpd的批处理文件放在lighttpd的根目录下:
运行CGI php:
start_lighttpd - cgi.bat










运行fastcgi php:
a.先确保在conf中使用mod_fastcgi,和配置了fastcgi.server;
b.start_lighttpd - fastcgi.bat,RunHiddenConsole.exe 在官方网站有下(也可以不使用,不过回留下一个cmd的窗口)










关闭Lighttpd:
stop_lighttpd - cgi.bat




stop_lighttpd_fastcgi.bat







重启Lighttpd:
restart_lighttpd.bat



5.也可以去bin目录把lighttpd配置成windows的系统服务。
备注:
运行fastcgi模式的时候,可以把批处理改成这样,没有CMD窗口。
这个编译过的lighttpd的配置文件被改成lighttpd-inc.conf了。所以下面要改一下。









