在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache(3)

【三、在Ubuntu下部署ASP.NET网站】

在Windows上部署网站可以通过远程桌面直接把网站或打包好的网站复制过去,在Linux下其实SSH不光可以支持命令行,还可以支持文件传输,我这里使用免费开源的Filezilla(https://filezilla-project.org/),Filezilla支持FTP和SSH两种协议,在站点管理器中选择SFTP协议,然后把登陆类型设置为正常,输入用户名和密码即可登录。

在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache

登录后默认的路径为/home/用户名/,就跟命令行下默认的目录一致。Apache的默认路径在/var/www/,可以在这之下找到index.html,也就是那个“It works”的网页。不过这个目录一般用户的权限为无法写入,所以无法将网站直接部署到这个目录下。当然你可以在PuTTY下将这个目录的权限修改后再上传,不过其实还可以有更简单的方式,就是将打包文件上传到用户目录下然后再解压缩到这个目录下。

首先安装zip解压缩程序,软件包详情:

sudo apt-get install zip

然后将需要上传的网站打包为zip文件,然后上传到用户目录下(/home/用户名/),然后在命令行中输入就可以了。

sudo unzip 压缩文件名.zip -d /var/www

当然,现在用你的浏览器访问你的服务器地址仍然是“It works”,我们还要删除index.html就可以了。

sudo rm /var/www/index.html

【四、在openSUSE下的操作】

不同的系统使用不同的软件包管理程序,SUSE则提供了一个叫zypper的软件包管理程序,使用也非常方便(这里使用的openSUSE是Azure上提供的openSUSE 12.3)。

首先是安装Apache。

sudo zypper install apache2

与Ubuntu安装过程不同的是,在安装完成后并没有启动Apache的提示。所以还需要手动配置服务自启动。

sudo systemctl enable apache2.service

然后立即启动Apache。

sudo systemctl start apache2.service

现在用浏览器就可以访问服务器了。

然后使用zypper安装Mono了(其中System.Drawing会用到libgdiplus,多语言支持会用到mono-locale-extras,不过即使如此还有部分组件没有安装,后边会说明):

sudo zypper install mod_mono libgdiplus mono-locale-extras

接下来需要配置mod_mono,这里推荐使用官方提供的,页面打开后如下图所示:

在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache

可以选择Virtual Host或者Application两种模式,第一种可以根据请求的服务器地址设置ASP.NET网站的根路径,第二种可以根据请求的虚拟目录设置ASP.NET网站的根路径。除此之外页面下方还有几个设置可以自定义,设置完后选择页面下方的Download下载.conf文件,将文件上传到openSUSE服务器后使用如下命令复制到Apache配置文件夹下:

sudo cp 配置文件名.conf /etc/apache2/conf.d/

之后可以像Ubuntu一样给openSUSE安装上zip解压缩工具(sudo zypper install zip),将压缩文件解压缩到设置的网站根目录后即可。之后只需要重启Apache服务器后就可以立即访问ASP.NET网站了:

sudo systemctl restart apache2.service

需要注意的是,这样完成后不像Ubuntu把很多依赖库都装上了,如果按上述命令的话只有以下部件被安装:

在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache

所以可能还有很多需要的组件没有安装,比如需要连接Oracle数据库时,可能提示找不到System.Data.OracleClient程序集,需要安装“mono-data-oracle”,到时候可以根据出现的错误再安装。其实也可以根据通配符安装“mono*”,把跟mono有关的都安装上,不过这样也会装很多不需要的组件。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/007bbc50175a6e4af9cf47bc58e69e84.html