上一篇(windows下nginx+mono+fastCGI部署asp.net网站)参考了诸多前辈终于在windows下部署成功,唯一点遗憾就是asp.net webform下面样式有点不对劲,mvc倒还可以.

本篇说说我近两天折腾Ubuntu的成果,对于一个没接触过Linux系统的人来说得从基础干起呀.下面先简单的介绍下Ubuntu系统下面常用的几条命令,扫扫盲:

文件管理  cd .. 回当前目录的上一级目录
文件管理  cd - 回上一次所在的目录
文件管理  cd ~ 或 cd 回当前用户的宿主目录

文件管理 cd /etc进入某个目录.

文件管理 # cp cp /路经/文件 ./ 移动绝对路经下的文件到当前目录下

sudo apt-get install 软件名 安装软件命令

sudo apt-get update  系统更新

wget http地址..是一个命令行的下载工具,很强大

tar xzvf 压缩文件---对文件解压,tar czvf this.tar.gz ./*.txt--对文件压缩

sudo gedit 路径/文件  打开编辑器.

Mono –v 查看mono版本

Nginx –V 查看Nginx版本.

本文用到的命令基本上就是以上,没做全面介绍.

下面进入正题,我的Ubuntu是安装在VMware6.5上的,配置网卡的时候出现好多状况,导致虚拟机的Ubuntu上不了网,哎..可爱又可恨的破解版呀!!!

不过最后找到了几个服务搞定,这个不是本文重点略过.

第一步安装相关软件:

安装Nginx:

打开终端:

输入:sudo apt-get update

      sudo apt-get install nginx

提示之后安装成功,稍后在配置.

安装Mono2.10:

得到提示后输入下一条命令

sudo apt-get build-dep mono

wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.10.tar.bz2

tar jvxf mono-2.10.tar.bz2

cd mono-2.10

./configure --prefix=/usr/local

make

sudo make install

安装和编译Mono的时候时间会稍长点..

安装fastcgi-mono-server:

$ sudo apt-get install subversion
$ svn co http://mono-soc-2007.googlecode.com/svn/trunk/brian/FastCgi/ fastcgi-mono-server
$ cd fastcgi-mono-server/
$ ./autogen.sh
$ make
$ sudo make install

第二步配置:

配置 Nginx

首先编辑nginx.conf 文件: gedit /etc/nginx/nginx.conf

其他的节点不用动 在http 节点里面添加

server {
        listen       80;
        server_name  localhost;

        location ~ {
            root  /home/xiaogang/Projects/nginxSite;#项目根目录
            #index  index.html index.htm;

            fastcgi_pass  127.0.0.1:8000; #此处端口要与fastcgi映射的端口一致
            fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
             include /etc/nginx/fastcgi_params;
            }
    }

接着编辑sites-available目录下的default文件:gedit /etc/nginx/sites-available/default

把刚才的Server节点下的location内容 复制到default文件下的server节点下.这点很重要!

第三步运行:

一些就绪之后需要启动nginx服务

命令行输入:/etc/init.d/nginx start

如无意外会显示

2

然后启动mono-fastCGI服务 sudo fastcgi-mono server2 /socket=tcp:8000 /address=127.0.0.1 /applications=/:/home/xiaogang/Projects/nginxSite

1

细心看图的朋友会发现,端口号和地址位置颠倒了.不知道不是版本问题,不过不影响运行结果.

在浏览器中输入 http://localhost/就可以访问你的网站了.刚第一次部署建议部署一个简单的网站就可以.

如果有朋友要部署mvc的话需要在/etc/nginx/fastcgi_params 文件最后加上

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

咳咳..搞了两天总算搞出来了,Nginx真的很强大..需要继续研究.

ps:我装的Mono2.10 不是支持.netframwork4.0 吗?怎么跑不起来4.0的网站..纠结!