Ubuntu阿里云搭建Mono.net环境

  • 时间:
  • 浏览:1

上面的shell会生成Makefile,下面进行编译:

make

安装fastcgi-mono-server

/dev/xvda1 * 2048 41940991 20969472 83 Linux

Command (m for help): n ===========> 这里输入n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p ===========> 这里输入p

Partition number (1-4, default 1): 1 ===========> 这里输入1

First sector (2048-838860 79, default 2048):

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-838860 79, default 838860 79):

Using default value 838860 79

查看磁盘信息

Command (m for help): wq ===========> 这里输入wq保存设置

The partition table has been altered!

vsftpd的用户有几种,一种是使用linux操作系统的系统账户当作ftp用户使用,另一种是使用叫做ftp虚拟用户的用户,此用户是vsftpd识别的用户,还会没法 登录系统,也完正都是系统一种的账户。当然所有這個虚拟用户登录到ftp还会对文件的读写权限是寄宿在另有5个真实的linux系统用户上面额。这里我门都我门都 儿仅仅说明直接使用系统一种完正都是的账户去登录ftp,太满太满 时需打开local_enbale选项。

我门都我门都 儿使用的是vsftpd:

Disk /dev/xvdb: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders, total 838860 60 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

要注意的是:指定chroot_local_user=YES还会,时需设定ftp的虚根目录没法 有写权限,这是新版的vsftpd为了安全设定的,之还会跳出登录不进去的情況,报如下错误:

60 0 OOPS: vsftpd: refusing to run with writable root inside chroot()

意思是,机会开启了chroot来控制用户路径,则用户没法 再具有该用户根目录的写的权限。

处理土法律法子:

上加该用户根目录的写的权限,再新建一目录,还会用新目录

vi /etc/nginx/nginx.conf #這個文件是关于nginx服务器的配置,这上面配置的网站应该是服务器的默认网站

在http节点中上加:

server {

打开没法 几个属性:

local_enable=YES #允许linux系统上的本机用户作为ftp账户访问ftp

write_enable=YES #允许写,這個是针对非匿名用户的

local_umask=022 # 本机用户的umask

connect_from_port_20=YES #使用20端口传递数据

idle_session_timeout=60 0 # 会话超时时间

data_connection_timeout=120 # 数据连接超时时间

chroot_local_user=YES #机会设为YES,本地用户登录后将被(默认地)锁定在虚根下,并被装进他的home目录下。

<%="Hello Mono.net "+number.ToString() %>

安装ftp服务器

<%@ Page Language="C#" %>

<%

Disk /dev/xvdb: 42.9 GB, 42949672960 bytes

171 heads, 5 sectors/track, 98112 cylinders, total 838860 60 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xabc9a42f

我觉得到此为止你的环境应该搭建好了,让你在/root/test/www下面上加网页,這個Default.aspx,内容如下进行测试,这也是我的测试网页的内容。

配置nginx:

提示:机会机会存在用户,还会时需禁止该用户登录liux系统,都时需直接使用root用户编辑/etc/passwd文件,修改该用户对应的行的最上面的shell路径就都时需了。

再次输入fdisk -l都时需查看与非 分区成功

Disk /dev/xvda: 21.5 GB, 21474836460 bytes

255 heads, 63 sectors/track, 2610 cylinders, total 419460 40 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0002bfb2

sudo apt-get update

sudo apt-get install nginx

阿里云默认是没法 编译环境的,时需某些人安装

sudo apt-get install automake

sudo apt-get install gcc g++ make # 会自动安装libc的库以及某些时需的工具,這個binutils等

编译fastcgi-mono-server

passwd ftptest #为该用户指定密码

svn co http://mono-soc-60 7.googlecode.com/svn/trunk/brian/FastCgi/ fastcgi-mono-server

安装编译环境

Disk /dev/xvda: 21.5 GB, 21474836460 bytes

255 heads, 63 sectors/track, 2610 cylinders, total 419460 40 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0002bfb2

安装好还会,输入 fastcgi-mono-server2 --help 和 fastcgi-mono-server --help 总要有相关选项出来

机会直接输入fastcgi-mono-server 连续按另有5个tab键也会列出另有5个fastcgi-mono-server和fastcgi-mono-server2命令,表示安装成功。

启动fast-cgi

Calling ioctl() to re-read partition table.

Syncing disks.

sudo apt-get install subversion

获取fastcgi-mono-server 源码

上加另有5个系统账户专门用来操作ftp,ftp没法 使用root登录。

root@AY1212241134392134698:~# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/xvda1 20G 1.4G 18G 7% /

udev 237M 4.0K 237M 1% /dev

tmpfs 99M 260 K 98M 1% /run

none 5.0M 0 5.0M 0% /run/lock

none 246M 0 246M 0% /run/shm

sudo apt-get update

sudo apt-get install vsftpd

都时需看到/dev/xvdb1机会有内容了,System为Linux。

Disk /dev/xvdb doesn't contain a valid partition table

下面对/dev/xvdb进行分区与挂载,使用fdisk /dev/xvdb 命令

我觉得很不方便,用户登陆进去会发现时需要再进一层目录才能找到某些人的文件

下面对分区进行格式化,我门都我门都 儿将分区格式化为ext4文件系统。都时需使用df -hT 查看分区使用的文件系统,我门都我门都 儿都时需看到Disk /dev/xvda使用的文件系统可是 ext4,太满太满 我门都我门都 儿将/dev/xvdb1也格式化为同样的ext4文件系统

/dev/xvdb1 /root/test ext4 defaults, 0 2 # 挂载分区到目录/root/test中,此目录都时需某些人指定,此命令会将挂载信息写到/etc/fstab中

安装mono

root@AY1212241134392134698:~# fdisk /dev/xvdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0xabc9a42f.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.

/dev/xvda1 * 2048 41940991 20969472 83 Linux

%>

都时需看到文件系统上面没法 另有5个/dev/xvda1大小是20G,我门都我门都 儿是用fdisk -l 都时需看到所有的硬盘:

我门都我门都 儿买的系统默认情況下可是 安装了系统,而数据盘时需某些人挂载,這個我这里的系统占用20多G,还有40多G的数据盘默认是没法 挂载的,首先我门都我门都 儿运行df -h查看:

sudo mkfs -t ext4 /dev/xvdb1 #格式化分区/dev/xvdb1并指定文件系统为ext4

将分区挂载到目录

sudo apt-get install mono-complete 這個是安装mono的完正版太满太满 机会要安装太满太满 东西,包括桌面开发的东西。mono-utils mono-xsp monodoc-http mono-gmcs

安装Nginx

这里要安装svn主可是 我门都我门都 儿时需安装fastcgi-mono-server,而fastcgi-mono-server没法 通过apt-get install进行安装,没法 通过源码安装,太满太满 这里我门都我门都 儿先安装svn通过svn命令得到fastcgi-mono-server的源码,再某些人编译,安装。机会nginx要解析aspx的网页时需通过fastcgi-mono-server去调用mono的运行时。

/dev/xvdb1 2048 838860 79 41942016 83 Linux

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

你或许要cd到fastcgi-mono-server目录下去运行./autogen.sh脚本:

./autogen.sh # 机会运行有问题图片,请使用bash执行此脚本,一种土法律法子是修改/autogen.sh的第一行#!/bin/sh修改为#!/bin/bash

上面显示了2块盘,其中第一块盘是Disk /dev/xvda 有21.5G的容量,机会装上了系统,而第二块Disk /dev/xvdb: 42.9 GB是没法 挂载的,Disk /dev/xvdb doesn't contain a valid partition table表明没法 分区表。

分区与挂载

root@AY1212241134392134698:~# fdisk -l

useradd -d /home/ftpdir -s /sbin/nologin ftptest #上加另有5个叫做ftptest的系统账户,该用户没法 通过ssh机会telnet登录系统,没法 通过ftp访问其home目录,该home目录可是 此用户

root@AY1212241134392134698:~# fdisk -l

要注意下面的目录/root/test/www与上面配置的目录是一致的:

sudo fastcgi-mono-server2 /socket=tcp:60 00 /address=127.0.0.1 /applications=/:/root/test/www >/dev/null 2>&1 &

sudo make install

/etc/init.d/vsftpd restart #重启vsftpd就都时需了

启动与停止:

/etc/init.d/vsftpd start

/etc/init.d/vsftpd stop

/etc/init.d/vsftpd restart

在ftp共享文件的目录,其home目录是/home/ftpdir ,這個都时需某些人指定,还会一定要对该目录有访问权限,还会ftp登陆的还会进不去.

Nginx的启动与停止:

sudo /etc/init.d/nginx start

sudo /etc/init.d/nginx stop

vi /etc/nginx/sites-enabled/default #這個文件是关于nginx虚拟主机的配置

修改上面的server节点中的location ~节点与 nginx.conf中的server节点中一致,并修改root的值与 location ~ 中root的值一致

安装svn

为分区指定文件系统

ftp的配置:

vi /etc/vsftpd.conf