一、在centos8中安装dotnet
1、查看系统版本
uname -a
显示x86_64
2、下载sdk
下载网址:
https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0
3、上传文件dotnet-sdk-6.0.415-linux-x64.tar.gz到dotnet文件夹内
4、安装
cd dotnet到达dotnet文件夹内
执行安装解压并安装命令:
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-6.0.415-linux-x64.tar.gz -C $HOME/dotnet
设置系统范围的环境变量:
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
重启后dotnet命令会失效,编辑/etc/profile。
sudo nano /etc/profile
在最后加上:
export PATH=$PATH:$HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
检查:dotnet --info
dotnet --version
dotnet --list-sdks
二、新建asp.net core项目并发布
1、新建项目
2、安装
(1)Microsoft.Extensions.Hosting
(2)Microsoft.Extensions.Hosting.Systemd
3、修改Program.cs
在Host.CreateDefaultBuilder(args)后追加UseSystemd()
在webBuilder.UseStartup<Startup>()后追加UseUrls("http://*:5000")
namespace test
{
public class Program
{
private static IConfigurationRoot Configuration { get; set; }
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
.AddJsonFile("appsettings.json", optional: true)
.Build();
Configuration = config;
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args).UseSystemd()
.ConfigureWebHostDefaults(webBuilder =>
{
//webBuilder.UseKestrel().UseUrls(Configuration["server.urls"]);
webBuilder.UseStartup<Startup>().UseUrls("http://*:5000");
});
}
}
4、新增Startup.cs
namespace test
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseHttpsRedirection();
app.UseCookiePolicy();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
}
5、发布项目
6、上传文件到test文件夹
7、赋予执行权限
sudo chmod 777 test.dll
8、执行
dotnet test.dll
三、设置守护程序
1、赋予执行权限
sudo chmod 777 test.dll
2、cd到
system位置
cd /etc/systemd/system
3、创建view.service文件
sudo nano view.service
4、输入内容
[Unit]
Description=view service
[Service]
# 应用程序所在的文件目录
WorkingDirectory=/home/lwdred/test/
ExecStart=/home/lwdred/dotnet/dotnet /home/lwdred/test/test.dll
Restart=always
# 如果dotnet服务崩溃,10秒后重新启动服务
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=AspNetCoreDemo
User=lwdred
Environment=ASPNETCORE_ENVIRONMENT=Development
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
快捷键Ctro+字母o后输入文件名:view.service
快捷键Ctro+字母x后保存文件并退出编辑模式。
5、
启动服务
根据需要适当执行以下服务命令。
/重新挂载服务
sudo systemctl daemon-reload
//启动服务
sudo systemctl start view.service
//重启服务
sudo systemctl restart view.service
//停止
sudo systemctl stop view.service
//查看服务状态
sudo systemctl status view.service
//设置开机启动
sudo systemctl enable view.service
//查看服务是否是自启动
systemctl is-enabled view.service