Ubuntu(Linux) + mono + xsp4 + nginx +asp.net MVC3 部署

折腾了一下,尝试用Linux,部署mvc3。

 

分别用过 centos 和 ubuntu ,用ubuntu是比较容易部署的。

 

操作步骤如下:

一、终端分别如下操作

sudo su  ->输入密码
apt-get install nginx 
apt-get install mono 
apt-get install mono-fastcgi-server4

 

安装过程中会出一些缺少包的问题。具体要看实际情况安装

对pcre g++ zlib 都有依赖

sudo apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev g++

二、nginx 配置

default

sudo vim /etc/nginx/sites-available/default

更改成

复制代码
server {
    listen   80;
    server_name localhost;
    root  /var/www/;

    location / {
      root /var/www/;
      index index.html index.htm index.aspx default.aspx;
      fastcgi_index /Site;
      fastcgi_pass 127.0.0.1:8000;
      include /etc/nginx/fastcgi_params;
    }
}
复制代码

启动路径改成 var/www,所以应该创建一个www的文件夹

sudo mkdir /var/www

建议更改一下权限吧,因为这个文件夹需要共享,进行远程部署

sudo chmod 777 /var/www
fastcgi_params
sudo vim /etc/nginx/fastcgi_params

最后插入以下两行

fastcgi_param  PATH_INFO          "";
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

三、启动服务

通过共享,部署mvc3站点到www上,再启动服务

sudo /etc/init.d/nginx start

sudo fastcgi-mono-server4 /applications=/:/var/www/ /socket=tcp:127.0.0.1:8000

 

按照以上操作,应该已经部署完成了。

但,还有一些部署问题,需要导入mvc的dll支持,导入到站点bin文件夹中

复制代码
System.Data.dll
System.Web.ApplicationServices.dll
System.Web.DynamicData.dll
System.Web.Helpers.dll
System.Web.Mvc.dll
System.Web.Routing.dll
System.Web.WebPages.Deployment.dll
System.Web.WebPages.dll
System.Web.WebPages.Razor.dll
复制代码

dll路径分别是

复制代码
C:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies

System.Web.Helpers.dll

System.Web.Razor.dll

System.Web.WebPages.dll

System.Web.WebPages.Razor.dll

System.Web.WebPages.Deployment.dll

Microsoft.Web.Infrastructure.dll

 

C:\Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies

System.Web.Mvc.dll 
复制代码

 

还有,数据库读取问题,使用的是mysql,需要导入

MySql.Data.dll

进入web.config,在<system.web>下插入

<globalization culture="en-us" enableClientBasedCulture="false"/>

 

好了一切完成。分享一下自己的部署经验,希望对大家有所帮助,祝你们部署一切顺利o(∩_∩)o 

 

 

by:五加乘

 

posted @   五加乘  阅读(3018)  评论(10编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示