Ubuntu10.10下Mono2.10+Nginx+fastcgi 部署asp.net网站
上一篇(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
如无意外会显示
然后启动mono-fastCGI服务 sudo fastcgi-mono server2 /socket=tcp:8000 /address=127.0.0.1 /applications=/:/home/xiaogang/Projects/nginxSite
细心看图的朋友会发现,端口号和地址位置颠倒了.不知道不是版本问题,不过不影响运行结果.
在浏览器中输入 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的网站..纠结!