在linux系统上开发.net网站

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在linux系统上开发.net网站相关的知识,希望对你有一定的参考价值。

公司有要求,要在linux上开发.net网站,数据库用ms sql 2k或2005,但是我目前不是很了解linux,差了一些资料也很不完全,希望可以告知我个来龙去脉,具体的安装和配置方法。
xsp相当于windows下的iis服务器吗?
安装这些之前必须安装好apache 2 是吧。
数据库怎么装呢?

MS SQL必须用外部windows服务器解决 ,而.net 完全可以在windows下开发 linux下用mono部署

但是我实在觉得这是个蛋疼的决策 哎

简单说下安装方式

1 安装Mono

Mono是一个由Novell公司(先前是Ximian)主持的项目.该项目的目标是创建一系列符合标准ECMA (Ecma-334和Ecma-335)的.Net 工具, 包括C #编译器和共同语言(CL 即 Common Language)执行平台(Platform). Mono项目不仅可以运行Windows系统内,还可以运行于Linux, FreeBSD, Unix, Mac OS X和Solaris.

这里需要说明的是,安装mono的目录需要指定为/usr,否则会出现503之类的错误。编译mono的时间会比较长,在编译会有一些警示,这些不会影响到后面的正常编译。

tar jxvf mono-2.2.tar.bz2

cd mono-2.2

./configure --prefix=/usr

make

make install

安装完成后输入:mono回车会显示mono的相关信息,反之就什么都没有。

2.安装xsp

xsp是asp.net的解析执行引擎,xsp相当于jsp/apache环境的tomcat。

tar jxvf xsp-2.2.tar.bz2

cd xsp-2.2

./configure --prefix=/usr

make

make install

安装完成后在终端输入:xsp --root/usr/lib/xsp/test回车

然后在浏览器中输入:http://localhost:8080/出现欢迎xsp界面

3.安装mod-mono支持

mod_mono是apache到xsp的连接器,mod_mono相当于jsp/apache环境的mod_jk(或 mod_jk2)。

tar jxvf mod_mono-2.2.tar.bz2

cd mod_mono-2.2

./configure --with-apxs=/usr/local/apache2/bin/apxs

make

make install

安装完成 ,
以上要求你已经安装好apache2

MS SQL数据库实在没有Linux下的解决方案 ,除非你选用 mysql ,postgreSql 或者Oracle .
参考技术A C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Windows 9x/Me/NT/2000/XP和Windows CE之类的操作系统。但是,现在却有了一个叫做Mono的项目,它的目标就是把.NET及其编程语言移植到非Windows的平台上。目前,C#是惟一被移植到非Windows平台的.NET语言。

在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求是库、编译器/解释器、运行环境。库以类和方法(函数)的形式提供常用的例程,简化大型程序的编写。.NET框架也不例外,包含了许多类库。另外,把程序转换成可执行形式,并且运行执行文件时,编译器和运行环境是必不可少的。Mono软件包包含了.NET类库的一部分、一个C#编译器和.NET运行环境CLR(Common Language Runtime,公共语言运行时环境)。

Mono声称支持Linux、Solaris、FreeBSD和Windows。除了Intel x86系列的CPU(486及各类Pentium等)之外,它还要支持Sparc、PowerPC和StrongArm处理器。

自己去百度一下人MONO 怎么安装吧。我试过,MS还行,因它加载的都是 .NET 的东西,在兼容性上不错,基本没有多大问题,但没有实际部署到网站让大部分用户访问,所以对于稳定性上,没有结论,哈。
参考技术B 首先搞清楚,windows

linux
是完全不同的系统,包括桌面环境、文件系统、文件格式等等都不一样。windows
下的东西拿到
linux
下根本没法运行,何谈安装?又哪来的
.net
framework?。现在
linux
上的软件都是专门为
linux
开发的。除了图片、文本文档、网页等这些东西是通用的,其他的都不能/
参考技术C 让你们公司出这个要求的人洗洗睡吧……

.NET 网站是 Windows 上 IIS 专用的。Linux 下面,微软既没有提供 IIS 服务器程序,也没有 .net 支持,也没有 MSSQL 的软件。这套东西只能运行在 Windows 上,而且目前似乎应该说只能用在 Windows Server 上(普通桌面系统拿来测试还可以,用就免了吧)。

至于 Novell 的 mono ,貌似功能很不行,还不如 Linux 上面跑 tamcat java + Oracal 呢。这套东西才是真正的全系统兼容。
参考技术D SQL 数据库不能跑在 LINUX 上。

.NET 可以利用 MONO 框架在 LINUX 上运行,但是还不成熟。

估计,你们公司,也比较green吧

LNMP平台搭建---Linux系统安装篇

  在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更高的并发性,系统资源利用率更高,在市场上的占有率也逐步提升,在Netcraft网站上看到的数据,在1995年到2015年间,每种服务器的使用趋势:

  

  可以看到,Apache依然是最受欢迎的Web服务器,Nginx属于后起之秀,很快占有市场。Nginx的几大特点如下:

  1. 对静态资源的高速并发缓存和访问

  2. 可作为反向代理或负载均衡服务器

  3. 缓存服务器和邮件服务代理

  4. 资源消耗更小

  5. ......

  LNMP也在逐步走进各个互联网公司的使用场景,因此,LNMP平台搭建系列就介绍一下LNMP的搭建,本篇为Linux系统安装篇。

 


 

 

  Linux系统的由来、发展之类的文章,网上、书上很多,这里就忽略了,直接开始操刀安装Linux系统吧~

  1. 系统选择:

    目前服务器端使用较多的操作系统为CentOS版本的Linux系统,且6.5版本居多,因为我之前一直使用的7.0版本64位的,也在编译安装各种软件踩了不少坑,就用CentOS7.0_x86_64位的吧,都大同小异,只是在权限配置文件路径方面有点差异,都可以使用,并且7.0版本也发布几年了,可以在新的项目引入,获取在老项目逐步引入,毕竟,稳重为大。

  2. 安装:

    安装有虚拟机方式和实际电脑方式,这里为了方便截图什么的,就使用VMWare虚拟机吧,新建虚拟机这些步骤按照提示来就行了,不难,设置好CPU、内存、硬盘大小和网络连接方式就可以了。

    新建完虚拟机后,打开虚拟机的光驱,使用加载ios文件方式来安装,如下:

    

    然后启动虚拟机:

    如果出现这个错误,升级VMWare即可:

    

 

    启动后出现界面如下,选择“Install CentOS 7”:

      

    选择安装过程的语言,这里使用默认的英文即可:

    

    点击“Continue”进入下一步:

    

  在这里设置一下时区:Asia/Shanghai,语言自己选择,这里默认就英文了,因为是服务器安装,这里选择最小原则,使用最简版本安装,这样安装的软件也少,开启的服务也少,这样服务器会更安全,后面使用需要什么软件我们再进行安装配置就可以了。

   然后,选择"Installation Destination"进入系统分区界面,默认会自动分区,这里选择手动分区的方式,如下:

  

点击"Done"就会进入分区界面:

  在分区模式那里现在默认选择“LVM”模式,它是Linux环境下对磁盘分区的一种管理方式,普通的磁盘分区管理方式在划分分区后就无法调整其大小,如果某个分区空间耗尽后,就需要使用符号链接到其他分区或使用分区工具调整,但是这样很麻烦,而LVM可以在无需停机情况很方便地对分区大小进行调整,这里暂时选择标准的分区模式。

  点击"+",弹出一个框进行新分区分配选择:

  

这里使用的分区方案如下(硬盘20GB):

  1. 引导分区: /boot: 250MB

  2. 交换分区:swap (注意,这个是没有挂载点的) : 物理内存的1.5倍,这里是3GB

  3. 根分区:   / : 剩余空间大小

  对于数据库服务器,加多一个分区,如/data分区会好一些,备份数据和扩展也方便。

 分区后显示如下:

  

  点击"Done"后出现如下界面:

  

  点击“Accept Changes”应用分区后返回如下界面:

  

 

  点击“Begin Installation”即可开始安装,如下:

  

  在安装过程中,我们需要设置一下超级管理员的账户密码和新建一个用户并设置其密码。安装完成后出现如下界面,点击“Reboot”即可:

  

  重启完成后,进入如下登录页面,因为使用的是最小安装模式,因此并没有安装图像用户界面:

  

  我们输入刚刚安装过程中新建的用户名和密码进行登录:

  

  我们查看一下它的IP地址,使用命令ifconfig:

  

  出现这个提示,我们安装一下网络工具即可 "sudo yum install -y net-tools",安装过程如下:

  

  安装完后,在查看ip就可以看到了:

  

  到这里,Linux系统的安装就完成了,后面再根据需要进行一个安全运维配置即可,如:

  1. 系统命令备份,建议在首次安装完后马上做,这样后面在监测系统出现内核感染时运行命令时使用的是安全的没被黑客修改过的命令

  2. 安装一些系统监控工具,如htop,ntopng等,可很好查看系统运行状态

  3. 关闭不必要的服务和端口,只保留需要对外开放的端口

  4. 修改ssh远程登录窗口,如果必要,使用公钥/私钥方式登录,可以防止密码保留破解。

  5. ......

 

  下一篇,将会介绍如何搭建基于Nginx的Web服务器。

以上是关于在linux系统上开发.net网站的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 一步步搭建个人网站_Linux系统移植

怎么在linux系统下部署.net网站与sqlserver数据库

.NET现在能在Linux和Mac OS X系统上运行了

Linux系统上创建.NET6项目(通过命令行(CTL)方式)

Linux系统(ubuntu)部署Asp.Net Core网站

ASP.NET如何移置到Linux上?