Cassini 和 Apache 101






4.33/5 (5投票s)
2002 年 8 月 20 日
1分钟阅读

256223
本文档描述了如何在 Windows 上为 Apache 2.x 配置并运行 ASP.NET
引言
Cassini 是一个用 C# 编写的 Web 服务器,您可以在 http://www.asp.net/ 上找到更多信息。
以下步骤将使 Apache 能够运行 ASP.NET
- 下载并安装 Apache 2.x for Windows(请记住停止 IIS)
- 修改 http.conf 文件
# 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 LoadModule rewrite_module modules/mod_rewrite.so # ProxyPass /aspnet http://127.0.0.1:8080/ ProxyPassReverse /aspnet http://127.0.0.1:8080/
- 为您的 ASP.NET 文件创建一个不同的目录(不是 http.conf 中的 /aspnet 目录),并启动 Cassini
- 如果您使用的是包含在 WebMatrix 中的 Cassini 服务器
c:\path-to-cassini\webserver.exe /port:8080 /path:"c:\path-to-asp.net-sourcefiles"
- 或者,独立的 Cassini 服务器
c:\path-to-cassini\CassiniWebServer "c:\path-to-asp.net-sourcefiles" 8080
- 如果您使用的是包含在 WebMatrix 中的 Cassini 服务器
- 测试
- Cassini: https://:8080/test.aspx
- Apache: https:///aspnet/test.aspx
<!-- test.aspx --> <%@ Page Language="vb" %> <html> <body> <form runat="server"> <asp:Calendar runat="server" /> </form> </body> </html>
终极测试
如果一切正常,您可以继续进行“终极”测试,即在 Apache 上运行 ASP.NET Forums
- 手动安装 ASP.NET Forums(跳过第 7 步)
请参阅: http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=21470 - 添加到 http.conf(假设已完成上述修改)
#AspNetForums ProxyPass /AspNetForums http://127.0.0.1:8081/AspNetForums ProxyPassReverse /AspNetForums http://127.0.0.1:8081/AspNetForums #aspnet_client ProxyPass /aspnet_client http://127.0.0.1:8082/aspnet_client ProxyPassReverse /aspnet_client http://127.0.0.1:8082/aspnet_client
- 启动 2 个不同的 Cassini,分别监听 8081 和 8082 端口。
c:\path-to-cassini\webserver.exe /port:8081 /path:"c:\path-to-asp.net-forums" /vpath:"/AspNetForums"
c:\path-to-cassini\webserver.exe /port:8082 /path:"E:\Program Files\ASP.NET\Client Files" /vpath:"/aspnet_client"
这不是最快的解决方案,但一切都正常工作。我决定使用 Homer 运行 10 个线程,每个线程 5 个套接字,在一分钟内对其进行“压力测试”,结果如下
页面 | 命中次数 | TTFB* 平均值 | TTLB* 平均值 |
---|---|---|---|
/AspNetForums/Default.aspx | 286 | 1024.96 | 7458.23 |
*: TTFB = Time To First Byte(首次字节时间),TTLP = Time To Last Byte(最后字节时间)
请记住,此测试是在我的 Thinkpad T21 800Mhz/512 MB 上完成的,该笔记本电脑里塞满了垃圾。
现在我正在等待有人编写 mod_cassini