結合 Nginx 將 DoNetCore 部署到 阿裡雲

来源:https://www.cnblogs.com/hippieZhou/archive/2018/10/28/9799292.html
-Advertisement-
Play Games

基礎環境配置 功能變數名稱和伺服器請先自行購買 基於 雲伺服器ECS 創建一個應用實例,選擇系統鏡像為 Ubuntu 16.04 ,在本機通過 SSH 進行遠程連接,併進行相關配置 安裝並配置 Nginx 配置 default 文件,在文件末尾配置如下節點信息 檢測配置並更新 安裝 DotNetCore 請 ...


基礎環境配置

功能變數名稱和伺服器請先自行購買

基於 雲伺服器ECS 創建一個應用實例,選擇系統鏡像為 Ubuntu 16.04,在本機通過 SSH 進行遠程連接,併進行相關配置

ssh root@http://39.108.48.203/

...

sudo apt-get update
sudp apt-get upgrade
sudo apt-get autoremove
sudo apt-get clean

安裝並配置 Nginx

sudo apt-get install nginx
sudo service nginx start

sudo gedit /etc/nginx/sites-available/default

配置 default 文件,在文件末尾配置如下節點信息

# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
server {
    listen        80;
    # 網站文件的目標位置
    root /home/hippie/website/wwwroot;
    # 網站功能變數名稱
    server_name your website name;
        location / {
            proxy_pass         http://localhost:5000;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

檢測配置並更新

sudo nginx -t
sudo nginx -s reload

安裝 DotNetCore

請參考官網最新安裝說明:.NetCore Download

部署流程

打開 VisualStudio2017 右鍵要發佈的項目,點擊 publish,並參考下圖進行相關配置。



點擊 Save 按鈕並執行發佈操作。然後將 publish 文件夾上傳至伺服器相應位置,上傳成功後執行

dotnet run app.dll

如果不出意外的,這個時候,你就可以通過 IP 或者 你的網站功能變數名稱來進行訪問了。

創建守護進程

執行上述操作之後,我們的程式還是不能正在長時間運行,因此我們需要通過守護進程來管理我們的網站

sudo apt-get install supervisor
sudo vim /ect/supervisor/conf.d/website.conf

配置 website.conf 文件

[program:website]

#要執行的命令
command=/usr/bin/dotnet Attention.dll  

#命令執行的目錄
directory=/home/hippie/website 

#環境變數
environment=ASPNETCORE__ENVIRONMENT=Production 

 #進程執行的用戶身份
user=www-data 
stopsignal=INT

#是否自動啟動
autostart=true

#是否自動重啟
autorestart=true

#自動重啟間隔
startsecs=1 

#標準錯誤日誌
stderr_logfile=/var/log/website.err.log 

#標準輸出日誌
stdout_logfile=/var/log/website.out.log 

這個時候,我們執行下述命令啟動守護進程

sudo supervisorctl shutdown && sudo supervisord -c /etc/supervisor/supervisord.conf

supervisorctl shutdown 

sudo service supervisor start

好了,這個時候你可以嘗試關閉遠程連接進行網站訪問,如果能正常訪問的話,說明你的配置已經起作用了.

補充

在正常的生產環境中,我們還需要配置 HTTPS,關於這一部分,小伙伴們可以參考博客園中其餘大神的博客。

彩蛋

安利一個我的個人圖片網站,圖片資源來自於必應,感興趣的小伙伴歡迎體驗:

Pay Attention

相關參考


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 題目描述 已知:Sn​=1+1/2+1/3+…+1/n。顯然對於任意一個整數K,當n足夠大的時候,Sn​大於K。 現給出一個整數K(1≤K≤15),要求計算出一個最小的n;使得Sn​>K。 輸入輸出格式 輸入格式: 一個正整數K 輸出格式: 一個正整數N 輸入樣例:1 輸出樣例:2 答案代碼: #i ...
  • 一、前言 之前ZYNQ與PC之間的網路連接依賴於外接硬體協議棧晶元,雖然C驅動非常簡單,但網路帶寬受限。現採用LWIP+PS端MAC控制器+PHY晶元的通用架構。關於LWIP庫,已經有很多現成的資料和書籍。其有兩套API,一個是SOCKET,另一個是本例中要用到的RAW。RAW API理解起來較為復 ...
  • 在這裡我要實現的是Spring的IOC和AOP的核心,而且有關IOC的實現,註解+XML能混合使用! 參考資料: IOC:控制反轉(Inversion of Control,縮寫為IoC),是面向對象編程中的一種設計原則,可以用來減低電腦代碼之間的耦合度。其中最常見的方式叫做依賴註入(Depend ...
  • dfs
    sdfsf ...
  • 前言 這篇文章是WPF框架系列的最後一篇,在這裡我想闡述一下我對框架設計的理解。 我對框架設計的理解是這樣的: 框架設計不應該局限於任何一種設計模式,我們在設計框架時,應該將設計模式揉碎,再重組;這樣設計出來的框架才具有一戰之力。 框架設計應該根據項目團隊成員水平量身定製。 我上一篇文章《我們都知道 ...
  • Console.WriteLine("100-1000的水仙花數有"); for (int i = 100; i < 1000; i++) { int a = i / 100 % 10;//百位 int b = i / 10 % 10;//十位 int c = i % 10;//個位 if (a * ...
  • VC2010和VC2017的標準庫中,string(或wstring)的數據結構和操作有所不同,所以在將這兩種數據作為參數在兩個系統產生的函數中傳遞時會出現亂碼(string和wstring在2017下必須是引用傳遞) ...
  • 作者:依樂祝 原文地址:https://www.cnblogs.com/yilezhu/p/9866068.html 在本文中,我將解釋命令模式,以及如何利用基於命令模式的第三方庫來實現它們,以及如何在ASP.NET Core中使用它來解決我們的問題並使代碼簡潔。因此,我們將通過下麵的主題來進行相關 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...