前言
前一段時間,甲骨文推出ARM架構的免費服務器,最高可以申請永久免費的4核,24G內存,4G帶寬(目測是G口),算是非常給力。
不過由於ARM架構的CPU。無法100%兼容x86x64的軟件,所以在部署上碰到一些坑,本文也是對部署過程的一些踩坑記錄。
一、選擇鏡像
建議選擇:Oracle Redhat 8.0版本。這個跟Centos差不多。主要是8相對來說問題少點。比如編譯安裝Mysql 5.7沒問題,不需要再折騰。
創建后ssh 連接上后,切換到root賬戶
sudo -i
二、安裝寶塔
創建好服務器,更新包、安裝BBR后,可以安裝寶塔,采用官方腳本安裝:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安裝完成后登錄寶塔管理平台,安裝Nginx、Mysql 5.7 等。
三、安裝.net5 SDK
由於ARM架構,不支持直接yum 安裝。采用下載二進制包進行解壓安裝:
wget https://download.visualstudio.microsoft.com/download/pr/50c2990a-2b62-4a51-b3db-8dab334f81c9/e0edfb3905b31ab030a97fa64f48cc8e/dotnet-sdk-5.0.300-linux-arm64.tar.gz mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-5.0.300-linux-arm64.tar.gz -C $HOME/dotnet export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet
安裝后,雖然dotnet命令可以用,但是重啟后無法使用。
編輯:/etc/profile 文件,最后加上
export PATH=$PATH:$HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
可以重啟試試看是否成功。
輸入dotnet --info 能輸入信息就說明成功了。
四、進程守護,應用持久化運行
由於寶塔插件Supervisor 在ARM下面雖然安裝成功,但是卻無法運行。咨詢寶塔官方,得到解答是是用另外一個插件:堡塔應用管理器 代替使用。的確效果很好!
安裝好插件后,我們配置一下應用池
添加一個dotnet的環境:就是選擇dotnet安裝的路徑
五、開設站點並上傳編譯好文件
開設站點和上傳文件,可以將編譯好文件先壓縮,再上傳到開設好的目錄,使用寶塔管理解壓。
注意,壓縮采用zip壓縮,不要采用rar壓縮,實測ARM下面,rar無法解壓。zip沒問題。
然后配置數據庫等。
六、開啟進程守護
選擇好文件路徑
啟動參數建議添加上 --urls http://*:5001
端口根據實際情況調整
七、反向代理
添加一個反向代理
然后編輯配置文件:
#PROXY-START/ location ~* \.(php|jsp|cgi|asp|aspx)$ { proxy_pass http://localhost:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; } location / { proxy_pass http://localhost:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; add_header X-Cache $upstream_cache_status; #Set Nginx Cache add_header Cache-Control no-cache; expires 12h; } #PROXY-END/
端口根據實際情況修改。
自此就可以正常運行了。
八、配置libgdiplus
由於不能直接 yum install libgdiplus-devel -y
所以,需要手動下載,編譯安裝:
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.4.tar.gz #解壓 tar -zxvf libgdiplus0-6.0.4.tar.gz #進入目錄 cd libgdiplus-6.0.4 #編譯安裝 ./configure --prefix=/usr make && make install
等待漫長的編譯后。增加軟連接
ln -s /usr/lib64/libgdiplus.so /usr/lib/gdiplus.dll ln -s /usr/lib64/libgdiplus.so /usr/lib64/gdiplus.dll
至此就可以了。