在 Mac OS X 上安装lighttpd
Install lighttpd in Mac OS X
2014-10-22更新: 加入更新到 Yosemite 后出现错误的解决方法。
在Windows上,我使用的是XAMPP套件。
Mac上我还没有安装HTTP服务器。我的VPS上使用的是lighttpd(从Apache到Lighttpd),因此在工作电脑上也希望使用它。
安装
1-> % brew search lighttpd
2lighttpd
3-> % brew install lighttpd
安装过程中,有几个重点需要提醒:
1. 下载失败
lighttpd 的源托管在 github 上,github 在国内访问并不稳定,多试几次或者拨vpn;
2. 安装后无法链接文档
安装成功后提示无法链接 man
文档,并要求重新执行 brew link lighttpd
。
这可能是由于你安装 homebrew
的时候,并没有使用 root
权限。执行下面的命令把你的 brew
的 owner
改为 root
。
1sudo chown root $(which brew)
配置
配置文件默认在这个路径: /usr/local/etc/lighttpd/lighttpd.conf
。
document root 默认在这里: /usr/local/var/www/htdocs
。
默认端口是 8080 ,如果希望使用 80 端口,则需要用 sudo 启动 lighttpd。
为了本地调试方便,我会在配置文件中加上这两个属性:
1# 允许跟踪符号链接
2server.follow-symlink= "enable"
3# 目录中没有index文件时直接显示目录内容
4server.dir-listing = "enable"
启动和重新启动
lighttd安装后是不会自动启动的,但Mac又没有类似CenOS的 service start lighttpd
这种用法。
我们可以使用这条命令来简单测试:
1lighttpd -Df /usr/local/etc/lighttpd/lighttpd.conf
2014-10-22更新: 将系统升级到 Yosemite 之后,启动碰到这样的错误提示:
2014-10-22 18:51:43: (server.c.693) opening pid-file failed: /usr/local/var/lighttpd//lighttpd.pid No such file or directory
创建这个目录即可:
1mkdir -p /usr/local/var/lighttpd
当然最好还是使用 Mac 提供的工具 launchctl
来启动:
1ln -sfv /usr/local/opt/lighttpd/*.plist ~/Library/LaunchAgents
2launchctl load ~/Library/LaunchAgents/homebrew.mxcl.lighttpd.plist
launchctl
是一个与 crontab
类似的工具,它使用 plist 作为配置文件。详细介绍可以看这里:launchctl 和 launchd 。
有时候我们修改了conf之后,需要重启lighttpd使其生效,为了避免大量输入,我写了一个 restarthttpd
脚本放在bin中,内容如下:
1launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.lighttpd.plist
2launchctl load ~/Library/LaunchAgents/homebrew.mxcl.lighttpd.plist
然后可以测试一下:
1ln -s ~/docs /usr/local/var/www/htdocs/docs
2# 访问 http://localhost:8080/docs 试试看?
没效果?
- 检查配置文件是否出错:
lighttpd -tf /usr/local/etc/lighttpd/lighttpd.conf
; - 是否配置了80端口但没有使用root用户运行?
- 是否没有启动 lighttpd ?
- 文章ID:2127
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/install-lighttpd-in-mac-os-x/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。