建立專案
- 使用VS2017
- 新增專案選擇.Net Core => ASP.NET Core Web 應用程式
- 選擇API或Web應用程式都可
- 建立好之後,在專案按右鍵[加入] => [新增用戶端程式庫] => 下拉選單改成[unpkg] => 輸入 @aspnet/signalr@ 接者打1或其他(目前只有1)
- 應該會跳出浮空的下拉選單,選最新的(但是不包含任何"預覽"的英文字樣),這樣才是正式運行版本
- 選取 [選擇特定檔案]、展開 [散發者/瀏覽器] 資料夾,然後選取 signalr.js 與 signalr.min.js。
- 將 [目標位置] 設定為 wwwroot/lib/signalr/,然後選取 [安裝]。
- 去寫前後端程式
- 前端引入<script src="~/lib/signalr/dist/browser/signalr.js"></script>
- 對專案按右鍵[發行] => 部屬模式選擇[Framework依存性]或[獨立式]皆可
- [Framework依存性]時[目標執行階段]保持在[可攜式];[獨立式]則指定平台(ex:Linux x64)
- 發行完成把資料夾壓成zip檔放著
- 到CentOS官網下載最新版iso(https://www.centos.org/download/)
- 然後在虛擬機器上安裝它
- 從Console登入(廢話...)
- 設定網卡,找出剛才安裝時的網卡名稱 => cd /etc/sysconfig/network-scripts/
- 修改網卡, => vi {網卡名稱}
BOOTPROTO=static
IPADDR=192.168.xxx.xxx
GATEWAY=192.168.xxx.1
NETWORK=192.168.xxx.0
NETMASK=255.255.255.0
DNS1=8.8.8.8 - 輸入[ESC]結束修改模式,然後輸入;wq 存檔後離開
- 停用網卡 => ifdown {網卡名稱}
- 啟用網卡 => ifup {網卡名稱}
- 測試遠端連線是否成功
- 從遠端登入它(再度廢話...)
- 透過SSH工具上傳剛才的zip
- 取得package資訊 ,輸入
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm - 安裝指定版本(例如core 2.1)
sudo yum install aspnetcore-runtime-2.1
- cd到放zip的那資料夾裡面
- 解開zip檔 => unzip {檔名}
- cd 到解壓的資料夾
- 執行dotnet指令
sudo dotnet xxx.dll --server.urls http://192.168.xxx.xxx
*. xxx.dll依照你專案的發行名稱輸入
*. --server.urls可以指定運行時的ip跟port
- 開啟防火牆
firewall-cmd --zone=public --add-port=80/tcp --permanent - 重載入防火牆
firewall-cmd --reload
參考網站