• 【asp.net】Linux 部署 asp.net core 项目


    参考:http://www.07net01.com/2016/08/1638058.html

            http://www.cnblogs.com/calvinK/p/5628298.html

            http://www.mamicode.com/info-detail-1535706.html

            http://www.cnblogs.com/ants/p/5732337.html

    2018/2/27更新:

    部署到Linux直接发布项目即可不需要在进行配置

    sdk下载地址:https://www.microsoft.com/net/download/linux

    官方教程地址:https://www.microsoft.com/net/learn/get-started/linuxcentos

     1、项目发布

        1.1、使用vs2015 发布项目

             注:在网上看了很多教程都说要在project.json中配置runtimes 块,删除Microsoft.NETCore.App”节点中

             "type" : "platform"的配置,只要version节点。      经过测试不需要删除也可以

         1.1.1 网上找的教程

    1. 删除“Microsoft.NETCore.App”节点中"type" : "platform"的配置
    2. 增加“runtimes”节点中对应的平台 如下:
    3.  "runtimes": { //加入runtime
          "win7-x64": {},
          "win7-x86": {},
          "osx.10.10-x64": {},
          "osx.10.11-x64": {},
          "Ubuntu.14.04-x64": {},
          "centos.7-x64": {}
        }
    4. 修改后的“project.json”如下:

            

     1.1.2 自己测试通过

       1、在这我只修改了publishOptions节点,其他不做修改,右键点击项目选择发布:

       2、点击发布后的界面,选择自定义后输入你的配置名(名称在定义),点击确认后直接下一步

       3、发布方法选择文件系统,目标位置选择你要发布后保存的地方,可以直接点击发布,后面的设置保持默认

    2、在LINUX 系统CentOS7 部署项目

      注:其他Linux系统起微软官网找配置命令,地址:https://www.microsoft.com/net/core#windows

     2.1、sudo yum install libunwind libicu(安装libicu依赖)

     

    2.2、curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131(下载sdk压缩包)

    2.3、sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet(解压缩)

    2.4、sudo ln -s /opt/dotnet/dotnet /usr/local/bin(创建链接)

    输入 dotnet --info 来查看是否安装成功,如果可以执行则表明.NET Core SDK安装成功

    3、项目运行

    3.1、在Linux目录 home下创建wwwroot文件夹(文件夹名称可自定义)。

    3.2、把已经发布好的项目上传到上面创建的wwwroot下

    3.3、使用命令 dotnet 你的项目路径/OneAspNetCore.dll 运行项目:OneAspNetCore.dll 这是我的项目发布后生成的dll文件,OneAspNetCore是我的项目名称。

    运行后如图所示运行成功,你可以使用Linux服务器上的浏览器输入:localhost:5000 访问项目,info信息提示在这里不用管它

    注:在执行 dotnet  命令运行项目后不能在做其他操作或按Ctrl+c退出,否则项目会停止运行

    3.3.1、运行项目时会报错 version 版本错误如图所示:

    3.3.2、解决上图错误:更改项目project.json文件中dependencies节点的 Microsoft.NETCore.App版本信息,你也可以升级服务器的 sdk版本,修改如下:

     "Microsoft.NETCore.App": {
          "version": "1.0.1",//把版本号修改为 1.0.0
          "type": "platform"
        },

    浏览器访问后可能会访问不到,记录一下错误信息:

    当出现如下错误时有两种可能:

    1、项目发布时未在project.json文件中 publishOptions节点配置视图、控制器等,检查是否配置,修改后重新发布项目到服务器上,配置如下:

     "publishOptions": {
        "include": [
          "wwwroot",
          "Controllers",
          "IRepositories",
          "Models",
          "Views",
          "web.config"
        ]
      }

    2、当第一步检查已经配置好,项目也运行成功就是访问不到!解决方法:使用命令 cd /home/wwwroot/dev/ 到项目文件夹中 在执行dotnet OneAspNetCore.dll

       在打开服务器浏览器访问就能访问到了,出现这个问题网上找了下说是权限问题!!!

     注:以上部署只能内部访问,外部访问配置需要配置 nginx服务 配置地址:http://www.cnblogs.com/miskis/p/6022607.html

  • 相关阅读:
    正则表达式随笔
    linux 命令大全
    oracle merge into
    存储过程else if
    存储过程 loop
    存储过程 函数
    存储过程使用集合来存储查询
    存储过程使用游标和索引
    存储过程使用%rowtype定义游标类型的变量提取emp数据
    ORACLE 存储过程 like 样例
  • 原文地址:https://www.cnblogs.com/miskis/p/5997314.html
Copyright © 2020-2023  润新知