.netcore web在linux下部署

说明:本文目的选择较为简单的部署方式,内容也会较为简略仅提供参考

1.准备工作

 

Linux Server CentOS 7
SDK .NET Core SDK 版本根据项目选择
工具 xshell

 

 

 

 

2.发布流程

注册密钥 sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

2.1 安装.netcore sdk

yum install dotnet-sdk-2.1     ps:其他版本请参考微软官方文档

2.2 查看sdk版本

dotnet --version

 

2.3 xshell传输项目文件

此处省略请参考xshell相关教程

 

2.4 守护进程选择

比如dotnetcore webapi项目 其实本质就是一个控制台程序,所以在linux上部署需要守护进程。

微软官方以及网上教程多数让大家使用 supervisor

运维建议使用定时任务,运维给出的解释是两者本质都是与项目程序形成一个“会话”状态,保证项目进程实时运行

这里介绍一下 crontabs的使用

2.4.1安装crontabs

yum install crontabs

systemctl enable crond

systemctl start crond

2.4.1编辑crontabs

crontab -e      命令

*/1 * * * * /user/sh Scheduled.sh    设置每分钟执行脚本,配置其他时间定时任务请查阅crontabs

这里Scheduled.sh脚本内容为    dotnet /user/publish/project.dll --server.urls "http://192.168.1.1:5000"

 

3.常见问题

q1.网上常见教程有nginx,这里没有介绍

a1.对于初学者来说,简单的部署更为简单,如果需要可以查阅nginx相关内容

q2.为什么按照博主教程操作还是不能访问自己的程序

a2.  1. chomod 777publish文件夹赋予权限      2.查看端口是否开启  firewall-cmd --zone=public --add-port=5000/tcp --permanent

 

结语

文中若有错误欢迎指正,感谢。

posted @ 2019-12-11 15:28  reg168  阅读(406)  评论(0)    收藏  举报