當前小菜的環境:Window 7,vs2017
1,.netCore Demo項目
暫且使用默認模板,這個和平常webForm,winForm一樣創建,這裏就略過了。
2,創建好默認工程後,直接iis Express運行,查看效果
2.1,可以發佈後,使用CLI運行
3,發佈工程
3.1,當前工程配置文件appsetting.json
對dependencies屬性的"type": "platform"進行註釋
對prepublish屬性值進行替換,替換如下"prepublish": [ "bower install", "dotnet bundle" ]
添加以下對象
"runtimes": {
"centos.7-x64": {}}
3.2,在當前工程目錄下,打開CLI
3.3,執行以下命令行
dotnet publish -r centos.7-x64
3.4,對發佈後的代碼進行壓縮包,方便服務器上傳
目錄是~\bin\Debug\netcoreapp2.0\centos.7-x64\publish
4,服務器和域名準備
百度雲購買BCC,系統: CentOS Linux 7.5.1804 (Core)
linux系統買好後,直接安裝了寶塔,搭建了LNMP環境,所以這個篇博客就略過nginx安裝了。
4.1,linux環境安裝.netCore
dotnet xxx.dll
提示aspnetcore不存在時執行以下代碼
sudo yum install aspnetcore-store-2.0.7
5,服務
安裝配置守護進程(Supervisor)
使用Supervisor對ASP.NET Core網站應用進行監控,使網站可以持續運行,不然退出Shell後網站就停止了。
$ # 安裝Supervisor
$ yum install python-setuptools
$ easy_install supervisor
$ #配置Supervisor
$ mkdir /etc/supervisor
$ echo_supervisord_conf > /etc/supervisor/supervisord.conf
修改supervisord.conf文件,將文件最後的內容修改如下:
創建目錄conf.d,在目錄下創建文件TestAspNetCoreWeb.conf
文件內容如下:
[program:TestDotNetCoreWeb]
command=dotnet TestAspNetCoreWeb.dll
directory=~/dotnet/PublishOutput
autorestart=true
stderr_logfile=/var/log/TestDotNetCoreWeb.err.log
stdout_logfile=/var/log/TestDotNetCoreWeb.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=root
stopsignal=INT
運行supervisord並查看進程是否生效。
$ supervisord -c /etc/supervisor/supervisord.conf
$ ps -ef | grep TestDotNetCoreWeb
配置文件如有修改,使用命令supervisorctl reload重新加載。
以上步驟是小菜親自測試的結果