前言
前階段弄了個Linux系統想倒騰倒騰.NET Core,結果看了下網上的資料,大部分都是過期的,走了不少彎路,不過還好,今下午總算搗鼓出來了。Linux命令太多了,唉。血的教訓:安裝一定要看官網的流程。
開始
首先,我們找到官網教程,安裝.NET Core 環境。地址:https://www.microsoft.com/net/core#linuxcentos
正如教程中所說,安裝之前先刪除以前的版本。我的刪除方法就是手動刪相應的資料夾。然後按照教程一步一步來就OK了。當然不排除你在實戰過程中會遇到各種各樣的麻煩,多搜,網上還是有方案的。
sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843449 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin
上述過程如果順利走完的話,就是沒啥問題了,環境就可以了。現在我們隨便新建一個ASP.NET Core程式。也不用編寫程式碼,開啟相應的程式目錄,我的如下:
這裡呢,雖然釋出方法是一樣的,但是我用的是git將程式碼克隆到伺服器,然後進行釋出的。
首先,定位到相應目錄:
cd /root/project/LayIM.NETCoreClient/LayIM.NETCoreClient ---定位到web專案下
然後restore
dotnet restore
然後publish
dotnet publish
釋出成功之後,會生成bin/Debug/netcoreapp1.0/publish 資料夾,然後定位到該資料夾,執行:
dotnet LayIM.NETCoreClient.dll --改成你的web專案dll
執行完成之後如下:
雖然,localhost可以訪問了,但是在外網訪問還是不可以的,我這裡的原因是80,5000埠沒有開放。開放即可。centos7中開放埠方式如下:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=5000/tcp --permanent
然後重啟firewall
最後,發現還是不能訪問。(我也不知道為啥),所以我也沒思考直接安裝了ngnix。
sudo yum install nginx
sudo service nginx start
改一下配置檔案,etc/nginx/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 -s reload
見證奇蹟的時候到啦。
總結
成功是成功了,不過還是手動釋出的。下一步打算看看jenkins,利用它配合github完成自動更新,打包釋出的功能。就到這裡吧。雖然寫的不多,但是動手的過程中,真真是碰到了各種奇葩問題,還是自己對Linux不熟悉啊。不過成果出來,還是很高興的。下班嘍~~