日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

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

發布時間:2023/12/4 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET Core项目部署到linux(Centos7) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.開篇說明

  a 上篇博客簡單的說明了一下 使用.NET Core開發的一個總結(.NET Core跨平臺:使用.NET Core開發一個初心源商城總括),那么這篇博客我們就在上一篇博客的基礎上對其代碼進行部署,將其部署在Linux Centos7下。

  b 這周周二,也就是3月7號,微軟發布了最新的開發工具(Visual Studio 2017),簡單看了一下,帶來了更好的開發體驗,也推動了跨平臺開發的一大步,未來.NET的跨平臺將更加的成熟。

  c 下面我們將一個.NET Core項目利用Jexus部署到linux下,那么如果我們要將一個.NET Core項目部署到linux服務器下,需要準備下面的幾個東西(Linux服務器,Jexus,安裝數據庫的服務器,其它(Redis)等)。

  d 下面我們開始大致演示一下如何將.NET Core項目部署到linux服務器下,測試地址:http://www.chuxinm.com/


2.Jexus簡單說明

  a 官網地址:http://www.jexus.org/

  b 關于Jexus的安裝,我以前也寫過一篇文章,地址是(http://www.cnblogs.com/hanyinglong/p/5456757.html),我寫的這篇文章是基于Mono安裝的,什么意思呢,也就是說要安裝Jexus,就要安裝Mono,但是現在Jexus提供了免Mono安裝的方案,非常方便,大家可以體驗一下,如果安裝遇到什么問題,大家可以在官網或者其他地方進行查詢解決。

  c Jexus快捷安裝((一對命令將會安裝成功Jexus))

    1.安裝:sudo?curl?jexus.org/release/install?|?sh

    2.更新:sudo?curl?jexus.org/release/upgrade?|?sh

    說明:使用這種命令的安裝方法將會吧Jexus安裝到/usr/jexus?位置。

回到頂部

3.Visual Studio 2015本地發布并且測試

  a 在本地系統開發完成之后,首先我們需要在本地發布進行測試一下,如果不報錯,則上傳到服務器

  b 本地項目結構如下圖所示:我們就基于本項目進行發布部署到Linux下。

    

    b.1 首先打開cmd,切換到項目所在盤符下,將項目切換到src根目錄下(../src/項目名稱下),運行命令dotnet?publish,運行不報錯則本地發布成功,如圖所示執行成功之后也展示了將項目發布到什么地方的路徑。

    

    b.2 如上圖所示,我們跳轉到發布的路徑下(項目根目錄下/bin/Debug/netcoreapp1.0/publish下/),運行命令:dotnet?ProgrammersLiveShow.dll?,根據提示訪問地址,可本地測試嗎,如圖所示:

    

  c 如上圖所示,我們按照訪問路徑(http://localhost:5000/),如果訪問成功,則證明本地發布沒有任何問題,如下圖所示:如有操作登錄的功能,則進行系統登錄測試,確認沒有任何問題在進行發布。?

    ?

回到頂部

4.配置Jexus并且部署.NET Core說明

  a 上述步驟中我們簡單說明了一下系統的一些功能以及本地發布,現在我們來簡單說明一下如何配置Jexus,因為以前安裝過jexus,我們直接在Linux下找到安裝的路徑,如圖所示:

    

  b 如上圖所示,我們看到了jexus的安裝目錄,Jexus的配置其實也很簡單,首先我們打開網站配置文件夾siteconf,然后打開默認的default文件,看到如下圖所示的配置,配置上簡單的說明如下:

    ? ? ? ??

  c 如上圖所示,我們將其項目部署到系統(/var/www/default/publish)下

    

  d 首先我們將本地發布的文件上傳到服務器上,直接將本地的publish文件夾上傳到/var/www/default下,如下圖所示

    

  e?因為我現在系統本身已經發布,所以需要將現在后臺運行的線程關閉(執行下面兩條命令之后,則已經上線的系統會不能訪問),如果是首次發布,則不需要進行這一步,命令如下,如圖所示:

    (1):ps?-ef?|?grep?ProgrammersLiveShow.dll??

    (2):kill?-9?PID

    

  f 上傳完成之后,系統跳轉到publish下,執行dotnet?ProgrammersLiveShow.dll,運行成功并且可以訪問,則說明發布才成功,但是這樣有一個弊端,就是發布之后不能關閉Xshell,如果關閉則默認程序會推出,所以,我們可以使用下面的命令直接將其設置為在后臺運行

? ? ? ? 命令如下:nohup?dotnet?ProgrammersLiveShow.dll?&

    

  g 上述步驟全部執行完成之后使用服務器域名加80端口號既可以進行訪問,這里可能存在配置80端口號對外訪問的權限,在下面會簡單說明

回到頂部

5.其它知識點總結

? ? a 在系統頻繁的更新中,做好備份是很關鍵的一件事情,在每次的上線替換系統之前都要執行如下命令進行備份:

? ? ? ??tar?zcvf?/var/www/default/remark/(日期)publish.tar.gz?/var/www/default/publish/

? ? b Centos7開放端口,Centos7和7以前開放端口的實現不一致.

? ? ? ? b.1?Centos升級到7之后,發現無法使用iptables控制Linuxs的端口,google之后發現Centos?7使用firewalld代替了原來的iptables。下面記錄如何使用firewalld開放Linux端口

? ? ? ? b.2?開啟端口:?firewall-cmd?--zone=public?--add-port=80/tcp?--permanent???--zone?#作用域??--add-port=80/tcp?#添加端口,格式為:端口/通訊協議?--permanent?#永久生效,沒有此參數重啟后失效?

? ? ? ? b.3?重啟防火墻?firewall-cmd?--reload?

? ? ? ? b.4?開啟防火墻:?systemctl?start?firewalld

原文地址:http://www.cnblogs.com/hanyinglong/p/6539344.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

贊賞

總結

以上是生活随笔為你收集整理的.NET Core项目部署到linux(Centos7)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。