CentOS 7中部署.NET Code WEB程序

前言

公司需要将一个门户网站,从WINDOWS IIS 移植到 CentOS 7中,记录一下运行方式。

注册 Microsoft 密钥和源

我们需要在自己的服务器上注册 Microsoft 密钥和源,这个操作是每一台服务器只能执行一次的

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

它主要是会帮助我们注册密钥和安装一下必须的依赖项。

安装 .NET Core SDK

注册完之后我们就可以按照自己的需要选择相应的SDK版本进行安装,示范中我是选择了最新版3.1:

sudo yum install dotnet-sdk-3.1

因为是采用了yum安装,所以会先执行一轮系统中的包更新;
然后就会下载对应版本SDK的包;
当然啦,因为在服务器上我们可能只是需要运行项目,并不需要进行编程或者是打包等的一系列操作,这时候我们就可以只选择安装runtime的SDK就可以了,对应的bash脚本是:

sudo yum install aspnetcore-runtime-3.1
sudo yum install dotnet-runtime-3.1

安装成功之后,我们通过查看SDK的版本命令就可以检验是否安装成功

dotnet --version

到这一步,我们在linux上安装.NET Core的SDK已经完成了,大家就可以在Linux环境下进行开发了。

必坑

但是启动不了,WEB端口也不出,访问不了。经过了一番查询,找到了问题的所在。

原来是在Linux环境下依赖的是Kestrel服务做为WebServer,所以需要在Program.cs启动项中添加Kestrel启动端口才可以访问。

webBuilder.UseKestrel(opts => {
    //opts.Listen(IPAddress.Loopback, port: 5002); 
    opts.ListenAnyIP(5003); 
    //opts.ListenLocalhost(5004, opts => opts.UseHttps()); 
    //opts.ListenLocalhost(5005, opts => opts.UseHttps());
});

 

添加上端口就可以访问了,大功告成。

免责声明:

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

发表评论:

抱歉,检测到您未登录,需要评论,请先