【asp.net】Linux 部署 asp.net core 項目

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

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

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

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

2018/2/27更新:web

部署到Linux直接發佈項目便可不須要在進行配置json

sdk下載地址:https://www.microsoft.com/net/download/linuxwindows

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

 一、項目發佈

    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 本身測試經過

   一、在這我只修改了publishOptions節點,其餘不作修改,右鍵點擊項目選擇發佈:curl

 

   二、點擊發布後的界面,選擇自定義後輸入你的配置名(名稱在定義),點擊確認後直接下一步

 

   三、發佈方法選擇文件系統,目標位置選擇你要發佈後保存的地方,能夠直接點擊發布,後面的設置保持默認

二、在LINUX 系統CentOS7 部署項目

  注:其餘Linux系統起微軟官網找配置命令,地址:https://www.microsoft.com/net/core#windows

 2.一、sudo yum install libunwind libicu(安裝libicu依賴)

 

2.二、curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131(下載sdk壓縮包)

2.三、sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet(解壓縮)

2.四、sudo ln -s /opt/dotnet/dotnet /usr/local/bin(建立連接)

輸入 dotnet --info 來查看是否安裝成功,若是能夠執行則代表.NET Core SDK安裝成功

三、項目運行

3.一、在Linux目錄 home下建立wwwroot文件夾(文件夾名稱可自定義)。

3.二、把已經發布好的項目上傳到上面建立的wwwroot下

3.三、使用命令 dotnet 你的項目路徑/OneAspNetCore.dll 運行項目:OneAspNetCore.dll 這是個人項目發佈後生成的dll文件,OneAspNetCore是個人項目名稱。

運行後如圖所示運行成功,你可使用Linux服務器上的瀏覽器輸入:localhost:5000 訪問項目,info信息提示在這裏不用管它

注:在執行 dotnet  命令運行項目後不能在作其餘操做或按Ctrl+c退出,不然項目會中止運行

3.3.一、運行項目時會報錯 version 版本錯誤如圖所示:

3.3.二、解決上圖錯誤:更改項目project.json文件中dependencies節點的 Microsoft.NETCore.App版本信息,你也能夠升級服務器的 sdk版本,修改以下:

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

 

瀏覽器訪問後可能會訪問不到,記錄一下錯誤信息:

當出現以下錯誤時有兩種可能:

一、項目發佈時未在project.json文件中 publishOptions節點配置視圖、控制器等,檢查是否配置,修改後從新發布項目到服務器上,配置以下:

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

二、當第一步檢查已經配置好,項目也運行成功就是訪問不到!解決方法:使用命令 cd /home/wwwroot/dev/ 到項目文件夾中 在執行dotnet OneAspNetCore.dll

   在打開服務器瀏覽器訪問就能訪問到了,出現這個問題網上找了下說是權限問題!!!

 注:以上部署只能內部訪問,外部訪問配置須要配置 nginx服務 配置地址:http://www.cnblogs.com/miskis/p/6022607.html

相關文章
相關標籤/搜索