这样就ok了 。
创建服务文件什么是服务文件?
在 Linux 中 , 还有具有“.service”扩展名的单元配置文件 , 用于在进程退出时控制守护程序的行为 。这些文件也称为 服务文件、 单元文件和 服务单元文件 。
这些服务文件位于以下目录之一:
/usr/lib/systemd/system:存储已下载应用程序的服务文件/etc/systemd/system/:存储由系统管理员创建的服务文件
这两个分别放什么呢?
比如这种nginx 一般是第三方的程序 , 就放在/usr/lib/systemd/system下面 。
一般yum安装都在里面 。
然后/etc/systemd/system/ 这里放的是我们自己的应用程序 。
这里就可以在这个目录下写一个:
[Unit]Description= AspNetCoreDemo[Service]WorkingDirctory:/var/testdotnet/ExecStart=/usr/bin/dotnet /var/testdotnet/AspNetCoreDemo.dllRestart=awaysRestartSec=10SyslogIdentifier=AspNetCoreDemoUser=rootEnvironment=ASPNETCORE_ENVIRONMENT=DevelopmentEnvironment=DOTNET_PRINT_TELEMETRY_MESSAGE=false[Install]WantedBy=multi-user.target简单解释一下:
WorkingDirectory 是发布应用程序的目录 。ExecStart 是启动应用程序的实际命令 。Restart=always 是自言自明的 。如果由于某种原因(无论是手动还是由于崩溃)而停止 , 则始终会启动此过程 。RestartSec=10 也是自言自明的 。进程停止后 , 将在经过 10 秒后启动 。SyslogIdentifier 很重要 。它表示“系统日志标识符” 。有关守护程序的信息记录在此名称下的系统日志中 。还可以使用此标识符查找进程的 PID 。User 是管理服务的用户 。它应存在于系统中 , 并具有相应的应用程序文件所有权 。可以在服务文件中设置任意数量的环境变量 。
然后查看一下:
![重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]](http://shimg.jingyanzongjie.com/230727/0255292057-4.png)
文章插图
然后这里有一个disable,这个意思是系统重启后不会去启动这个 。
![重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]](http://shimg.jingyanzongjie.com/230727/0255292093-5.png)
文章插图
设置enable:systemctl enable AspNetCoreDemo
![重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]](http://shimg.jingyanzongjie.com/230727/02552a3Q-6.png)
文章插图
这里就会创建一个链接过去 。这里面的就是开启启动的 。
![重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]](http://shimg.jingyanzongjie.com/230727/0255292G1-7.png)
文章插图
这样就ok了 。
安全说到安全就要说下iptable 了 。
这个就是一个轻量的防火墙了 , 比较实用 。
但是这里面有一个问题 , 那就iptable 配置很复杂 , 有多复杂呢? 可以看下我的linux 系列 。
所以就有个开发了配置工具 , 可以理解为iptable的客户端吧 。
这里解释一个ufw这个 , 市面上有很多 , 可以找到适合自己的 。
安装很简单:
yum install ufw
- 运行命令检查 ufw 的 sudo ufw status verbose 状态 。默认情况下 , ufw 未启用且处于非活动状态 。
- 运行 sudo ufw default allow 命令 。由于除了默认的“allow”规则之外 , 没有其他规则 , 因此 VM 上的每个端口都将被视为已打开 。
- 可以通过运行 sudo ufw default deny 命令将默认规则更改为拒绝来实现此操作 。仅允许 SSH 和 HTTP 协议 。其他协议将被拒绝 。
- 通过运行 sudo ufw allow http允许 HTTP 协议 。 TTP 是在 /etc/services 文件中定义的已知协议 。因此 , 可以使用协议名称 , 并且可以运行该 sudo ufw allow http 命令 。运行 sudo ufw allow 80 也完全有效 。
经验总结扩展阅读
- .Net Core&RabbitMQ限制循环消费
- IQueryable和IEnumerable 快读《ASP.NET Core技术内幕与项目实战》EFCore2.5:集合查询原理揭秘
- .NET6打包部署到Windows Service
- Dapr实现.Net Grpc服务之间的发布和订阅,并采用WebApi类似的事件订阅方式
- 是什么让.NET7的Min和Max方法性能暴增了45倍?
- no one与nobody的用法是什么 相关句子整理
- 浏览器下载的文件怎么重新下载(在浏览器下载的文件怎么打开)
- 19 基于.NetCore开发博客项目 StarBlog - Markdown渲染方案探索
- 房贷提前还款后利息重新计算吗
- 31 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android系统中Flutter应用程序的包
