网上有很多部署Net Core3.1的帖子、但是坑比较多,下面完整说一下Centos7系统完整部署 dotnet 避免踩坑。
首先是安装.net Core ,官方网址如下:
https://docs.microsoft.com/zh-cn/dotnet/core/install/
选择Centos7系统 安装SDK与ASP.NET Core 运行时 两个仅可
一:安装.NET 之前先需要一个密钥
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
安装 .NET Core SDK
sudo yum install dotnet-sdk-3.1
安装 ASP.NET Core 运行时
sudo yum install aspnetcore-runtime-3.1
接下来在Linux下 输入命令:dotnet --info 查看运行库版本也就是SDK版本,出现如下信息则表示安装成功
二:接下来就是部署我们的项目、首先把你的项目文件上传到服务器中、使用xftp 或者WinSCP 都行 : 注意在这里上传不推荐大奥 home目录或者root目录 可能会遇到权限问题。
上传成功后 在linux中进入到存放项目文件的路径下运行 :dotnet xxx.web.dll 出现如下则表示成功。
这样 在我们的服务器上就可以访问了,
如果想通过局域网访问 那么久需要另行配置了
首先检查你的防火墙后开放你的项目端口号:我这里是8001
firewall-cmd --zone=public --add-port=8001/tcp --permanent // permanent参数是永远存在,不然的话,重启后就没有了
firewall-cmd --reload // 重启防火墙 ,添加端口后记得执行此命令
之后运行项目,注意:这里我这个dotnet默认只监听本地的8001端口,你外部访问还需要命令后面加上参数urls
dotnet TechSupport.Web.dll --urls http://*:8001
出现如下表示成功:
一般来说,现在就你可以通过外网地址加项目的端口访问你的网站了。
如果不可以就需要安装 Nginx 进行映射
首先需要安装Nginx
//以下第一句是给你的centos安装一个yum源,因为nginx没有yum的源,我的理解就是nginx没在yum的应用商城上发布
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install -y nginx //这句才是真正的安装nginx
systemctl start nginx //启动nginx,就是这么简单
systemctl enable nginx //将nginx设为开机启动
现在可以用下你外网的地址访问下,nginx默认有开启一个80端口的服务了,(记得把防火墙关了或添加一个开放80的端口)