利用mono实现ASP.NET跨平台和nginx负载均衡

2022年09月27日21:30:23 热门 1415

写代码也要读书,爱全栈,更爱生活。每日更新原创IT编程技术及日常实用技术文章。

我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下。

更多原创教程,请点击上方关注或微信公众平台:做全栈攻城狮。

技术交流群:高手群:538742639新手群: 572577013

本文章由做全栈攻城狮,原创首发,如有转载,请声明出处。

WX:aiquanzhan

作为.net程序员大部分接触的是windows服务器。因为作为微软原生的操作系统对.net的支持性是最好的。

有时,我们也会把Asp,Net项目移植到linx平台,那应该如何在其他操作系统中使用ASP.NET呢?mono或许是不错的选择。Mono是一个致力于在linux上搭建.net环境的开源项目。当然发展,Mono支持的操作系统有:windos、linux、mac os。可谓几乎包含所有系列系统。同时这也是主流的一项选择,所以你可以大胆使用Mono实现.net的跨平台。

同时,对于高并发的访问请求,一台服务器难以维持正常的开销,可以增加一台服务器来分担请求。nginx是目前主流的负载均衡服务器。因为Nginx采用C进行编写,系统开销小。所以不必考虑nginx另外的开销。架构框图如图:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻1.用户使用浏览器访问网站,请求到Nginx服务器。

2.Nginx服务器获取到请求,根据内部算法分配最优线路(其实就是找一个不忙的服务器),然后代理到Web服务器。

我们将通过两个实例配置,完成Nginx+Mono和Nginx+IIS的两种负载均衡策略。如图:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻

下面的以windows系统为例进行安装。windows版本作为移植版本,相较于linux来说稍有欠缺。

一、Nginx安装

下载地址:http://nginx.org/。

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻
利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻下载下来就好了。一个压缩包

解压压缩包到硬盘,一般解压到非系统盘。我这边解压到D:\nginx。如图:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻进行Nginx服务器的配置。用记事本打开conf目录下的nginx.conf。

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻配置并启用:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻自己可以根据自己的需求更改检测端口,我这里更改为8081.返回上层目录:用命令行打开,执行如下语句:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻命令:

start nginx

然后访问。127.0.0.1:端口号。例如我的是:127.0.0.1:8081.

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻如图,则代表nginx开启成功。

二、Mono安装:

下载地址:http://www.mono-project.com/download/

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻按照操作系统进行选择下载就可以了。

直接双击exe安装包:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻

全选所有:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻写个端口,一定要记住这个端口,下面会用到:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻Mono其实就是相当于一个Web服务器。下面我们把Nginx转发到Mono下交由mono进行处理。

三、Nginx+Mono配置

首先建立一个aspx页面:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻代码如上。

打开Nginx配置。配置为转发到mono执行:在server中location下面添加:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻
利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻
利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻详细代码:

location ~.*\.aspx$ {

rootaspx;

fastcgi_pass 127.0.0.1:8080;

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

include fastcgi_params;

}

配置完毕保存,关闭nginx然后开启:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻关强制闭命令:

taskkill /F /IM nginx.exe > nul

进入Mono执行命令,启动mono:

打开开始菜单,找到其中command软件:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻执行命令开启:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻命令:

fastcgi-mono-server4 /socket=tcp:127.0.0.1:8080 /root="D:\nginx\aspx" /applications=/:. /multiplex=True /port=8081

其中socket表示mono的端口,port表示Nginx端口。

此时访问:页面如图所示,则表示配置成功。

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻

Nginx+Mono配置完成
四、Nginx+IIS

作为Asp.Net程序员还是IIS比较熟悉,下面一个实例来简单配置到IIS中。继续打开Nginx配置:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻记得注释上方的location。当然mono的配置当然是没有的哈。

此时我们关闭并重新开启Nginx服务。

打开Nginx地址如图:

利用mono实现ASP.NET跨平台和nginx负载均衡 - 天天要闻则Nginx+IIS配置成功。

热门分类资讯推荐

曾小贤的上司Lisa榕,现实中不仅才貌双全,还嫁给了CEO - 天天要闻

曾小贤的上司Lisa榕,现实中不仅才貌双全,还嫁给了CEO

曾小贤的上司Lisa榕,现实中不仅才貌双全,还嫁给了CEO虽然说《爱情公寓》这部剧在剧情上充满了争议,但是一定程度上,这部剧也是很多人的回忆,是伴随了一代人的青春回忆,而且剧中的很多角色都成为了经典,他们的口头禅也一直被拿来玩儿梗。
Lisa榕做主持多年没红,被陈赫拉进爱情公寓爆红,如今怎样了 - 天天要闻

Lisa榕做主持多年没红,被陈赫拉进爱情公寓爆红,如今怎样了

谈到《爱情公寓》这部火爆一时的欢乐喜剧,大家肯定都不陌生。不知道大家是否还记得《爱情公寓》中那个把曾小贤治得服服帖帖的女上司Lisa榕,现实中的她名叫榕榕,和剧中的形象也判若两人。1981年出生在辽宁沈阳的榕榕,毕业于上海戏剧学院,后来成为了上海东方传媒集团有限公司的一名主持人。