In high-load website practice, separating static content from dynamic content is a common practice. In Linux, the commonly used framework is Lighttpd + Apache + memcached + squid.
Here, we have Apache listen to 80 as the main site; Lighttpd listen to 81 to process static images. Apache uses rewirte to submit static content to Lighttpd for processing. Of course, Lighttpd can also be used as the front-end, but Lighttpd is not stable enough to process PHP.
In other parts, memcached is responsible for processing the cache and squid as the reverse proxy of the cluster to reduce the load.
All of the above are based on Linux, but is there any win-based solution? There are some, but they have not yet taken shape. Therefore, I would like to appeal to the bloggers in the blog Park to encourage the open-source community under Win not only to create blog or website posts, but also to take a high-end route, why can't we create a win Lighttpd?
I have confidence in my brother at the blog Park.
Refer:
Example 1: http://www.linuxsir.org/bbs/thread297101.html (where attachment download)
Example 2: http://www.codeproject.com/KB/IP/high-performance-server.aspx
Example 3: http://www.codeproject.com/KB/IP/w3mfc.aspx
--------------------------------- 2009.04.14 Train of Thought ------------------------
My idea is:
1. Use iocp to build a defective HTTP service
2. This service only processes static content and supports setting the expiration time of the file server.
3. Anti-leech Protection
4. No additional content except the above description is supported
In this way, the throughput for accessing static files is greatly improved, and dynamic content is handed over to IIS for processing, which also reduces the pressure on IIS.