.NET Core项目部署到linux(Centos7)

       最近一个asp.net 的mvc在给客户进行演示的时候,客户问道这个BS系统是否可在linux上运行,我们是一脸的懵逼。回来上网一查,原来还真可以。.NET Core   是微软推出的最新的开源的,跨平台的框架,用它可以创建的应用可以运行在MAC,Linux上 。

    网上相关基于.net core 项目部署到linux也是一大推,在这里只做一个简单的总结和归纳吧。

    1、安装linux:

      我在虚拟机安装的是linux(centOS7.2),安装linux系统网上很多,也很简单。

   2、window下发布项目

     .net core比.net framwork 方便了很多,可以在命令窗口输入命令发布,真的很快很省时间。

     进入你所在的项目目录下,在此目录中按住Shift键,同时点击鼠标左键,在此目录打开命令窗口,然后输入:dotnet publish 回车,即可。

    

十几秒不到,发布成功后,可以看到最后发布成功后项目所在的目录,也就是你mvc项目目录下bin\Debug\netcoreapp2.1\publish

ps:后面我们会把这个publish目录里面的内容放到我们linux系统上

3、linux系统安装.Net Core SDK 

  (最开始我虚拟中装的不是centOS,是红帽系统,但是在安装.net core sdk中步骤比较繁琐,一直注册不成功,后来索性用了centOS)

  打开微软官网给出的步骤:

  https://www.microsoft.com/net/download/linux-package-manager/centos/sdk-current

打开微软安装.net core sdk网站,运行一下命令(以root权限进行)

三个命令语句即可完成,实在很简单。

 

安装成功后 输入 dotnet --version 查看是否有版本号,看是否安装成功。(后面要通过dotnet 命令来启动项目服务)

 

4、把发布好的项目publish文件放到linux系统中

    在这里我推荐的工具是SecureCRT+SecureFX。和我们ftp差不多的东西。这里建议放在 var/www/目录下

5、启动项目

   根据第4步,进入linux系统中publish文件夹下,打开终端窗口,输入命令:dotnet 你项目的名称

如果看到localhost:5000 说明项目已经成功启动了。在linux系统中运行可以看到你的项目

 

Centos7发布说明 环境说明: 服务器系统:CentOS 7.2.1511 相关工具:Xshel、Xftp 服务器软件软件:.netcore、nginx、supervisor 准备好发布的程序 安装.NET Core SDK for CentOS7 打开网址:https://www.microsoft.com/net/core#linuxcentos 复制如下命令,单步执行: sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin 输入 dotnet –info 来查看是否安装成功 配置Nginx 下载安装Nginx,单步执行如下命令: curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm rpm -ivh nginx.rpm yum install nginx systemctl start nginx 来启动nginx systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。 配置防火墙 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口) 命令:systemctl restart firewalld(重启防火墙以使配置即时生效) 测试nginx是否可以访问。 配置nginx对ASP.NET Core应用的转发 修改 /etc/nginx/conf.d/default.conf 文件,将文件内容替换为: server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值