小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Linux+Nginx+Asp.net Core及守護進程部署

 Crazy_Linux 2017-03-29

這篇文章我將以oss.offical.site站點為例,主要介紹下在linux機器下完整的部署流程,.net core在docker容器中的運行已經(jīng)介紹,這里.net core運行環(huán)境我會介紹直接在linux運行的場景,內(nèi)容主要包含以下幾個部分:

  1. 基礎(chǔ)工具和Linux環(huán)境準(zhǔn)備
  2. .Net Core環(huán)境安裝及端口配置
  3. Nginx的安裝配置
  4. Supervisor守護進程安裝配置

一. 基礎(chǔ)工具和Linux環(huán)境準(zhǔn)備

工具介紹:

  • Ubuntu:azure云端linux主機
  • Xshell:免費的linux客戶端工具
  • FileZilla: 免費文件上傳(sftp、ftp)工具
  • vs2017: 開發(fā)工具

本次部署主要是通過Nginx負(fù)載代理.net core服務(wù),提供對外站點訪問。.net core 本身的宿主則通過其自帶的Kestrel服務(wù)運行。如果你是云主機請記得在管理控制臺添加80訪問端口。

那這里我先創(chuàng)建一個www文件夾,作為后邊存放站點文件的根目錄,同時設(shè)置相關(guān)權(quán)限,這里可能會有一個小的需要注意的問題,現(xiàn)在很多云主機直接登錄后權(quán)限是很低的,需要使用:sudo -s 命令提升權(quán)限,否則創(chuàng)建文件夾會出現(xiàn)權(quán)限不足的錯誤。

  1. mkdir /home/www/ossoffical // 創(chuàng)建ossoffical站點文件夾
  2. chown [-R] 賬號名稱 ossoffical // 把賬號名稱添加到www文件夾的所有者中,保證后續(xù)sftp上傳文件夾等在無法提權(quán)的情況下也能操作

二. .Net Core環(huán)境安裝及端口配置

1. 安裝,這里參照微軟官網(wǎng)即可,我這里使用的是Ubuntu 14.04版本,主要執(zhí)行以下幾條命令

  1. sudo sh -c 'echo "deb [arch=amd64] https://apt-mo./repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list' 
  2. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893 
  3. sudo apt-get update 
  4. sudo apt-get install dotnet-dev-1.0.1 

2. vs端口相關(guān)設(shè)置

這里需要注意一下,當(dāng)前版本創(chuàng)建的.net core項目在不制定具體端口的情況下,會默認(rèn)使用5000端口。但是這個在后續(xù)的版本中會移除,見官方文檔:

Linux+Nginx+Asp.net Core及守護進程部署

并且我也希望自己指定具體的端口,這樣以后站點多了之后防止沖突,我修改自己項目中的Program文件中內(nèi)容,指定8000端口,如圖:

Linux+Nginx+Asp.net Core及守護進程部署

請注意先后的順序,否則在vs中可能會出現(xiàn)調(diào)試無法打開的情況,發(fā)布當(dāng)前項目。

3. 上傳項目文件運行

  • a. 通過filezilla上傳項目文件到ossoffical目錄下
  • b. 通過命令客戶端進入ossoffical目錄(cd /home/www/ossoffical),執(zhí)行:dotnet OSS.Offical.Site.dll(我當(dāng)前站點項目程序集名稱),結(jié)果如圖:

Linux+Nginx+Asp.net Core及守護進程部署

退出執(zhí)行ctrl+c 。當(dāng)然我們也可以執(zhí)行 “ dotnet OSS.Offical.Site.dll & ” ,讓其在后臺運行,只是這個更方便讓我們查看。這個時候你可以訪問對應(yīng)的8000端口即可訪問(云主機請注意開放訪問端口)。

三. Nginx安裝

1. 執(zhí)行:sudo apt-get install nginx 命令

2. 安裝完成之后訪問對應(yīng)的80端口,應(yīng)該如下:

Linux+Nginx+Asp.net Core及守護進程部署

3. 配置代理

  • a. mkdir /etc/nginx/hosts 創(chuàng)建一個文件夾,用來放置站點配置文件
  • b. 執(zhí)行 cd /etc/nginx/hosts 進入目錄, 執(zhí)行: vi ossoffical 按 “i” 添加如下內(nèi)容:
  1. server {  
  2. listen 80;  
  3. index index.html index.htm;  
  4. server_name www.osscoder.com; #域名  
  5. location / {  
  6. proxy_pass http://127.0.0.1:8000; # 剛才設(shè)置的地址端口  
  7. proxy_http_version 1.1;  
  8. proxy_set_header Upgrade $http_upgrade;  
  9. proxy_set_header Connection keep-alive;  
  10. proxy_set_header Host $host;  
  11. proxy_cache_bypass $http_upgrade;  
  12. }  

退出保存。

4. 修改nginx配置文件,vi /etc/nginx/nginx.conf

  • 在http節(jié)點末尾,添加 :include /etc/nginx/hosts/*;

5. 重啟nginx服務(wù)器: sudo service nginx restart(reload)

6. 進入站點目錄,dotnet OSS.Offical.Site.dll & ,確保站點正確運行,訪問 www.osscoder.com,如下:

四. 守護進程安裝配置

為了保證服務(wù)能夠穩(wěn)定運行,我們安裝守護進程以確保在應(yīng)用程序出現(xiàn)異常中斷時能夠正常重啟。

1. 安裝,執(zhí)行:sudo apt-get install supervisor

2. 安裝成功后進入:/ect/supervisor/conf.d/ 目錄,添加 ossoffical.conf 文件,添加如下內(nèi)容:

  1. [program:OSS.Offical.Site]  
  2. command=dotnet OSS.Offical.Site.dll //要執(zhí)行的命令  
  3. directory=/home/www/ossoffical //命令執(zhí)行的目錄  
  4. environment=ASPNETCORE__ENVIRONMENT=Production #環(huán)境變量 
  5. user=osscoder //進程執(zhí)行的用戶身份  
  6. stopsignal=INT  
  7. autostart=true  
  8. autorestart=true  
  9. startsecs=3 //自動重啟間隔  
  10. stderr_logfile=/var/log/ossoffical.err.log //標(biāo)準(zhǔn)錯誤日志  
  11. stdout_logfile=/var/log/ossoffical.out.log //標(biāo)準(zhǔn)輸出日志 

把對應(yīng)的目錄和名稱換掉即可,請刪除注釋,否則有時會出現(xiàn)命令執(zhí)行失敗的情況。完畢之后重啟supervisor:

  1. sudo service supervisor stop  
  2. sudo service supervisor start 

完成之后可以殺掉進程或者重啟機器測試。


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多