Linux 安装Mono环境 运行ASP.NET(一)
1、先看一下Linux环境下面请求的过程,(画的不是很好,简单的了解一下原理。)
.NET跨平台其实需要这三个关键:编译器、CLR和基础类库。在.NET下我们编写一个最简单的“Hello World”都需要mscorlib.dll这个动态链接库,因为.NET框架已经为我们提供了这些,因为在我们的计算机上安装着.NET框架,这是我们编写的应用程序能够在Windows下运行的原因。再回头来看Mono,首先Mono和CLR一样,都是CLI这一标准的实现,所以我们可以理解为Mono实现了和微软提供给我们的类似的东西,因为微软的.NET框架属于商业化闭源产品,所以Mono除了在实现CLR和编译器的同时实现了大量的基础库,而且在某种程度上Mono实现的版本与相同时期.NET的版本有一定的差距,这点使用Unity3D开发游戏的朋友应该深有感触吧!这就决定了我们在将应用程序移植到目标平台时能否实现在目标平台上和当前平台上是否能够具有相同的体验。因为公共中间语言即CIL能够运行在所有实现了CLI标准的环境中,而CLI标准则是和具体的平台或者说CPU无关的,因此只要Mono运行时能够保证CIL的运行,就可以实现应用程序的跨平台。
2、在Linux下面搭建ASP.NET运行环境
2.1下面就是需要在Linux下面安装的文件包。
这些包之间有些依赖关系。
A、httpd依赖于apr,apr-util,pcre这三个包
B、Mono依赖于libgdiplus包
C、xsp和Mod_mono依赖于mono包
所以安装的时候有先后的顺序。
在本地,我们可以通过Xftp工具将文件上传到Linux服务器中software文件夹中。
OK,文件已经上传成功,我们使用Xshell终端工具来连接我们的linux服务器。来到/usr/local/software文件夹中
2.2 第一步 安装 Pcre安装包。
在Liunx系统中,解压文件要根据包名,使用不同的解压命令,常见的解压命令有:
解压文件 tar jvxf 文件名 bz2后缀
解压文件 unzip 文件名 zip后缀
解压文件 tar zxvf 文件名 file.tar.gz 后缀gz
OK,我们现在来解压 pcre 输入命令unzip pcre-8.32.zip 解压完成之后 输入ls 命令 列举当前目录下面所有的文件,多了一个pcre 蓝色的文件夹。
我们进入文件夹开始安装。
安装包里的文件是不是有很多,这里有一个非常特殊的文件,叫做configure文件,这是linux下面软件预编译文件。
linux下面软件安装的三大步骤:
1、预编译 使用脚本预编译configure 文件 ./configure --prefix=/安装目录
2、编译,按照脚本准备内容,编译软件 make
3、安装,将编译好的软件,移动到目录,make install
好了,我们现在开始第一步 预编译软件使用命令 ./configure --prefix=/usr/local/prce ,这行的命令是指,将软件编译安装到/usr/local/prce文件夹中。回车,让它去编译。
我们看到现在没有在编译,是不是看到error了。说明是预编译报错了。我们在安装CentOS的时候,没有把需要安装的一些包文件进行安装,因为很多软件都会依赖这些包。
现在我们来安装这些包文件 输入命令 yum install -y gcc gcc-c++ -- 就在线找到这些包,并进行安装。
系统就会自动去安装。安装完成后,我们在来预编译输入命令 ./configure --prefix=/usr/local/prce
OK,预编译完成了,我们看到没有出现error,说明已经预编译成功了。
我们开始第二步,编译 直接输入 命令 make。
没有出现error,说明编译已经完成了。最后一步,开始安装。输入命令 make install。把软件安装到/usr/local/prce文件夹中。
好了,到这一步我们的pcre包已经安装完成了,我们去/usr/local/文件夹中看一下有没有这个prcee文件夹。输入命令 cd /usr/local/
说明已经安装完成!
2.3 安装 Httpd Apache 服务器
Httpd依赖于 apr-1.4.6.tar.bz2 和 apr-util-1.5.2.tar.gz这两包文件
好了我们开始解压包文件 Httpd、 apr 和 apr-util
输入命令 :tar jvxf apr-1.4.6.tar.bz2
输入命令: tar zxvf apr-util-1.5.2.tar.gz
输入命令: tar zxvf httpd-2.4.4.tar.gz
蓝色的代表文件夹,解压完成了。我们说过Httpd 依赖于apr和apr-util这两个包。现在我们要将解压后的两个文件夹移动到httpd-2.4.4中的srclib中去。
我们来看一下httpd-2.4.4的文件目录
是不是有一个srclib文件夹,这个文件夹就是要添加引用的类库。我们把apr和apr-util这两个包移动到httpd-2.4.4中的srclib中去。
输入命令:mv apr-1.4.6 httpd-2.4.4/srclib/apr
输入命令:mv apr-util-1.5.2 httpd-2.4.4/srclib/apr-util
OK 我们去httpd-2.4.4中的srclib看一下有没有这两个文件夹,输入命令 cd httpd-2.4.4/srclib
好了,文件移动成功了。现在我们开始安装httpd了,在安装之前,我们来看一下Linux下面有没有安装httpd Apache 如果已经安装了,我们要卸载重新安装,如果没有就直接安装。
输入 http -V 来查询当前安装httpd的版本。
linux系统安装时候默认会安装httpd 版本是2.2的,现在我们需要卸载掉,重新装最新版的httpd !
输入命令:yum remove httpd
输入 Y 确认进行卸载!
卸载完成后,
开始安装 apr 和 apr-util(在安装Httpd时会安装srclib里面的apr和apr-util两个包。如果没有安装需要手动来安装这两个包)
1、进入到apr 目录 。安装三个步骤
预编译==》直接输入 ./configure --prefix=/usr/local/apr
编译===》 make
安装===》make install
2、进入到apr-util目录 。安装三个步骤 注意:apxr-util 依赖于 apr 所以安装时要指定apr安装目录 使用with
预编译==》 直接输入 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
编译===》 make
安装===》make install
我们开始安装Httpd 了,安装Httpd一样,要进行三步 ,预编译 编译 安装。来到Httpd-2.4.4
OK ,我们说过configure是预编译文件,现在我开预编译,将httpd 安装到usr/local/apache 安装之前,需要指定pcre的安装目录。通过 with 来指定依赖包的安装目录。OK
输入命令 ./configure --prefix=/usr/local/apache --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/prce
OK,没有出现error,说明预编译已经完成了!
开始编译和安装 输入命令 make && make install
好了,httpd 已经安装成功了,我们去目录看一下 cd /usr/local/apache
我们来看一下apache的最重要配置文件 apache/conf/httpd.conf
我们用vi 命令来查看文件 vi httpd.conf
关于apache的配置文件大家可以自己去百度学习一下,这里就不做太多的介绍了,最主要用到的地方如下:
通过shift键+:输入 set + nu 回车可以开启vi 编辑器 的行号。
ServerRoot "/usr/local/apache" //这是apache安装的根目录。
Listen 80 apache //默认监听80端口。
ServerName www.example.com:80 //设置域名
DocumentRoot "/usr/local/apache/htdocs" //网站路径。
我们简单了解一下,现在我们需要用vi编辑器来修改域名,并启动apache服务器。
按Inset键进入编辑状态 ,Esc退出编辑状态
按shift键+: 输入wq 键 保存并退出 按shift键+: 输入w! 键 不保存退出
修改完成后,保存退出,开启apache服务。
来到 bin目录 输入命令 ./httpd 或 ./httpd start 开启服务 。
输入命令 发送http请求 wget http://localhost:80 如果能够接受说明apache服务开启完成!
设置apache服务默认开机启动
1、找到Linux系统默认开机启动目录 etc/rc.d/init.d目录
2、将apache启动文件名复制到etc/rc.d/init.d目录
3、输入命令 cp apachectl /etc/rc.d/init.d/apache 回车
4、修改etc/rc.d/init.d/apache文件
用 vi命令打开文件在文件头上加上
chkconfig:35 70 30
description:apache
5、注册服务:chkconfig --add apache
6、开启服务:service apache start
7、关闭服务:service apache stop
8、重启服务:service apache restart
我们可以到Linux中查看是不是可以正常访问80端口。
OK,到这里我们的httpd apache服务器已经安装成功了!
Linux 安装Mono环境 运行ASP.NET(一)的更多相关文章
- Linux 安装Mono环境 运行ASP.NET(二)
一.安装libgdiplus 前面我们已经安装了apr.apr_util.pcre和httpd apache .现在我们来安装libgdiplus Libgdiplus是一个Mono库,用于对 ...
- linux 安装 node 环境
本篇学习的分享主要说在linux 安装 node 环境,个人也是在腾讯云的实验室课程学习的,这里只是个人的一个学习记录, 大家也可以去腾讯的实验室来体验一下,教程十分详细易学. 1 .安装 Node. ...
- vs2017 在win10下安装后开始运行asp.net core 项目时出错
vs2017 在win10下安装后开始运行asp.net core 项目时出错 报找不到什么 解决方法: 下载 asp.net 2.2 安装好,重新启动电脑问题解决.
- linux安装maven环境
linux安装maven环境 一. 下载压缩包: 官网地址: http://maven.apache.org/download.cgi 或者百度网盘链接:https://pan.baidu.com/s ...
- [CentOS_7.4]Linux编译安装mono环境
一 安装mono 安装过程: 下载mono安装源,配置,编译,安装,设置环境变量. # wget http://download.mono-project.com/sources/mono/mono- ...
- Linux 安装nodejs环境以及路径配置
linux安装nodejs有2种方式一种简单的,解压即可用:另一种,通过下载source code ,通过编译,make,make install命令来安装. 这里只讲第一种,简单方便.不需要执行ma ...
- Linux安装python环境脚本
自动安装python环境的脚本 1.首先判断是不是root用户 2.判断是否安装 3.是否下载成功(网络可能有问题) 4.是否解压成功(文件下载可能缺少) 5.安装配置python环境 # codin ...
- Linux安装配置go运行环境
1. 下载go,解压 gz包 wget https://storage.googleapis.com/golang/go1.7.5.linux-amd64.tar.gz tar zxvf go1.7. ...
- Ubuntu 环境 运行Asp.net mvc +EntityFramework+ Mysql
关键词:ubuntu,mono,.Net framework 4.5,asp.net mvc 4,Entityframework 6,Mysql Mono安装 参考文章: Install Mono o ...
随机推荐
- 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇
什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...
- 从中间件的历史来看移动App开发的未来
在移动开发领域我们发现一个很奇怪的现象:普通菜鸟新手经过3个月的培训就可以拿到 8K 甚至上万的工作:在北京稍微有点工作经验的 iOS 开发,就要求 2 万一个月的工资.不知道大家是否想过:移动应用开 ...
- HTML 事件(一) 事件的介绍
本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...
- Android raw to bmp
Android raw 格式转 bmp 图像 raw 保存的为裸数据,转换时都需要把它转成RGBA 的方式来显示.其中: 8位RAW: 四位RGBA 来表示一位灰度; 24位RAW: 三位RGB相同, ...
- 苹果强制使用HTTPS传输了怎么办?——关于HTTPS,APP开发者必须知道的事
WeTest 导读 2017年1月1日起,苹果公司将强制使用HTTPS协议传输.本文通过对HTTPS基础原理和通信过程内容的讲解,介绍APP开发者在这个背景下的应对办法. 几周前,我们在<htt ...
- 6. ModelDriven拦截器、Preparable 拦截器
1. 问题 Struts2 的 Action 我们将它定义为一个控制器,但是由于在 Action 中也可以来编写一些业务逻辑,也有人会在 Action 输入业务逻辑层. 但是在企业开发中,我们一般会将 ...
- VS2015在创建项目时的一些注意事项
一.下面是在创建一个新的项目是我最常用的,现在对他们一一做一个详细的介绍: 1.Win32控制台应用程序我平时编写小的C/C++程序都用它,它应该是用的最多的. 2.名称和解决方案名称的区别:名称是项 ...
- 编译器开发系列--Ocelot语言4.类型定义的检查
这里主要介绍一下检查循环定义的结构体.联合体.是对成员中包含自己本身的结构体.联合体进行检查.所谓"成员中包含自己本身",举例来说,就是指下面这样的定义. struct point ...
- Oracle 表空间和用户权限管理
一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...
- springMVC初始化绑定器
单日期 在处理器类中配置绑定方法 使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型 propertyEditor为属性编辑器,此处我们选用 CustomDateEd ...