Я использую apache2 в качестве веб-сервера. Я хотел бы помочь ему 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. Конфигурация этого виртуального каталога:
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
...
Как видите (или нет;)) моя служба физически находится на пути:
/ www / myapp / forum
и я хотел бы поддержать lighttpd, работающий с папками:
/ www / myapp / forum / images
/ www / myapp / forum / imagehosting
/ www / myapp / forum / pictures
а остальное (скрипты PHP) оставил для apache
После запуска lighttpd и apache2 рабочая группа, но не показала никаких изображений этих мест. Что случилось?
ИМХО вы неправильно создали свою конфигурацию. В вашей конфигурации lighttpd проксируется Apache httpd, что не имеет особого смысла, поскольку вашей целью было использование (предположительно) лучшей производительности lighttpd.
Поэтому привяжите Apache httpd к другому порту и интерфейсу (например, 127.0.0.1:8080
) и пусть mod_proxy lighttpd сделает всю грязную работу.
Видеть http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModProxy примеры настройки mod_proxy для lighttpd.
Я не понимаю, почему ты lighttpd.config
имеет:
server.document-root = "/www/"
Разве это не должно быть то же самое, что и Apache?
server.document-root = "/www/MYAPP/forum/"
Или я что-то упускаю?
Также вы, вероятно, захотите удалить alias.url
запись для images
, так как это тоже сломает вещи.
Попробуйте изменить эти строки в 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/