在上篇文章中,主要介绍了 Dotnet Core Run 命令,这篇文章主要是讲解如何在 asp.net core 中对我们的已经完成的程序进行发布和部署。
有关如何使用 Nginx 进行部署,请参见本人的另一篇文章:
目录安装 Liunx DotNet 环境
新建一个 Web 项目,并发布
使用 Jexus 进行反向代理
安装 Linux DotNet 环境安装 dotnet 环境参见官方网站 。
新建一个 WebApp 项目,并发布在 Asp.Net Core 项目中,我们使用 dotnet new -t WebApp 命令和创建一个新的空的 Web 应用程序,然后使用dotnet resotre还原 Nuget。
主要是用以下几个命令:
mkdir HelloWebApp 这个命令是创建一个名为 HelloWebApp 的文件夹。
dotnet new -t Web 这个命令是使用 Web 模板来新建一个 WebApp 的 Mvc 应用程序。
新建了应用程序之后,使用dotnet restore 和 dotnet run 命令来测试一下我们的应用程序。
我们打开浏览器输入 :5000,来看一下效果。
可以看到已经成功运行了。
如果发布应用程序,我们需要使用 dotnet publish命令,通过使用 --help 参数可以看到一些可以使用的命令参数。
-f|--framework <FRAMEWORK> Target framework to compile for -r|--runtime <RUNTIME_IDENTIFIER> Target runtime to publish for -b|--build-base-path <OUTPUT_DIR> Directory in which to place temporary outputs -o|--output <OUTPUT_PATH> Path in which to publish the app --version-suffix <VERSION_SUFFIX> Defines what `*` should be replaced with in version field in project.json -c|--configuration <CONFIGURATION> Configuration under which to build --native-subdirectory Temporary mechanism to include subdirectories from native assets of dependency packages in output --no-build Do not build projects before publishing我们运行dotnet publish -o ~/WorkSpace/publish 发布到 publish 文件夹,当看到Published 1/1 projects successfully的时候,说明已经发布成功了。
PS: 如果提示没有安装 NPM 工具,运行sudo install apt-get npm -g,先安装 NPM。
如果提示没有 bower 管理工具,使用 sudo npm install bower -g安装 bower。
如果提示没有 gulp 构建工具,使用 sudo npm install gulp -g安装 gulp。
如安装过程中无响应,请科学上网后再安装。
发布之后 publish 文件夹里面的子文件夹有必要说明一下。
appsettiong.json 应用程序的配置文件 refs 应用程序引用的.net fx系统程序集 runtimes 运行时环境,可以看到里面的文件夹包含 win7、linxu,mac os 等,说明我们这个应用程序是跨平台的。 views 这个文件夹存放的就是我们的 mvc 的视图文件。 wwwroot 文件夹,存放的是前端使用的 js 库,css 样式表,和图片等。然后使用dotnet HelloWebApp.dll测试发布过后的程序是否运行正常。
使用 Jexus 进行反向代理Jexus 介绍
安装 Jexus
配置 Jexus
注意事项
Jexus 介绍Jexus 是一款国产的,运行在 Linux 上的 Web 服务器。 具体介绍我就直接放链接了。
安装 Jexus在命令行窗口中,使用以下命令来安装一个绿色版的 jexus(无需另行安装 Mono)。
cd /tmp wget linuxdot.net/down/jexus-5.8.1-x64.tar.gz tar -zxvf jexus-5.8.1-x64.tar.gz sudo mv jexus /usr sudo rm -rf /tmp/jexus*使用以下命令来启动 jexus
cd /usr/jexus sudo ./jws start 配置 Jexus有两种方式可以在 Jexus 上访问我们的 Web 应用程序。 即端口转发和反向代理的方式,下面是两种方式的配置方法。
1、** 端口转发 **
端口转发,即把 Jexus 配置的端口直接转发到我们的 asp.net 程序中,即转发到 Kestrel 去处理。
2、** 反向代理 **