.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 777给publish文件夹赋予权限 2.查看端口是否开启 firewall-cmd --zone=public --add-port=5000/tcp --permanent
结语
文中若有错误欢迎指正,感谢。

浙公网安备 33010602011771号