zoukankan      html  css  js  c++  java
  • Ubuntu Server Nginx 下配置 mono 下运行 asp.net mvc

    OS: Ubuntu 9.10
    WebServer: Nginx 0.7.62 + mono-fastcgi-server2
    environment: movo 2.05 + asp.net 2.05 + asp.net mvc 1.0
    DbServer: MySql Server 5.1
    以下是步骤:
    1.安装Ubuntu 9.10(废话)
    2.安装Mono(由于Ubuntu 9.10已经内置了最新版的Mono,所以这一步省了)
    3.安装Nginx
    sudo apt-get install nginx
    4.安装fastcgi-mono-server
    sudo apt-get install mono-fastcgi-server2
    5.配置Nginx
    a.以root进入/etc/nginx
    b.用gedit打开nginx.conf
    c.在文件中的http节点最后添加:
    server {
    listen 80;
    server_name localhost;
    location ~ {
    root /ver/www; #网站的根目录
    index Default.aspx default.aspx index.aspx Index.aspx index.html index.htm default.htm;
    fastcgi_pass 127.0.0.1:9000; #fastcgi要监听的端口号,与后面mono-fastcgi-server2要监听的端口号要一至
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include /etc/nginx/fastcgi_params;
    }
    }
    d.到网站根目录,将/etc/nginx/sites-enabled下的default文件复制过去(其实是链接过去的)
    e.打开default文件(以root),在其中的server节点下添加以下内容(就是上面的location节点):
    location ~ {
    fastcgi_pass 127.0.0.1:9000; #fastcgi要监听的端口号,与后面mono-fastcgi-server2要监听的端口号要一至
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include /etc/nginx/fastcgi_params;
    }
    location / {
    root /ver/www; #网站的根目录
    index Default.aspx default.aspx index.aspx Index.aspx index.html index.htm default.htm;
    }
    f.打开/etc/nginx下的fastcgi_params文件,在最后加入以下内容(这个一定要加,不然mvc的路由功能就不起作用):
    fastcgi_param PATH_INFO "";
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    g.至此nginx就算配置完了.
    6.启动Server
    a.nginx
    sudo /etc/init.d/nginx start 或 restart
    b.mono-fastcgi-server2(很奇怪,安装的时候和用的时候的名字是相反的), 下面/socket是监听的端口, /address是本机IP, /application是站点相对路径和相对应的程序的
    sudo fastcgi-mono-server2 /socket=tcp:9000 /address=127.0.0.1 /applications=/:/var/www
    c.浏览器中输入http://localhost这时你程序程应该就能跑起来了.
    7.配置web.conf以使用MySql作为数据库
    a.打开web.config
    b.在前加入以下内容:
    <system.data>
    <DbProviderFactories>
    <clear />
    <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
    </DbProviderFactories>
    </system.data>
    c.这样你就可以在asp.net中使用MySql作为数据库了,MySql.Data.dll可以到MySql网站中下载,这里就不细说了.
    8.如果你使用MySql中的MermberShip Provider作为你站点的用户管理, 那你的程序可能还不能正常去行, 因为Mono现在还不提供Hased的密码加密方式,所以你需要用到encrypted.
    a.将web.config中的memberShip > providers > add节点中的passwordFormat的值改为encrypted
    b.在&ltsystem.web>节点下加入以下内容, 其中的键值你也可以用别的:
    <machineKey validationKey="B6AF9388159183B6A8EE690C851398A11997C519F859599459E30121EF4DF8BF2B1666B
    C82BB6FEB2FEF279BEB325E897AED6EA5B71C55D213B76510EF96CAA8" decryptionKey="3C5EF273A20ED2473594C9691627700A79376A7C1455320A" validation="SHA1" />
    c.这样你的程序就可以使用MySql的MemberShipProvider了.
  • 相关阅读:
    Android实现简单的检测手机自由落体关闭屏幕
    Android Disable Package/Component 跳过app安装
    求单向链表中倒数第k个节点(c++):快慢指针/递归
    算法学习笔记---链表与数组
    pycharm使用matplotlib绘图学习笔记
    pycharm使用matplotlib绘制图像报错
    python numpy学习笔记
    python刷leetcode算法-- 左旋转字符串
    机器学习算法扫盲篇
    Kaggle入门篇
  • 原文地址:https://www.cnblogs.com/top5/p/1962510.html
Copyright © 2011-2022 走看看