最近这三个月,主要是项目上线的准备,以及后台没有开发完成,造成时间上比较赶,也没有说明时间写博客,8月份一不小心就过去了,我竟然没有写一篇文章,看着9月也马上过去了,还是写一篇文章记录一下吧!
一
大家都知道 NET Core 是跨平台的,可以在 Windows
,Linux
等这些跨平台中运行 (现在这家公司,用的技术是NET Core, Linux ,PgSQL,Redis),所以,有更多的机会接触到Linux
在Windows中, 我们可以把 Net Core
直接寄托在IIS, 也可以直接使用命令行运行(这里我很好奇大家的 NET Core
企业项目,是用上面方式运行 NET Core
)
我们这次不讲 Windows,直接说 Linux 中 创建 守护进程
运行 NET Core
二
本地的虚拟机
看看是否有环境
这里移步到官方 https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos
文件已经丢进去了
接下来,我么先使用命令行运行一下,看看项目能不能跑起来
这里 我没有3.0的环境、我们装一个
运行
出现了这个,我们看看防火墙,以及端口
firewall-cmd --state
查看防火墙状态
firewall-cmd --zone=public --add-port=9999/tcp --permanent
开放端口
firewall-cmd --reload
重启配置
在运行一下,看看
但是有个问题,不知道大家发现没有
如果我们需要输入命令, 需要停止,命令输入完毕之后,还需要重新运行,而下面就是我们今天的重点
三 在linux下创建自定义service服务
[Unit]
Description="CgrainService"
[Service]
Type=simple
GuessMainPID=true
WorkingDirectory=/home/CgrainDemo/ //项目路径
StandardOutput=journal
StandardError=journal
ExecStart=/usr/bin/dotnet ChengFengGraphic.dll //启动指令
Restart=always
[Install]
WantedBy=multi-user.target
[Unit]
Description=APIService
[Service]
WorkingDirectory=/home/xxx/xxx/api
ExecStart=/usr/bin/dotnet /home/xxx/xxx/api/xxx.dll
Restart=always
RestartSec=10
SyslogIdentifier=APIService
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
设置开机自启动
对应启动步骤就可以了
1.启动nfs服务
systemctl start CgrainService.service
2.设置开机自启动
systemctl enable CgrainService.service
3.停止开机自启动
systemctl disable CgrainService.service
4.查看服务当前状态
systemctl status CgrainService.service
5.重新启动某服务
systemctl restart CgrainService.service
``
打开浏览器
我们看看
目前未启动
完成