重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]( 二 )

简单解释一下:
WorkingDirectory 是发布应用程序的目录 。ExecStart 是启动应用程序的实际命令 。Restart=always 是自言自明的 。如果由于某种原因(无论是手动还是由于崩溃)而停止 , 则始终会启动此过程 。RestartSec=10 也是自言自明的 。进程停止后 , 将在经过 10 秒后启动 。SyslogIdentifier 很重要 。它表示“系统日志标识符” 。有关守护程序的信息记录在此名称下的系统日志中 。还可以使用此标识符查找进程的 PID 。User 是管理服务的用户 。它应存在于系统中,并具有相应的应用程序文件所有权 。可以在服务文件中设置任意数量的环境变量 。
然后查看一下:

重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]

文章插图
然后这里有一个disable,这个意思是系统重启后不会去启动这个 。
重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]

文章插图
设置enable:systemctl enable AspNetCoreDemo
重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]

文章插图
这里就会创建一个链接过去 。这里面的就是开启启动的 。
重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]

文章插图
这样就ok了 。
安全说到安全就要说下iptable 了 。
这个就是一个轻量的防火墙了,比较实用 。
但是这里面有一个问题,那就iptable 配置很复杂,有多复杂呢? 可以看下我的linux 系列 。
所以就有个开发了配置工具,可以理解为iptable的客户端吧 。
这里解释一个ufw这个,市面上有很多,可以找到适合自己的 。
安装很简单:
yum install ufw
  1. 运行命令检查 ufw 的 sudo ufw status verbose 状态 。默认情况下 , ufw 未启用且处于非活动状态 。
  2. 运行 sudo ufw default allow 命令 。由于除了默认的“allow”规则之外,没有其他规则,因此 VM 上的每个端口都将被视为已打开 。
为什么ufw 有这个设置allow 的东西呢? 这跟iptable 的模式有关 , iptable 两种模式,一个是allow 一种是 reject , 如果设置了allow,那么就配置不允许的 , 就是规则里面没有的就允许,反之亦然 。
  1. 可以通过运行 sudo ufw default deny 命令将默认规则更改为拒绝来实现此操作 。仅允许 SSH 和 HTTP 协议 。其他协议将被拒绝 。
  2. 通过运行 sudo ufw allow http允许 HTTP 协议 。 TTP 是在 /etc/services 文件中定义的已知协议 。因此,可以使用协议名称,并且可以运行该 sudo ufw allow http 命令 。运行 sudo ufw allow 80 也完全有效 。
测试一下哈: sudo ufw deny http
这里设置http为不允许:
重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]

文章插图
这样就可以了 , 然后就访问不了了 。
多实例如果想部署多个在同一台机器的话,那么创建另外一个service,然后配置一下环境:
Environment=ASPNETCORE_URLS=http://localhost:6001
这样就启动的是另外一个端口了 。
那么nginx 做负载均衡,这个已经在nginx 系列了 , 就不罗嗦了 。
结下一结利用一些工具在nginx 排查和监控netcore的运行情况 。

推荐阅读