h5个人网站模板源码,福田公司企业文化,应用中心安装,青岛的做网站公司在本文中#xff0c;我们将介绍如何将 Blazor 应用程序放入Jexus 容器以进行开发和部署。我们将使用 .NET Core CLI#xff0c;因此无论平台如何#xff0c;使用的命令都将是相同的。Blazor 托管模型Blazor 有两个托管模型#xff0c;它们的要求不同#xff0c;本文主要基… 在本文中我们将介绍如何将 Blazor 应用程序放入Jexus 容器以进行开发和部署。我们将使用 .NET Core CLI因此无论平台如何使用的命令都将是相同的。Blazor 托管模型Blazor 有两个托管模型它们的要求不同本文主要基于WebAssembly模型介绍容器化。Blazor WebAssembly一个 Web 框架用于在浏览器中使用 WebAssembly 运行客户端。Blazor 服务器运行服务器端并使用 SignalR 与浏览器通信的 Web 框架。WebAssembly 托管模型的目标是在浏览器中托管整个应用程序。Blazor WebAssembly 应用程序中的项目包括 HTML、JavaScript、.NET 运行时版本和二进制文件。它们都在浏览器中运行因此您可以将它托管为静态网站。不需要服务器运行时或解释器。Blazor WebAssembly 仍处于预览模式是最后一个预览版5.19 将正式发布因此您必须手动安装模板才能创建 Blazor WebAssembly 应用程序。dotnet new -i Microsoft.AspNetCore.Components.WebAssembly.Templates::3.2.0-rc1.20223.4现在您已经安装了模板您可以使用以下 .NET CLI 命令创建新的 Web 组装应用程序dotnet new blazorwasm -o wasmtest这将创建一个新的 Blazor WebAssembly 应用程序名称为wasmtest。您可以将wasmtest 更改为项目名称。生成并测试应用后即可发布应用。运行点网发布命令dotnet publish -c Release你会看到如下输出PS C:\workshop\idt2019\wasmtest dotnet publish -c Release -o publish用于 .NET Core 的 Microsoft (R) 生成引擎版本 16.5.0d4cbfca49版权所有(C) Microsoft Corporation。保留所有权利。 C:\workshop\idt2019\wasmtest\wasmtest.csproj 的还原在 93.3 ms 内完成。 wasmtest - C:\workshop\idt2019\wasmtest\bin\Release\netstandard2.1\wasmtest.dll wasmtest (Blazor output) - C:\workshop\idt2019\wasmtest\bin\Release\netstandard2.1\wwwroot wasmtest - C:\workshop\idt2019\wasmtest\publish\ 在这里你可以看到我们的程序的文件都发布到了路径C:\workshop\idt2019\wasmtest\publish\ 我们的所有成果输出都是静态文件都放在文件夹wwwroot 目录下PS C:\workshop\idt2019\wasmtest\publish ls wwwroot 目录: C:\workshop\idt2019\wasmtest\publish\wwwrootMode LastWriteTime Length Name---- ------------- ------ ----d----- 2020/5/4 12:38 cssd----- 2020/5/4 12:38 sample-datad----- 2020/5/4 12:38 _framework-a---- 2020/5/4 12:34 32038 favicon.ico-a---- 2020/5/4 12:34 651 index.html可以从任何静态web 站点上运行这个文件我们就使用一个Jexus 容器来运行blazor 应用。Jexus 是一款国产的 Linux 平台上的高性能WEB服务器 和负载均衡网关以支持 ASP.NET、 ASP.NET CORE、 PHP 为特色 同时具备反向代理、 入侵 检测等重要功能。可以这样说 Jexus是 .NET、 .NET CORE 跨平台的最优秀的宿主服务器如 果我们认为它是 Linux平台 的 IIS 这并不为过因为 Jexus 不但非常快而且拥有 IIS 和 其它 Web 服务器所不具备的高度的安全性这是政府机构和重要企业对web服务器最必要也是最重要的 品质需求。张志敏同学在维护这个Jexus镜像得到了Jexus作者宇内流云的认可 Docker Hub 地址https://hub.docker.com/r/beginor/jexus-x64。 我们来创建一个Jexus 托管静态网站的配置wasmtest####################### Web Site: wasmtest.csharpkit.com########################################port80root/ /var/www/wasmtest/hosts wasmtest.csharpkit.comNoFile/index.htmlUseGZIPtrue 创建一个容器打包镜像的DockerfileFROM beginor/jexus-x64:6.2.1.12COPY ./jexus/wasmtest /usr/jexus/siteconf/wasmtestCOPY ./publish/wwwroot /var/www/wasmtestCMD [ jws, start] 此文件将拉下jexus 镜像然后将jexus网站的配置文件复制到容器文件系统中的默认的jexus 配置文件夹。它将在每次生成镜像时执行此操作因此如果你需要对项目进行更改则需要重新生成镜像。这就是我们需要启动和运行Blazor WebAssembly静态文件所需的以前现在我们就来创建一个镜像docker build –f ./Dockfile –t geffzhang/wasmtest:lastest . PS C:\workshop\idt2019\wasmtest docker build -f .\Dockerfile -t geffzhang/wasmtest:lastest .Sending build context to Docker daemon 29.42MBStep 1/4 : FROM beginor/jexus-x64:6.2.1.126.2.1.12: Pulling from beginor/jexus-x6468ced04f60ab: Already exists 08da89b1ce63: Pull complete e1c7e1fba2a2: Pull complete 7bb8aca5914e: Pull complete Digest: sha256:385f8a80d06dc25cc72e072e57983316c7c4faa5e793825fc3bea3fe09701e0cStatus: Downloaded newer image for beginor/jexus-x64:6.2.1.12 --- d2b984e7898cStep 2/4 : COPY ./jexus/wasmtest /usr/jexus/siteconf/wasmtest --- 1ffe6bdc10deStep 3/4 : COPY ./publish/wwwroot /var/www/wasmtest --- a60b338191aaStep 4/4 : CMD [ jws, start] --- Running in da8c19f7849bRemoving intermediate container da8c19f7849b --- a04cf465b883Successfully built a04cf465b883Successfully tagged geffzhang/wasmtest:lastestSECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have -rwxr-xr-x permissions. It is recommended to double check and reset permissions for sensitive files and directories. 我们可以运行它 docker run –name wasm1 –p 80:80 –d geffzhang/wasmtest:lastest PS C:\workshop\idt2019\wasmtest docker run --name wasm1 -p 80:80 -d geffzhang/wasmtest:lastest101ecc49b5913d69300a7554022ecef681760922640fc39faf6195d69e04bb56 这将容器作为守护进程运行因此他将能够持续运行直到你停止它。现在我们有了一个静态的Jexus 服务器在端口80上运行应用程序。你可以通过浏览器上看到它在生产环境中我们可以通过Jexus配置更多的操作上面这些步骤是托管你的Blazor WebAssembly 应用程序在容器中进行开发。代码参见https://github.com/BlazorHub/wasmtest