linux新建文件夹_Asp.Net项目的部署到Linux中(Linux + Jexus+Nginx)

因为老项目用的Asp.Net Web API技术开发部署到Window系统上,而新项目用的是.Net Core部署到Ubuntu系统中,所以在管理切换上有些不便。于是决定将老项目的测试服部署到Ubuntu中,试试水。

e945acb6013b6b8378b8e3d1dd64473a.png

一、简述

要实现Asp.Net项目部署到Linux中,必须要通过Mono。Mono就相当于Window中的.Net Framework 是Linux中的.Net 运行时,不但可以运行在Linux中也可以运行在Window中。

jexus是一款基于.NET兼容环境,运行于Linux/unix操作系统之上,以支持ASP.NET为核心功能的高性能WEB服务器。说白了就相当于Window中的IIS。jexus有专业版和通用版两个版本。Jexus专业版中自带Mono,不需要在客户服务器安装mono就能正常运行的Jexus版本,该版本只支持 64位Linux操作系统。Jexus通用版不带Mono,因此,使用者应该首先在客户机安装mono和libgdiplus。为了避免不必要的麻烦我选择专业版进行部署。

二、安装

2.1、下载:

地址:http://www.linuxdot.net/down/jexus-5.1.tar.gz

2.2、解压:

tar -zxvf jexus-5.1.tar.gz

2.3、安装:

解压后,就直接可以使用。卸载的时候直接删除这个文件夹就行,完全绿色版。

2.4、常用命令

启动:sudo ./jws start

重启:sudo ./jws restart

停止:sudo ./jws stop

2.5、测试

首先创建/var/www/default文件夹(这个文件夹是指定的默认网站路径),在文件夹中创建一个Index.aspx,写入

切换到jexus目录,启动jexus,然后请求Index页面。因为此Linux系统中只对外开放了80端口,并且80端口已经被其他项目占用。所以需要在jexus的siteconf文件夹中配置default文件中端口为8020。如果你的机器上没有部署过其他网站,那就不需要配置端口,只需要culr localhost。如果成功打印出时间,则配置成功。

87590723b244bccbfaec097da69f6032.png

三、jexus配置

jexus的配置文件是jws.conf,文件指明了网站配置文件的存放位置、日志、证书等等。下面为详细内容

SiteLogDir=log #网站日志以及Jexus系统日志的存放位置,必填项。可以使用基于jws.exe文件的相对路径

SiteConfigDir=siteconf #网站配置文件存放的位置,是必填项。可以使用绝对路径,也可以使用基于jws.conf文件的相对路径

Runtime=v4.0.30319 #设定Jexus工作进程运行于哪个.NET版本

httpd.processes=1 #工作进程的数量,建议每6-8核CPU用一个进程,最多可设4个进程

httpd.user=www-data #工作进程以什么用户身份和对应权限工作,默认为root

php-fcgi.set=/usr/bin/php-cgi,6 #如果需要Jexus同时充当PHP FastCGI服务器,这一句就是fast-cgi设置,分两个部分,逗号前为php-cgi这个文件的路径,逗号后是php进程数

CertificateFile=/xxxx/xx.crt #SSL证书路径(如果需要使用https协议才填)

CertificateKeyFile=/xxxx/xx.key #SSL密钥文件路径(如果需要使用https协议才填)

注:jws.conf 中,SiteConfigDir 和 SiteLogDir 两项是必填项。

在网站配置文件中,此文件夹默认有一个default文件,默认端口为80,默认网站资源路径为/var/www/default,上面测试例子就是用的最简单的配置。

配置时,首先要注意如下三个规则:

1)必须把所有网站配置文件放到jws.conf指定的网站配置文件夹内,这个文件夹除了网站配置文件,不能有其它任何文件,因为jexus会认为这儿的任何一个文件都代表着一个不同的网站。

2)每个网站有且只有一个配置文件,配置文件的文件名就是这个网站的名称,比如 www.mysite.cn这个网站,配置文件名可以写成“mysite”,当然也可以写成其它文件名,以便管理员容易记忆和识别,但要特别注意:文件名不能有空格!

3)一个网站可以拥有任意多的域名,不同网站不能有相同的域名,没有域名的网站只能有一个,这个没有域名的网站叫做“默认网站”,而一台服务器最多只能有一个默认网站。

如果你的机器上端口有多余,直接上传Asp.Net项目,新建一个网站配置文件,通过外网直接就可以访问了,本来到此应该配置完了。但是我的机器对外开放了80和443端口,所有的项目都是通过Nginx分发实现,所以上面测试的例子只能本机访问。

四、配置Nginx

如果你有其他域名,直接在Nginx中设置如下配置,Nginx就会将访问此域名的请求转发到对应的项目中处理。

 server { listen 80; server_name api.abc-cn.com(你的域名); location / { proxy_pass http://localhost:8060/;(本地配置的jexus地址) } }

由于我只有一个二级域名,所以让Nginx通过请求的URL来区分请求,分别转发。

ad432dcc2362737aa8e0ae3e129028ab.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值