查看磁盘信息

我们买的系统默认情况下只是安装了系统,而数据盘需要自己挂载,例如我这里的系统占用20多G,还有40多G的数据盘默认是没有挂载的,首先我们运行df -h查看:

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 260K 98M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 246M 0 246M 0% /run/shm

可以看到文件系统里面只有一个/dev/xvda1大小是20G,我们是用fdisk -l 可以看到所有的硬盘:

root@AY1212241134392134698:~# fdisk -l

Disk /dev/xvda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 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

Device Boot      Start         End      Blocks   Id  System

/dev/xvda1 * 2048 41940991 20969472 83 Linux

Disk /dev/xvdb: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 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

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

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

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

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.

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

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-83886079, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-83886079, default 83886079):
Using default value 83886079

Command (m for help): wq ===========> 这里输入wq保存设置
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

再次输入fdisk -l可以查看是否分区成功

root@AY1212241134392134698:~# fdisk -l

Disk /dev/xvda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 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

Device Boot      Start         End      Blocks   Id  System

/dev/xvda1 * 2048 41940991 20969472 83 Linux

Disk /dev/xvdb: 42.9 GB, 42949672960 bytes
171 heads, 5 sectors/track, 98112 cylinders, total 83886080 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

Device Boot      Start         End      Blocks   Id  System

/dev/xvdb1 2048 83886079 41942016 83 Linux

可以看到/dev/xvdb1已经有内容了,System为Linux。

为分区指定文件系统

下面对分区进行格式化,我们将分区格式化为ext4文件系统。可以使用df -hT 查看分区使用的文件系统,我们可以看到Disk /dev/xvda使用的文件系统就是ext4,所以我们将/dev/xvdb1也格式化为同样的ext4文件系统

sudo mkfs -t ext4 /dev/xvdb1 #格式化分区/dev/xvdb1并指定文件系统为ext4
将分区挂载到目录

/dev/xvdb1 /root/test ext4 defaults, 0 2 # 挂载分区到目录/root/test中,此目录可以自己指定,此命令会将挂载信息写到/etc/fstab中
安装mono

sudo apt-get install mono-complete 这个是安装mono的完整版所以可能要安装很多东西,包括桌面开发的东西。mono-utils mono-xsp monodoc-http mono-gmcs
安装Nginx

sudo apt-get update
sudo apt-get install nginx

Nginx的启动与停止:
sudo /etc/init.d/nginx start
sudo /etc/init.d/nginx stop

配置nginx:

vi /etc/nginx/nginx.conf #这个文件是关于nginx服务器的配置,这里面配置的网站应该是服务器的默认网站
在http节点中加上:
server {

    listen       80;server_name  localhost;location ~ {root  /root/test/www;    # 这个目录也是你自己指定的,表示你的网站的根目录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;}
}

vi /etc/nginx/sites-enabled/default #这个文件是关于nginx虚拟主机的配置
修改里面的server节点中的location ~节点与 nginx.conf中的server节点中一致,并修改root的值与 location ~ 中root的值一致
安装svn

这里要安装svn主要是我们需要安装fastcgi-mono-server,而fastcgi-mono-server不能通过apt-get install进行安装,只能通过源码安装,所以这里我们先安装svn通过svn命令得到fastcgi-mono-server的源码,再自己编译,安装。因为nginx要解析aspx的网页必须通过fastcgi-mono-server去调用mono的运行时。

sudo apt-get install subversion
获取fastcgi-mono-server 源码

svn co http://mono-soc-2007.googlecode.com/svn/trunk/brian/FastCgi/ fastcgi-mono-server
安装编译环境

阿里云默认是没有编译环境的,需要自己安装
sudo apt-get install automake
sudo apt-get install gcc g++ make # 会自动安装libc的库以及一些需要的工具,例如binutils等
编译fastcgi-mono-server

你或许要cd到fastcgi-mono-server目录下去运行./autogen.sh脚本:
./autogen.sh # 如果运行有问题,请使用bash执行此脚本,一种方法是修改/autogen.sh的第一行#!/bin/sh修改为#!/bin/bash

上面的shell会生成Makefile,下面进行编译:
make
安装fastcgi-mono-server

sudo make install

安装好之后,输入 fastcgi-mono-server2 --help 和 fastcgi-mono-server --help 都会有相关选项出来
或者直接输入fastcgi-mono-server 连续按2个tab键也会列出两个fastcgi-mono-server和fastcgi-mono-server2命令,表示安装成功。
启动fast-cgi

要注意下面的目录/root/test/www与上面配置的目录是一致的:
sudo fastcgi-mono-server2 /socket=tcp:8000 /address=127.0.0.1 /applications=/:/root/test/www >/dev/null 2>&1 &

其实到此为止你的环境应该搭建好了,你可以在/root/test/www下面添加网页,例如Default.aspx,内容如下进行测试,这也是我的测试网页的内容。

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

int number = 0;
if(Application["number"]!=null)
{number = int.Parse(Application["number"].ToString());number ++;
}
Application["number"] = number;

%>

<%="Hello Mono.net "+number.ToString() %>
安装ftp服务器

我们使用的是vsftpd:

sudo apt-get update
sudo apt-get install vsftpd

启动与停止:
/etc/init.d/vsftpd start
/etc/init.d/vsftpd stop
/etc/init.d/vsftpd restart

ftp的配置:
vi /etc/vsftpd.conf

打开这么几个属性:
local_enable=YES #允许linux系统上的本机用户作为ftp账户访问ftp
write_enable=YES #允许写,这个是针对非匿名用户的
local_umask=022 # 本机用户的umask
connect_from_port_20=YES #使用20端口传递数据
idle_session_timeout=600 # 会话超时时间
data_connection_timeout=120 # 数据连接超时时间
chroot_local_user=YES #如果设为YES,本地用户登录后将被(默认地)锁定在虚根下,并被放在他的home目录下。

vsftpd的用户有几种,一种是使用linux操作系统的系统账户当作ftp用户使用,另一种是使用叫做ftp虚拟用户的用户,此用户是vsftpd识别的用户,但是不能登录系统,也不是系统本身的账户。当然所有这种虚拟用户登录到ftp之后对文件的读写权限是寄宿在一个真实的linux系统用户上面额。这里我们仅仅说明直接使用系统本身就有的账户去登录ftp,所以需要打开local_enbale选项。

添加一个系统账户专门用来操作ftp,ftp不能使用root登录。

useradd -d /home/ftpdir -s /sbin/nologin ftptest #添加一个叫做ftptest的系统账户,该用户不能通过ssh或者telnet登录系统,只能通过ftp访问其home目录,该home目录就是此用户

在ftp共享文件的目录,其home目录是/home/ftpdir ,这个可以自己指定,但是一定要对该目录有访问权限,否则ftp登陆的时候进不去.

passwd ftptest #为该用户指定密码

要注意的是:指定chroot_local_user=YES之后,必须设定ftp的虚根目录不能有写权限,这是新版的vsftpd为了安全设定的,否则会出现登录不进去的情况,报如下错误:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
意思是,如果开启了chroot来控制用户路径,则用户不能再具有该用户根目录的写的权限。
解决办法:
去掉该用户根目录的写的权限,再新建一目录,以后用新目录

sudo chmod a-w /home/用户名

sudo mkdir /home/用户名/新目录名

其实很不方便,用户登陆进去会发现必须要再进一层目录才能找到自己的文件

/etc/init.d/vsftpd restart #重启vsftpd就可以了

提示:如果已经存在用户,但是需要禁止该用户登录liux系统,可以直接使用root用户编辑/etc/passwd文件,修改该用户对应的行的最后面的shell路径就可以了。

Ubuntu阿里云搭建Mono.net环境相关推荐

  1. 新用户购买阿里云服务器 阿里云搭建Csapp Lab环境

    每一年的双十一,购买物品很多优惠.阿里云针对新用户也有优惠,最近在做CSAPP的实验.也蹭着自己是新用户购买了三年的阿里云服务器,本文介绍如何使用Xshell连接阿里云,及其使用docker搭建Csa ...

  2. 极智开发 | 阿里云ECS本地开发环境搭建

      欢迎关注我的公众号 [极智视界],获取我的更多笔记分享   大家好,我是极智视界,本文介绍一下 阿里云ECS本地开发环境搭建.   之前介绍过华为云的开发环境搭建,有兴趣的同学可以移步我的这篇&l ...

  3. [网络安全自学篇] 九十一.阿里云搭建LNMP环境及实现PHP自定义网站IP访问 (1)

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步.本文主要分享作阿里云搭建LNMP环境及实现PHP自定义网站IP访问,同时详细介绍走过 ...

  4. 阿里云轻量应用服务器环境搭建-设置通过密钥登录服务器

    阿里云轻量应用服务器环境搭建-设置通过密钥登录服务器 1.通过阿里云的控制台创建密钥. 选择密钥管理,输入密钥名称,选择自动创建密钥 下载密钥到本地 重启服务器 2.Xshell设置通过密钥连接 输入 ...

  5. 阿里云轻量应用服务器环境搭建-Docker安装tomcat

    阿里云轻量应用服务器环境搭建-Docker安装tomcat 参考链接:https://www.runoob.com/docker/docker-install-tomcat.html 拉取官方的镜像: ...

  6. 阿里云轻量应用服务器环境搭建-Docker删除镜像

    阿里云轻量应用服务器环境搭建-Docker删除镜像 首先关闭容器 查看正在运行的容器 docker ps -a 停止容器运行 docker stop 6bf328b614c # 6bf328b614c ...

  7. 阿里云搭建完全分布式

    阿里云搭建完全分布式 文章目录 阿里云搭建完全分布式 1. 三台改主机名 2.三台修改hosts文件 ping不通 4. 配置 ssh 免密登录 4.1 在 master 生成公钥 4.2 将 pub ...

  8. 阿里云白嫖计划:在阿里云搭建自己的云服务器

    阿里云白嫖计划:在阿里云搭建自己的云服务器 最近阿里云推出了学生"在家实践"计划,经过认证的在校生可以免费获得6个月的一台入门云服务器! 总的来说这次阿里云的优惠力度还是挺大的,使 ...

  9. 基于阿里云搭建的适合初创企业的轻量级架构--架构总结

    ----基于阿里云搭建的适合初创企业的轻量级架构 前言 在项目的初期往往存在很多变数,业务逻辑时刻在变,而且还要保证快速及时,所以,一个灵活多变.快速部署.持续集成并可以适应多种情况的架构便显得尤为重 ...

最新文章

  1. 分布式之elk日志架构的演进
  2. 人生苦短,我用PyCharm(附链接)
  3. 个人知识体系思维导图_高中数学知识点思维导图
  4. 移动端常见的不同苹果手机media query汇总
  5. 这个省到2025年,PUE>1.3存量大型数据中心将全部腾退关停!
  6. 怎么在github上的私人项目中添加成员?
  7. Hadoop报错:All specified directories are failed to load.
  8. 【Kafka】Confluent Schema Registry
  9. tensorflow 函数查找
  10. 双目估计方法_双目深度估计中的自监督学习概览
  11. ajax跨域例子,ajax跨域例子
  12. python-常见的语法错误
  13. 04-读取Word文档内容
  14. 改造摄像头模块成开发板
  15. wp兼容了android应用程序,WP比安卓流畅 但为什么就不好用呢?
  16. MCU多系统服务器与云平台,MCU多系统服务器与云平台
  17. 2021-07-18大学 复习网课 视频 (倍速详细篇)
  18. 2018ei期刊目录计算机,科学网—2018年智能计算与信息系统国际会议(ICIS2018)征文期刊EI检索 - 周建国的博文...
  19. bzoj2708木偶(dp)
  20. csgo显示服务器ip,csgo国服躲猫猫IP地址大全及介绍

热门文章

  1. Java高危漏洞被再度利用 可攻击最新版本服务器
  2. Javascript学习7 - 脚本化浏览器窗口
  3. MBProgressHUD 使用详解
  4. vue实战(1)——解决element-ui中upload组件使用多个时无法绑定对应的元素
  5. TCP和UDP相关记录
  6. MySQL数据类型--------浮点类型实战
  7. 阿里云前端周刊 - 第 29 期
  8. 1057. Stack (30)
  9. exit()与_exit()的区别(转)
  10. Linux下C语言线程池的实现(1)