rootnik
11-01-2006, 12:49 PM
Lighttpd is a small web server that can serve static files faster than Apache. Some people are not comfortable, or just can't make a full switch to lighttpd. This tutorial will show you how to setup lighttpd to serve your images while allowing Apache to continue taking care of everything else.
I am not going to go into detail on why or how it can do this. Search google for lighttpd reviews and benchmarks for more information.
1. install lighttpd. Follow the guide here: http://trac.lighttpd.net/trac/wiki/TutorialInstallation
2. edit /etc/lighttpd/lighttpd.conf (you have moved this file here during installation, if you followed the guide linked above)
You want your lighttpd.conf to look something like this:
server.document-root = "/opt/httpd/htdocs/forums/images"
server.port = 2747
server.bind = "localhost"
mimetype.assign = (
".html" => "text/html",
".txt" => "text/plain",
".jpg" => "image/jpeg",
".png" => "image/png",
".gif" => "image/gif"
)
This is pretty straightforward.
Change server.document-root to the full path to your forum's images directory.
Change server.port to a non standard port. I used 2747 in the example above.
3. Open your apache config file (httpd.conf) and make sure the following modules are enabled:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
4. If you are NOT using virtual hosting, add this to the bottom of your httpd.conf:
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /forums/images http://localhost:2747/
ProxyPassReverse /forums/images http://localhost:2747/
If you ARE using virtual hosting, add the above to the <VirtualHost> tag that your forum site is in. This will either be in your httpd.conf, or a separate file such as httpd-vhosts.conf
And that is it!
Now, start light httpd with: /usr/local/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
And reload apache.
Note: It is important to make sure that lighttpd starts before apache does so mod_proxy can do it's work. If you start apache first, and then lighttpd, you will get 404 errors for your images.
I am not going to go into detail on why or how it can do this. Search google for lighttpd reviews and benchmarks for more information.
1. install lighttpd. Follow the guide here: http://trac.lighttpd.net/trac/wiki/TutorialInstallation
2. edit /etc/lighttpd/lighttpd.conf (you have moved this file here during installation, if you followed the guide linked above)
You want your lighttpd.conf to look something like this:
server.document-root = "/opt/httpd/htdocs/forums/images"
server.port = 2747
server.bind = "localhost"
mimetype.assign = (
".html" => "text/html",
".txt" => "text/plain",
".jpg" => "image/jpeg",
".png" => "image/png",
".gif" => "image/gif"
)
This is pretty straightforward.
Change server.document-root to the full path to your forum's images directory.
Change server.port to a non standard port. I used 2747 in the example above.
3. Open your apache config file (httpd.conf) and make sure the following modules are enabled:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
4. If you are NOT using virtual hosting, add this to the bottom of your httpd.conf:
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /forums/images http://localhost:2747/
ProxyPassReverse /forums/images http://localhost:2747/
If you ARE using virtual hosting, add the above to the <VirtualHost> tag that your forum site is in. This will either be in your httpd.conf, or a separate file such as httpd-vhosts.conf
And that is it!
Now, start light httpd with: /usr/local/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
And reload apache.
Note: It is important to make sure that lighttpd starts before apache does so mod_proxy can do it's work. If you start apache first, and then lighttpd, you will get 404 errors for your images.