在樹莓派2上安裝Ubuntu mate系統併成功部署基於.net core的CMS系統Zkeacms

親戚送了一個樹莓派2(如下內容也適用樹莓派3),決定拿來學習折騰一下,因爲想學Ubuntu,決定首先安裝Ubuntu mate系統。linux

  1. 準備一張16G以上的高速TF卡(C10的內存卡),用讀卡器接入PC電腦,備分內存卡內數據,網上下載兩個小工具SD Card Formatter和Win32DiskImager,使用SD Card Formatter格式化內存卡。
  2. 下載 Ubuntu mate鏡像,點擊右下角Raspberry Pi; 再點版本16.04.2 (Xenial)進入最終下載頁面;這裏遇到的第一個坑:不要直接從這個服務器上下載鏡像,我聯通50兆的光纖下載這個1.2g的鏡像提示我剩餘時間2天2夜!後來在這個下載頁面下載bt連接(估計磁力連接也能夠)後用迅雷幾十分鐘就下載好了ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz。
  3. 使用7zip解壓出鏡像,而後是用Win32DiskImager將鏡像寫入內存卡;拔下讀卡器內存卡插入樹莓派中,接上網線和鼠標,用HDMI線接上平板電視;上電,樹莓派開始安裝Ubuntu mate,鼠標一路選擇一路點下一步,有usb鍵盤的同窗可直接跳到第6步。
  4. 到了設置姓名、計算機名稱、用戶名、密碼的時候我傻眼了,由於我沒有USB鍵盤!第二個大坑來了,系統都沒有裝完,ssh服務沒開啓(遠程測試確實連不上);網上查的無鍵盤無顯示器的方法都是基於樹莓派官方raspbian系統的,官方系統安裝是全自動的,會自動建立默認用戶名和默認密碼;我發現能夠用鼠標複製粘貼,從哪複製呢,找了半天,向上一步在選擇時區界面的Shanghai這幾個字母能夠複製,就複製它來作用戶名密碼吧,Ubuntu mate系統安裝完成。
  5. 開啓ssh服務(無鍵盤),只有開啓ssh服務才能在pc上遠程控制樹莓派,發現Ubuntu mate默認是沒有開啓ssh服務的,沒有usb鍵盤如何開啓ssh服務呢?查了網上不少文章的方法都是基於樹莓派官方系統的,我都測試了,對Ubuntu mate無效!沒有鍵盤就沒法輸入命令,我腦洞大開想到一個笨辦法:樹莓派關機,拔下內存卡,裝入讀卡器連上電腦,新建一個文本文件,裏面保存開啓ssh的一些命令,還有26個字母的大小寫,保存到boot目錄(此時windows資源管理器只能訪問這個區),再插入樹莓派,上電啓動,沒有鍵盤打開終端都困難,試試圖形界面下修改配置文件讓系統啓動時自動開啓ssh服務吧,按網上方法,我用鼠標以管理員身份打開配置文件,此時要求輸入用戶密碼,我打開用電腦保存到boot文件夾下的文本文件中的內容,複製密碼粘貼,始終提示我密碼錯誤,到這裏我投降了,京東下單迷你無線鍵鼠,次日上午就到了,後來證實是密碼大小寫錯誤!
  6. 開啓ssh服務(有鍵盤):

-1. 按下ctrl+alt+T打開終端
-2. sudo raspi-config
-3. 進入第三項
-4. 選擇p2回車
-5. 選擇yes回車
-6. 等待完成回車確認
-7. 退出配置,ps -e | grep ssh 看到sshd即開啓
接着開啓root用戶登陸
-8. 更改root用戶密碼,命令:sudo passwd root
-9. sudo vi /etc/ssh/sshd_config
-10. 找到 「PermitRootLogin without-password」 或者 「PermitRootLogin prohibit-password」
-11. 修改爲 「PermitRootLogin yes」
-12. 重啓SSH服務 sudo service ssh restartnginx

  1. 經過ifconfig查看本地ip獲得樹莓派ip,pc電腦上安裝並運行putty,輸入樹莓派ip,點打開,輸入用戶名密碼就能夠經過終端命令行方式遠程控制樹莓派了;到此剛剛買的鍵鼠套裝就能夠放起來落灰了。無需遠程桌面的同窗能夠直接跳到第11步。
  2. Ubuntu mate的圖形界面不錯,仍是裝個遠程桌面吧,安裝x11VNC遠程桌面:

-1. 安裝x11vnc sudo apt-get install x11vnc
-2. 設置密碼 x11vnc -storepasswd
-3. 修改配置文件 sudu vim /lib/systemd/system/x11vnc.serviceubuntu

[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/<USERNAME>/.vnc/passwd -rfbport 5900 -shared

[Install]
WantedBy=multi-user.target

4.啓動服務vim

sudo systemctl daemon-reload 
sudo systemctl enable x11vnc.service 
sudo systemctl start x11vnc.service

若是要想使用windows遠程桌面鏈接還能夠安裝xrdp sudo apt-get install xrdp
9.推薦使用 vncviewer 來鏈接,pc電腦上下載安裝vncviewer,運行後新建鏈接,輸入樹莓派ip,而後輸入用戶名密碼便可遠程鏈接樹莓派桌面,首次鏈接默認分辨率很低,下面是修改分辨率的方法:
-1.sudo raspi-config
-2.選擇第5項 Advanced Options 回車
-3.選擇 A5 Resolution 回車
-4.選擇合適的分辨率回車,重啓樹莓派生效;個人筆記本屏幕分辨率是1600900,選擇1280720的樹莓派分辨率最合適。
10.Windows和樹莓派之間複製粘貼剪切板,試了不少網上的方法無論用(可能適用於樹莓派原生系統),用下面的方法親測有效:輸入命令autocutsel 若沒安裝輸入命令 sudo apt install autocutsel 安裝,注意在樹莓派裏使用Ctrl+v的方式粘貼,而不是使用右鍵-粘貼!
11.樹莓派安裝.net core 2.1
-1.更新源 sudo apt-get update
-2.安裝依賴 sudo apt-get install curl libunwind8 gettext
-3.下載運行時windows

curl -sSL -o dotnet.tar.gz https://download.microsoft.com/download/1/f/7/1f7755c5-934d-4638-b89f-1f4ffa5afe89/dotnet-runtime-2.1.2-linux-arm.tar.gz

-4.提取內容 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
-5.設置能夠執行dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin
-6.測試安裝 dotnet --help
12.在pc端使用publish -r linux-arm發佈Zkeacms,把binDebugnetcoreapp2.0linux-arm下的程序或者在Zkeacms qq羣下載帶運行時的ZKEACMS.3.0.1-linux-arm.zip,解壓上傳到樹莓派上;上傳工具推薦使用filezilla,中文無亂碼;終端進入上傳到樹莓派的目錄,輸入命令 ./ZKEACMS.WebHost 看是否能運行起來。 服務器

13.安裝nginxapp

sudo apt-get update 
sudo apt-get install nginx

安裝完成之後,用服務器IP訪問一下,若是能夠正常訪問,說明nginx已經正常運行了。配置nginx vi /etc/nginx/sites-available/default
使用如下內容替換原有內容:ssh

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 systemctl restart nginx curl

14.添加服務運行ZKEACMS:在安裝服務以前,能夠先手動運行一下CMS看是否可正常訪問,定位到CMS目錄,而後運行dotnet ZKEACMS.WebHost.dll ;而後使用服務器(樹莓派)IP訪問。若是能夠正常訪問的話,就能夠添加服務,並設置開機運行;添加一個zkeacms服務:vi /etc/systemd/system/zkeacms.service
輸入如下內容保存工具

[Unit]
Description=ZKEACMS

[Service]
WorkingDirectory=/root/cms
ExecStart=/usr/share/dotnet/dotnet /root/cms/ZKEACMS.WebHost.dll
Restart=always
RestartSec=10
SyslogIdentifier=zkeacms
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

運行服務: systemctl start zkeacms
服務開機啓動: systemctl enable zkeacms

相關文章
相關標籤/搜索