標籤:程式集 rect pat .bashrc local 操作 str and cto
這篇部落格參考了以下文章:
1、http://www.cnblogs.com/ants/p/5732337.html
2、http://www.linuxidc.com/Linux/2016-11/137010.htm
大體類似,只是在發布期間遇到一些問題,做了一些記錄。可能其他人遇到的問題都不盡相同,可以參考其他兩篇文章。
配置:
- 伺服器:centos7(hyper虛擬機器)
- 相關工具:WinSCP(ftp工具),PuTTY
- 開發工具:vs2017
- 相關軟體:nginx、supervisor
概述:
請注意部落格發布的時間,現在是asp.net core 的1.0版本,在linux 上,微軟官方推薦nginx 做web伺服器,監聽80連接埠,然後轉寄到asp.net core網站上,asp.net core 網站用supervisor 守護。
準備:
vs2017 建立一個空的asp.net core 項目,然後以檔案系統方式發布項目,確認本地運行一切正常。
第一步: 安裝centos,.NET Core SDK
- 安裝centos
- 安裝.NET Core SDK
- 首先安裝依賴 輸入命令
sudo yum install libunwind libicu
下載sdk 地址:https://www.microsoft.com/net/download/linux 選擇centos7.1的,下載完成後通過winscp 上傳到 centos上(注意上傳的位置)
- 注意下載後的檔案名稱以及上傳的目錄位址。
- 建立檔案夾:
sudo mkdir -p /opt/dotnet
解壓縮:
sudo tar zxf dotnet.tar.gz -C /opt/dotnet
建立串連:
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
輸入:
dotnet --info
到此SDK就安裝成功了!!
第二步:上傳ASP.NET Core
- 用winscp將檔案 上傳到/home/yin/wwwroot/
- 在wwwroot檔案夾下 執行:
dotnet demoweb.dll
注意吧程式集名稱換成自己本地的程式集名稱
- 第三步:配置nginx
- 採用源碼安裝方式安裝Nginx
- :https://nginx.org/download/nginx-1.12.0.tar.gz 注意下載的時候選擇對應的版本號碼
- 執行以下命令
tar -zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configuremakesudo make install
注意如果./configure 失敗,大多是沒有安裝編譯工具,執行:
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
將nginx執行路徑加到path環境變數上,避免每次啟動nginx 都需要在nginx目錄下
vi ~/.bashrc
添加
export PATH="/usr/local/nginx/sbin:$PATH"
然後輸入以下命令來應用:
source ~/.bashrc
修改nginx設定檔:
vi /usr/local/nginx/conf/nginx.conf
配置如下:
server { listen 80; 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; }}重啟nginx:
nginx -s reload
開放連接埠號碼(管理員操作):
firewall-cmd --zone=public --add-port=80/tcp --permanentsystemctl restart firewalld
執行:
dotnet /home/yin/wwwroot/demoweb.dll
到這裡就可以訪問了^.^
第四步:安裝supervisor
我們需要監聽asp.net core網站的運行情況,如果發生異常需要自動重啟,為瞭解決這個問題我們需要安裝supervisor。
- 下載源碼,:https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.tar.gz
- 上傳到伺服器,執行命令:
tar zxvf supervisor-3.3.2.tar.gzcd supervisor-3.3.2sudo python setup.py install
- 安裝過程中可能會提示:meld3>=0.6.5的錯誤
- 解決辦法:
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/p/python-meld3-0.6.10-1.el7.x86_64.rpmsudo rpm -ivh python-meld3-0.6.10-1.el7.x86_64.rpm
配置supervisor:
mkdir /etc/supervisorecho_supervisord_conf > /etc/supervisor/supervisord.conf
修改supervisord.conf:
vi /etc/supervisor/supervisord.conf
增加如下內容:
[include]files = conf.d/*.conf
建立設定檔demoweb.conf:
mkdir conf.dvi demoweb.conf
增加如下內容:
[program:demoweb]command=dotnet demoweb.dll directory=/home/yin/wwwroot/autorestart=true stderr_logfile=/var/log/demoweb.err.logstdout_logfile=/var/log/demoweb.out.logenvironment=ASPNETCORE_ENVIRONMENT=Production user=root stopsignal=INT
運行supervisor:
supervisord -c /etc/supervisor/supervisord.conf
到此大公告成!!訪問地址
ASP.NET Core Linux 發布