asp.net core|asp.net网站在 Ngnix 服务器 中配置教程

2009-07-09 ASP.NET 阅读:

Ngnix 是一个高性能的 Web 服务器 和 反向代理服务器,也可以作为负载均衡服务器;功能如此强大,性能非常优秀,天生就是天之骄子,一经出世就走上神坛,开始了一段叱咤风云的不归路。

一直在微软的阵营里面混,时间久了难免有种被束缚的感觉,就像一个人被长期封闭在市区,时间长了免不了想到郊区透透气;以前都在用IIS 作为 Intenet服务器,正所谓近水楼台先得月,正如比较流行的 LAMP ,我们的组合拳就是 WIMA(Windows + IIS +MS SQL+ ASP.NET),当然IIS 比较强大,很多附属的功能都被添加进去,以至于性能大打折扣,而 Ngnix 呢? 比较轻量级,船小好调头,相比IIS更加敏捷;现在不都推崇敏捷开发,我也是敏捷的一份子。

能使用Ngnix还得感谢Mono计划,把好多linux上面的好东东,都迁移到windows中来,吃水不忘打井人嘛,要想在Ngnix上运行asp.net,首先必须下载以下几个东东:

  1. Ngnix for window 版本

  2. FastCGI-Mono-Server

如果想在Ngnix 上运行asp.net,就必须要依靠FastCGI。

1. Ngnix的安装

Ngnix的版本有安装版和绿色版两种,Ngnix安装完以后,找到conf 目录下的 nginx.conf ,它是Ngnix 的配置文件,以下是该文件的关键部分:

location / {

root aspx;                 

index Default.aspx;
}

其中 root 是需要运行网站的目录,可以用相对路径也可以用绝对路径,

例如上面是用的相对路径,相对路径是相对与Ngnix.exe而言的,也可以直接写 c:\aspx

index 是要运行网站的起始页,IIS 的启用默认文档。 

location ~ \.aspx$ {

root aspx;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index Default.aspx;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

include fastcgi_params;

}

root 如上所述也是运行的网站的目录,

fastcgi_pass 就是运行FastCGI-Mono-Server的服务器地址

fastcgi_index 是运行的 FastCGI-Mono-Server的起始页,下面的两个参数是fastcgi的相关参数等。

到目前为止,Ngnix 服务器的安装和配置已经完成了,万里长征总算走完了第一步。

2. FastCGI-Mono-Server 的安装

下载完以后包括两个两个版本:fastcgi-mono-server2 和 fastcgi-mono-server4

fastcgi-mono-server2 用来运行 .net 2.0;fastcgi-mono-server4 用来运行.net 4.0。

如果要运行asp.net 网站,需要执行以下命令:

D:\FastCGI-Mono-Server\fastcgi-mono-server2 /socket=tcp:127.0.0.1:9000 /root="D:\Program

Files\nginx\aspx" /applications=/:. /multiplex=True 

tcp:127.0.0.1:9000  就是Ngnix 配置文件中的 fastcgi 的服务器;root 是要运行的网站的目录;applications是网站的域名,如果没有域名,只想通过ip访问的话可以为空不填写。可以把上面要运行的命令做成一个bat批处理文件,这样以后运行的话可以直接双击运行即可。

3.注意事项

需要把 Mono.WebServer2.dll,Mono.Security.dll,Mono.Posix.dll ,fastcgi-mono-server2.exe

放到要运行网站的bin路径下,当然也可以用gacutil.exe 命令 把 上面文件加载到 全局程序集缓存中。

在后台必须一直运行着下面窗口

先运行 fastcgi 服务器,再运行 Ngnix 服务器,最后输入 http://localhost 就可以看到效果了。

网站效果:

asp.net core|asp.net网站在 Ngnix 服务器 中配置教程

http://m.quanqiunao.cn/bianchengkaifa/13316/

推荐访问:

ASP.NET推荐文章

推荐内容

上一篇:asp.net core|ASP.NET中不用try/catch进行正常处理异常总结 下一篇:[iis配置]IIS 6.0优化与asp.net的web.config配置优化