我使用Apache2作为Web服务器。 我想帮助他lighttpd作为静态内容的代理。 不幸的是我不能很好地设置lighttpd和apache2。 (操作系统:Debian)
lighttpd.config中的重要内容:
server.modules = ( "mod_access", "mod_alias", "mod_accesslog", "mod_proxy", "mod_status", ) server.document-root = "/www/" server.port = 82 server.bind = "localhost" $HTTP["remoteip"] =~ "127.0.0.1" { alias.url += ( "/doc/" => "/usr/share/doc/", "/images/" => "/usr/share/images/" ) $HTTP["url"] =~ "^/doc/|^/images/" { dir-listing.activate = "enable" } }
我只想在一个站点上使用lighttpd作为apache2上的虚拟目录。 这个虚拟目录的configuration:
ProxyRequests Off ProxyPreserveHost On ProxyPass /images http://0.0.0.0:82/ ProxyPass /imagehosting http://0.0.0.0:82/ ProxyPass /pictures http://0.0.0.0:82/ ProxyPassReverse / http://0.0.0.0:82/ ServerName MY_VALUES ServerAlias www.MY_VALUES UseCanonicalName Off DocumentRoot /www/MYAPP/forum <Directory "/www/MYAPP/forum"> DirectoryIndex index.htm index.php AllowOverride None
…
正如你所看到的(或不是;))我的服务实际上位于path:
/ www / myapp / forum
我想支持lighttpd处理文件夹:
/ www / myapp / forum / images / www / myapp / forum / imagehosting / www / myapp / forum / pictures
剩下的(PHP脚本)为Apache
运行lighttpd和apache2工作组后,却没有显示出这些位置的任何图像。 哪里不对?
恕我直言,你创build你的configuration错误的方式。 在你的configuration中,lighttpd是由Apache httpd代理的,因为你的目标是利用lighttpd的(据说是)更好的性能,所以没什么意义。
所以绑定Apache httpd到另一个端口和接口(例如127.0.0.1:8080 ),让lighttpd的mod_proxy做脏工作。
有关lighttpd的mod_proxy的configuration示例,请参阅http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModProxy 。
尝试在apache中更改这些行:
ProxyPass /images http://127.0.0.1:82/ ProxyPass /imagehosting http://127.0.0.1:82/ ProxyPass /pictures http://127.0.0.1:82/ ProxyPassReverse / http://127.0.0.1:82/
我不明白为什么你的lighttpd.config有:
server.document-root = "/www/"
难道不应该和Apache一样吗?
server.document-root = "/www/MYAPP/forum/"
还是我错过了什么?
另外,您可能还想删除images的alias.url条目,因为这也会破坏images 。