将.NET 6项目部署到Linux

目录
  • 搭建Linux服务器
  • 安装Liunx远程连接工具
  • 安装.NET运行环境
    • 在xshell中执行以下命令,添加包签名
    • 安装NET6 SDK
  • 生成ASP.NET Core网站
  • 部署网站

搭建Linux服务器

要搭建一个部署ASP.NET core的服务器,一般情况有两种选择。

一是购买云服务器,最近天翼云搞活动,一年通用型云主机,才60RMB,还是蛮优惠的。部署个人网站,搞个测试还是够用了。本人就使用云服务器做下面的演示。

如果觉得没必要买云服务器,可以自己使用虚拟机,安装Linux也是可以的,看个人喜好。

云服务器购买好后,进入控制中心查看云主机,友情提示,电信的控制中心有个很不友好的地方,就是必须选对云主机所在地区才会显示,我在此掉个一次坑,提醒大家避坑。

言归正传,我用的是Ubuntu20.64版本的,不过你也选择其他Linux系统,不过需要注意的是,你选择的Linux系统版本和.core版本是否适配.从https://docs.microsoft.com/zh-cn/dotnet/core/install/linux?WT.mc_id=dotnet-35129-website 可以查看详细的各个Linux系统和.NET的版本适配。

从图中看到目前只显示最高支持5.0,经测试最新版的6.0也是支持的。

如果购买时选错了,也没关系,可以更换系统,我就从CentOS更换到了Ubuntu

如果购买时没有要求设置密码,还有在控制中心设置一下密码,用于Linux系统登录。

安装Liunx远程连接工具

​ 家用免费版Xshell 7(命令行工具)和Xftp 7(文件传输)下载,安装好使用云服务器操作系统账号登录,不出意外你将看到一下界面。

安装.NET运行环境

点击在 Ubuntu 上安装 .NET - .NET | Microsoft Docs安装对应版本的运行环境.

我的是ubuntu20.4,就选择20.4好了。

在xshell中执行以下命令,添加包签名

wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

安装NET6 SDK

  sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-6.0

测试是否安装成功,执行

dotnet --version
//显示安装的版本号,恭喜你安装成功

注意:此种环境安装方式是需要网络支持的。有些企业网络资源访问受限,使用此种方式是安装不了。就需要下载安装包,手动安装,官方也有详细的手动安装说明,这里就不累述了。

生成ASP.NET Core网站

打开vs2022(目前只有vs2022才支持.NET6的开发),创建一个ASP.NET CORE WEB应用,取一个喜欢的名字,创建完成,项目看起来是酱样子的,一个简单的asp网站就建好了。

为了调试和发布后网站访问端口一直,需要更改一下appsettings.json的配置。增加一项"urls": "http://*:8880",‘8880'嘛就是网站访问端口,可自行修改。

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "urls": "http://*:8880",
  "AllowedHosts": "*"
}

发布网站

打开powershell,执行

dotnet publish --framework net6.0 --runtime ubuntu.20.04-x64 --output "D:\wb\ubuntu2004" --configuration Release  --no-self-contained

发布文件放在“D:\wb\ubuntu2004”,可自行指定其他目录

网站发布好后,离成功就一步之遥了,心情越来越激动了。

部署网站

打开Xftp 7,用云系统用户登录,就可以操作本地文件一样方便了,直接把发布文件夹拖到右边,文件就非常愉悦的传到了服务器上。

对于我们这种不太熟悉Linux系统的人,这通操作,简直不要太愉悦了。

如果文件夹文件比较多,大的话,压缩为zip,再拖过去,或许会更好。

如果是zip压缩包,就还需要在服务器安装zip解压软件。安装也很简单,xshell执行

sudo apt-get install unzip 

定位到zip压缩包,执行

unzip ***(压缩包名称).zip

网站文件解压出来后,定位到网站目录,执行

dotnet apptest(一般与项目同名).dll

如果看到网站访问地址,就说明网站已成功启动。至此,算是大功告成。

还没完,难道你就不想看看,一通操作后的结果吗?来看看吧。

访问地址 http://服务器IP:8880

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Linux CentOS下docker部署Asp.Net6 Core

    1.项目设置 设置dockerfile属性为"始终复制", 修改dockerfile文件内容为: FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /web COPY . . EXPOSE 80 EXPOSE 443 FROM base AS final ENTRYPOINT ["dotnet", "OneZhanMVC.dll"] ps:若项目没有dockerfile右键项目,点击

  • thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决

    最近一个项目部署到Linux服务器上去的时候,发现某些模板竟然会报错说"模板不存在:/Application/Admin/...." 检查了服务器上的文件,并没有缺少文件,再次上传文件到服务器,还是报错.莫名其妙,怀疑是代码问题. 仔细检查后,发现是模板的文件名问题: 用过TP的都知道:thinkphp会在$this->display()的时候,会自动获取方法名作为模板的文件名,比如一个getUserInfo方法对用着getuserinfo.html的模板文件. 对控制器里的方法

  • window与linux项目部署之linux文件路径不存在问题

    很久没有写博客了,上周项目测试,发现了一些bug,其中之一有些费解,描述如下: 项目在windows上部署,上传图片功能一切正常,部署到linux服务器上,则莫名出错(大概是智障,居然忘记了*linux与windows文件目录的区别* ) 正常应该是这样: 实际上是这样: 从未遇到这种问题的土豆也有点懵逼,不管三七二十一,项目先重启再说,无效,那看看tomcat,还是无效,我太难了.作为你个资深菜鸡程序员,我自然还有第三第四第五种解决方法(baidu,google等等等),怀揣着不放弃的精神,继

  • Java将本地项目部署到Linux服务器的实践

    将本地项目博客系统部署到Linux服务器 1.连接到远程的MYSQL数据库,并且执行创建博客数据库的脚本2.检查项目中的连接MYSQL服务器的地址和密码(如果本地密码和服务器一致,此步骤可忽略)3.使用Maven打包项目,生成一个xxx.war包4.将war包上传到tomcat的webapps目录下5.重启tomcat,使用URL地址访问项目 1.连接到远程的MYSQL数据库,并且执行创建博客数据库的脚本 1.连接远程MYSQL数据库 2.执行sql脚本 因为在本地创建数据库中表的结构时忘记设计

  • 如何将javaweb项目部署到linux下

    一般都在windows下开发的,现在部署到linux下:1,将项目达成war包(用eclipse,项目右键-->Export-->选择war file)2,将tomcat(用winSCP当然你也可以用secureCRT,用securCRT需要建立sftp(即上传文件的目录),用put tomcat命令)考到ilunx对应的目录下3,然后将项目的war包放到tomcat的webapps目录下4,启动tomcat(命令:./startup.sh(linux下启动tomcat是.sh文件而非.bat

  • 如何把python项目部署到linux服务器

    最近用Python写了个外挂,需要部署到Linux环境的服务器上,由于之前本地开发时使用virtualenv,使用这个虚拟环境有个好处是项目中依赖的库不会是全局的,只在当前项目的目录下有效,因为我是Mac系统,virtualenv环境下的库文件和linux上所需要的库不通用,所以不能简单的将整个env拷贝到服务器运行,需要做一些额外的工作. 一般每个不同的项目都会依赖各自的库,有些库的版本不一样会引起冲突,为了解决这个问题,需要使用虚拟环境,Python可以在每个项目目录下创建各自的虚拟环境,项

  • springboot项目部署在linux上运行的两种方式小结

    springboot部署项目在linux的两种方式 可以选择 war包方式或者jar包方式(个人推荐使用jar方式) 1.springboot的jar包方式 因为idea默认就是jar打包方式所以直接使用maven工具按照步骤点击就可以直接打包 打包之前别忘了修改好你的配置文件,别到时候端口号冲突启动不了(多个同样的端口号),假如要使用linux上的数据库也要提前修改好密码 然后控制台就会输出执行过程,不用管,最后结束了就会这如图红框处找到输出路径. 找到这个文件把他扔到你的linux虚拟机里,

  • 将.NET 6项目部署到Linux

    目录 搭建Linux服务器 安装Liunx远程连接工具 安装.NET运行环境 在xshell中执行以下命令,添加包签名 安装NET6 SDK 生成ASP.NET Core网站 部署网站 搭建Linux服务器 要搭建一个部署ASP.NET core的服务器,一般情况有两种选择. 一是购买云服务器,最近天翼云搞活动,一年通用型云主机,才60RMB,还是蛮优惠的.部署个人网站,搞个测试还是够用了.本人就使用云服务器做下面的演示. 如果觉得没必要买云服务器,可以自己使用虚拟机,安装Linux也是可以的,

  • 教你1秒将本地SpringBoot项目jar包部署到Linux环境(超详细!)

    目录 目标 迭代步骤 一.前提: 1.使用Maven的package命令打出一个携带依赖的jar包 2.Window启动jar包 二.linux环境启动jar包 1.先将jar包扔到linux环境 2.测试是否可以启动(需要有Java环境) 3.优化启动脚本,改为后台启动,并将日志输出到springboot.log 4.完善脚本,启动时,如果存在已经启动的服务,先关闭,再启动 三.分离依赖部署 1.上传依赖jar包Linux服务器 2.改造项目的pom.xml文件 3.重新package 4.上

  • Linux下将Python的Django项目部署到Apache服务器

    这几天花了点时间,将把django开发好的web项目部署到Apache上,参考了官方的一些文档和互联网上的文档,还是花了比较多的时间,这里把配置的过程说一下. 方便有需要的朋友,可以参考,少走弯路! 1. django项目部署环境说明 操作系统 : Red Hat Enterprise Linux Server release 5.3 (Tikanga) x86_64 apache版本 : httpd-2.2.3-22.el5 mod_wsgi版本 : mod_wsgi-3.2-1.el5 fe

  • SpringBoot + Vue 项目部署上线到Linux 服务器的教程详解

    前言 给大家分享以下我是如何部署 SpringBoot + Vue 前后端分离的项目的,我用的 Linux 发行版是 CentOS7.5 有了一个基于 ElementUI 的电商后台管理系统,在开发一个相似的后台就会轻松很多.不过前面的系统的后端是使用 node 完成的,对于我们 Java 开发者来说,用不到.我学习的是 ElementUI 的使用,就足够了,然后后端服务就全部可以自己使用 SpringBoot 来完成 最近貌似 Vue3 正式版也发布了,正好有空看可以去看一看 提示:以下是本篇

随机推荐