x64系统中Jexus web server部署.Net Core和端口分析

首先要准备Ubuntu系统,这里我是16.04-x64版本,为什么我重点写明版本号呢,因为我在官网直接下载最新的Jexus包后,尽然运行不起来,后来在善友兄文章中找到了个地址,安装试运行后是可以的也同样标记的是最新版,只不过后面带了个64位的标记,这是一个悲催的天;

我们还需要一个.netcore程序,为了测试方便我这里创建的是一个api程序,并且api的action里面这样修改了下:

1 [HttpGet]
2        public IEnumerable<string> Get()
3        {
4            return new string[] {$"这个站点是:{Request.Host.Host}:{Request.Host.Port}" };
5        }

输出当前应用程序对应的ip和端口,因为在后面为了更好的测试以及区分;这里也简单改造了下Program.cs中的代码,同样也是为了方便测试:

public static void Main(string[] args)
        {
            var builder = new WebHostBuilder()
                .UseKestrel();
            //参数指定端口
            builder = args.Length > 0 ? builder.UseUrls(args[0]) : builder;
            var host = builder.UseContentRoot(Directory.GetCurrentDirectory())
                  .UseIISIntegration()
                  .UseStartup<Startup>()
                  .UseApplicationInsights()
                  .Build();
            host.Run();
        }

改完代码后,需要生成运行包,怎么生成这里就不讲了,有兴趣的朋友可以去看这里Asp.NetCore1.1版本没了project.json,这样来生成跨平台包;然后通过多种方式把程序包传到虚拟机上,这里我通过共享目录的方式传递的,如果有朋友需要以后有机会分享吧;

再来剩下的就是在ubuntu中使用Jexus web server服务了,为了我虚拟机空间着想,这里我是在tmp中操作的,主要以下步骤,打开终端:

1. cd /tmp(进入临时目录)

2. wget linuxdot.net/down/jexus-5.8.2-x64.tar.gz(下载jexus文件包)

3. tar zxvf jexus-5.8.2-x64.tar.gz(解压到当前目录,无需安装)

4. chmod o+w /tmp/jexus/siteconf(为了方便设置jexus文件夹中的siteconf配置文件夹可以直接操作)

5. chmod o+w /tmp/jexus/siteconf/default(设置默认配置default文件可直接通过打开文件方式修改 注:本人不喜欢通过命令来修改,才有此步骤)

6. cd jexus(进入jexus目录  注:由于如果按照我步骤操作的话这样可以直接进入jexus目录,实际jexus目录在 cd /tmp/jexus)

7. ./jws start(测试jexus是否能正常运行,就我写本篇博客的时候第一次执行这命令返回的结果是:Failure,原因是我没用root权限执行命令,改成root执行命令就行了,怎么root以后有机会再讲)

Jexus web server开始部署.NetCore

首先直接通过点击文件夹的方式进入如下目录(您也可以通过终端进入,个人喜好便捷):/tmp/jexus/siteconf;能够看到名称问default的文件,此文件在安装时是非root权限只读的,由于我们在上面使用命令:chmod o+w /tmp/jexus/siteconf/default设置了运行其他权限的用户都能修改内容,所以这里我直接改,其他信息暂时不改动,只需要增加apphost节点:

1 port=80 2 root=/ /var/www/default 3 hosts=* #OR your.com,*.your.com 4 #增加apphost节点 5 AppHost={CmdLine=dotnet /home/wangrudong003/netcore/publish01/T_Jexus.dll;AppRoot=/home/wangrudong003/netcore/publish01;Port=5000}

增加apphost节点的几个属性说明:

CmdLine:执行命令(熟悉一点.netcore运行的朋友可能知道,.netcore运行命令可以这样:dotnet xxx.dll这样就能跑起来程序了,同理可以看成一样的,但是需要指定应用程序具体目录,这里我的是 /home/wangrudong003/netcore/publish01 )
AppRoot:表示应用程序的目录,这里我的是 /home/wangrudong003/netcore/publish01
Port:监听端口;

jexus注意点(大家可以去这里详细了解:https://www.linuxdot.net/bbsfile-3084):
port=80:表示通过jexus来监听80端口,以此来访问我们的  /home/wangrudong003/netcore/publish01/T_Jexus.dll  程序
root=/ /var/www/default:指定的虚拟目录

最后root权限进入cd /tmp/jesux目录,然后开启服务:./jws start  ;如果不出意外的话,您也能够看到如下截图信息:

然后咋们来通过80端口访问以下我们部署的接口(这里我ubuntu服务器的ip是172.16.9.66):,访问成功的截图:

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

转载注明出处:https://www.heiqu.com/e2dae671514aae5bfbae66eba8f87b13.html