Ubuntu 16.04下用Jexus部署ASP.NET Core环境
Jexus是一个高性能的Web服务器,支持多种Web技术,包括ASP.NET Core。在本攻略中,我们将介绍如何在Ubuntu 16.04下使用Jexus部署ASP.NET Core环境。
步骤一:安装Jexus
首先,需要安装Jexus。可以使用以下命令在Ubuntu 16.04中安装Jexus:
wget https://www.jexusmanager.com/jexus-6.2.5-x64.tar.gz
tar -zxvf jexus-6.2.5-x64.tar.gz
cd jexus-6.2.5-x64
sudo ./install
步骤二:安装ASP.NET Core运行时
接下来,需要安装ASP.NET Core运行时。可以使用以下命令在Ubuntu 16.04中安装ASP.NET Core运行时:
sudo apt-get update
sudo apt-get install -y libunwind8 libicu55
wget https://download.visualstudio.microsoft.com/download/pr/100349791/e64d79b40219aea618ce2fe10ebd5f0d/dotnet-sdk-2.2.402-linux-x64.tar.gz
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-2.2.402-linux-x64.tar.gz -C $HOME/dotnet
export PATH=$PATH:$HOME/dotnet
步骤三:创建ASP.NET Core应用程序
接下来,需要创建一个ASP.NET Core应用程序。可以使用以下命令在命令行中创建一个新的ASP.NET Core应用程序:
dotnet new web -nWebApp
步骤四:配置Jexus
接下来,需要配置Jexus。使用以下步骤配置Jexus:
- 在“/usr/jexus/siteconf”目录中,创建一个名为“WebApp.conf”的文件,并添加以下内容:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
在上面的代码中,我们创建了一个名为“WebApp”的Jexus站点,并将其配置为代理到ASP.NET Core应用程序的默认端口5000。
- 在“/usr/jexus/conf”目录中,打开“jws.conf”文件,并添加以下内容:
include /usr/jexus/siteconf/*.conf;
在上面的代码中,我们将Jexus配置为包含所有站点配置文件。
示例一:使用Jexus部署ASP.NET Core应用程序
以下是一个示例,演示如何使用Jexus部署ASP.NET Core应用程序:
- 在命令行中,使用以下命令运行应用程序:
cd WebApp
dotnet run
- 在浏览器中,导航到“http://localhost:5000/”。
-
应该看到ASP.NET Core应用程序的默认欢迎页面。
-
在命令行中,使用以下命令启动Jexus:
sudo /usr/jexus/jws start
- 在浏览器中,导航到“http://localhost/”。
- 应该看到ASP.NET Core应用程序的默认欢迎页面。
示例二:使用Jexus部署ASP.NET Core Web API
以下是一个示例,演示如何使用Jexus部署ASP.NET Core Web API:
- 在“Controllers”文件夹中,创建一个名为“ValuesController.cs”的文件,并添加以下代码:
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
namespace WebApp.Controllers
{
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
}
在上面的代码中,我们创建了一个名为“Values”的Web API控制器,并添加了一个名为“Get”的方法,该方法返回一个字符串数组。
- 在“Startup.cs”文件中,添加以下代码:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace WebApp
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
}
在上面的代码中,我们将ASP.NET Core应用程序配置为使用MVC,并将Web API控制器映射到“/api/values”。
- 在命令行中,使用以下命令运行应用程序:
cd WebApp
dotnet run
- 在浏览器中,导航到“http://localhost:5000/api/values”。
-
应该看到Web API控制器返回的字符串数组。
-
在命令行中,使用以下命令启动Jexus:
sudo /usr/jexus/jws start
- 在浏览器中,导航到“http://localhost/api/values”。
- 应该看到Web API控制器返回的字符串数组。
结论
在本攻略中,我们介绍了如何在Ubuntu 16.04下使用Jexus部署ASP.NET Core环境。我们提供了两个示例,演示了如何使用Jexus部署ASP.NET Core应用程序和Web API。通过使用Jexus,我们可以轻松地部署ASP.NET Core应用程序和Web API,并获得高性能的Web服务器支持。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ubuntu16.4下用jexus部署ASP.NET Core环境 - Python技术站