概述:
it星球论坛本文详细描述在美国linux vps配置nginx使用fastcgi反向代理mono,使得linux可以支持asp.net环境,但是需要说明,真正如果网站都是asp.net语言开发的,还是建议使用美国windows VPS配置IIS。 it星球论坛 mono介绍:Mono是一个有Novell公司(先前是Ximian)主持的项目。该项目的目标是创建一系列符合标准 ECMA(Ecma-334和Ecma-335)的NET工具,包括C#编译器和共同语言(CL 即Common Language)执行平台(Platform)。与微软的.NAT不同,Mono项目不仅运行于Windows系统内,还可以运行于Linux、 FreeBSD、Unix、Mac OS X和Solaris操作系统内,不过,部分windows上的asp.net程序移植到Linux+Mono平台时需要做一些移植、修改。 Mono的安装在CentOS 5 linux(注:目前只兼容32位系统)上,安装下面步骤安装mono。
it星球论坛 yum groupinstall "Development Tools" |
yum install httpd build-essential gcc bzip bison pkgconfig glib-devel glib2-devel httpd-devel libpng-devel libX11-devel freetype fontconfig pango-devel ruby ruby-rdoc gtkhtml38-devel wget |
tar jxvf mono-2.6.1.tar.bz2 |
./configure --prefix=/usr |
从SVN版本库安装fastcgi-mono-server,按下面代码操作 export PKG_CONFIG_PATH=/usr/lib/pkgconfig/:/usr/lib/ |
以FastCGI方式启动fastcgi-mono-server2,监听本机的9001端口,网页根目录为/usr/share/nginx/html: nohup /bin/sh /usr/local/bin/fastcgi-mono-server2 /socket=tcp:9001 /root=/usr/share/nginx/html 2>&1 > /dev/null & |
Nginx与ASP.NET(FastCGI+Mono)的配置nginx.conf配置文件如下: view sourceprint?
error_log /var/log/nginx/error.log crit; |
pid /var/run/nginx/nginx.pid; |
worker_connections 51200; |
default_type application/octet-stream; |
gzip_types text/plain text/css text/xml application/x-javascript application/atom+xml application/rss+xml; |
server_name_in_redirect off; |
server_names_hash_bucket_size 128; |
client_header_buffer_size 128k; |
large_client_header_buffers 4 128k; |
fastcgi_connect_timeout 300; |
fastcgi_send_timeout 300; |
fastcgi_read_timeout 300; |
fastcgi_busy_buffers_size 128k; |
fastcgi_temp_file_write_size 128k; |
include /etc/nginx/conf.d/*.conf; |
新建一个虚拟主机配置文件
vi /etc/nginx/conf.d/apsnettest.conf |
内容如下:
server_name apsnettest.15099.net; |
index index.html index.htm index.aspx default.aspx; |
root /usr/share/nginx/html; |
location ~ \.(aspx|asmx|ashx|asax|ascx|soap|rem|axd|cs|config|dll)?$ { |
fastcgi_pass 127.0.0.1:9001; |
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; |
fastcgi_cache_valid 200 10m; |
fastcgi_cache_valid 301 302 1h; |
fastcgi_cache_valid any 1m; |
fastcgi_cache_key 127.0.0.1:9000$request_uri; |
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ |
location ~ .*\.(js|css)?$ |
在 上面虚拟主机配置文件中,静态HTML网页、图片、JS、CSS、Flash等使用Nginx来处理,以便得到更快的速度,文件扩展名为:.aspx .asmx .ashx .asax .ascx .soap .rem .axd .cs .config .dll的请求,由Nginx交给fastcgi-mono-server2进程处理。
启动Nginx: view sourceprint?
/usr/sbin/nginx -c /etc/nginx/nginx.conf |
启动Nginx,在/usr/share/nginx/html目录下下载info.apsx的ASP.NET探针文件,以检查ASP.NET程序能否正常运行:
unzip aspnetsysinfo-revision_23.zip |
通过游览器访问http://域名/info.aspx 信息来自—http://www.gaorank.com/2011/03/l ... -asp-net-access.htm
源文地址 it星球论坛:http://kangxiaowei.com/archives/6128.htmll
|