概述:
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
|