上篇文章介紹了下用vs發布部署到iis環境,今天說下ubuntu下部署asp.net core,不需要安裝.net core sdk,自帶運行時方式部署,利用jexus服務器轉發請求到asp.net core.
1.部署准備環境
vmware虛擬機(其他也可以)
ubuntu16.04鏡像
2.發布環境
win10系統
vs2015 update3 或vs code (也可以用dotnet new -t web 命令創建項目)
dotnet sdk DotNetCore.1.0.0-SDK.Preview2-x64 下載地址https://www.microsoft.com/net/download 自行安裝
一.首先用vs 創建一個asp.net core 應該程序名稱為 aspnetcoretest
1.打開project.json
"dependencies": { "Microsoft.NETCore.App": { "version": "1.0.0", "type": "platform" //把這個節刪掉 },
修改後
"dependencies": { "Microsoft.NETCore.App": { "version": "1.0.0", },
2.添加如下節點
"runtimes": { "ubuntu.16.04-x64": {} }
如修改後
3.去掉如下節點
"scripts": { "prepublish": [ "bower install", "dotnet bundle" ], "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] },
4.在vs創建的項目目錄執行下 dotnet restore
5.接著執行dotnet publish -r ubuntu.16.04-x64,這裡把文件發布到了項目目錄\bin\Debug\netcoreapp1.0\ubuntu.16.04-x64下。
6.把ubuntu.16.04-x64下的publish拷貝到ubuntu的桌面,如下圖
7. 把這個publish目錄移到動/var/local/下命令如下sudo mv publish /var/local 然後看下publish裡文件
8. 設置應該程序文件執行權限也就是aspnetcoretest命令sudochmod+x/var/local/publish/aspnetcoretest
二 安裝jexus-5.8.2
1.先進入tmp目錄: cd /tmp
2.下載jexus: wget http://www.linuxdot.net/down/jexus-5.8.2-x64.tar.gz
3.解壓文件得到jexus文件夾:tar -zxvf jexus-5.8.2-x64.tar.gz
4. 把解壓的jexus文件夾移動文件到/usr下: sudo mv jexus /usr/
5.進入/usr/jexus/目錄下看下都有什麼: cd /usr/jexus/
6.然後進入/usr/jexus/siteconf目錄下:cd siteconf
7. 用編輯器打開default配置文件:sudo vim default (編輯器自行下載)
8.添加如下節點,主要配個配置用分號隔開,不能換行。
AppHost={CmdLine=/var/local/publish/aspnetcoretest;workRoot=/var/local/publish;env=(PATH=/var/local/publish:$PATH);port=5000}
說明
CmdLine=/var/local/publish/aspnetcoretest //指向你的站點目錄的應用程序名稱如aspnetcoretest
workRoot=/var/local/publish //指向你的站點目錄即可
port=5000 //為jesux 轉發到asp.net core 的端口,因為asp.net core 默認為5000 可以改其他。
配置好後保存退出。
9.執行sudo ../jws start 命令開啟jexus 如果之前執行過可以執行sudo ../jws restart 主要我是在siteconf執行這個命令的用的是../也可以到上級目錄jexus下去執行sudo ./jws start
Jexus的常用命令:
啟動:sudo ./jws start
重啟:sudo ./jws restart
停止:sudo ./jws stop
啟動某個網站: sudo start 網站名
重啟某個網站:sudo restart 網站名
停止某個網站:sudo stop 網站名
訪問下localhsot
成功。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持 。