原文地址:https://www.wjcms.net/archives/%E4%BB%8E%E9%9B%B6%E7%BA%BF%E4%B8%8A%E9%83%A8%E7%BD%B2halo%E5%8D%9A%E5%AE%A2%E5%8C%85%E5%90%ABhalo%E5%8D%9A%E5%AE%A2%E8%AE%BE%E7%BD%AE%E5%9F%9F%E5%90%8D%E8%AE%BF%E9%97%AE
寫在前邊的話
最近小編的博客忽然出了問題,崩潰了,而後從新裝了。由於對於新手來講,裏邊確實有一些地方很差處理的地方,因此,這裏發佈一下安裝的步驟,供你們參考。nginx
安裝寶塔面板
安裝Docker管理器
登陸寶塔面板,點擊左側軟件商店。 而後在搜索框中輸入docker,搜索到的結果,而後點擊安裝。 docker
而後點擊肯定。 而後查看隊列就能看到安裝狀態,等待安裝完畢便可。
數據庫
安裝 Halo
下載配置文件到 ~/.halo 目錄
進入ssh終端,運行命令下載配置文件vim
curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml
使用 Vim 工具修改配置文件
vim ~/.halo/application.yaml
編輯完退出。 centos
詳細參數說明以下:緩存
- 若是須要自定義端口,修改 server 節點下的 port 便可。
- 默認使用的是 H2 Database 數據庫,這是一種嵌入式的數據庫,使用起來很是方便。須要注意的是,默認的用戶名和密碼爲 admin 和 123456,這個是自定義的,最好將其修改,並妥善保存。
- 若是須要使用 MySQL 數據庫,須要將 H2 Database 的全部相關配置都註釋掉,並取消 MySQL 的相關配置。另外,MySQL 的默認數據庫名爲 halodb,請自行配置 MySQL 並建立數據庫,以及修改配置文件中的用戶名和密碼。
- h2 節點爲 H2 Database 的控制檯配置,默認是關閉的,如需使用請將 h2.console.settings.web-allow-others 和 h2.console.enabled 設置爲 true。控制檯地址即爲 域名/h2-console。注意:非緊急狀況,不建議開啓該配置。
- server.compression.enabled 爲 Gzip 功能配置,若有須要請設置爲 true,須要注意的是,若是你使用 Nginx 或者 Caddy 進行反向代理的話,默認是有開啓 Gzip 的,因此這裏能夠保持默認。
- halo.admin-path 爲後臺管理的根路徑,默認爲 admin,若是你懼怕別人猜出來默認的 admin(就算猜出來,對方什麼都作不了),請自行設置。僅支持一級,且先後不帶 /。
- halo.cache 爲系統緩存形式的配置,可選 memory 和 level,默認爲 memory,將數據緩存到內存,使用該方式的話,重啓應用會致使緩存清空。若是選擇 level,則會將數據緩存到磁盤,重啓不會清空緩存。如不知道如何選擇,建議默認。
拉取halo鏡像
使用命令安全
sudo docker pull ruibaby/halo
建立容器並運行
docker run --rm -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo ruibaby/halo
--rm:中止以後自動刪除容器。 --name:容器名。 -p:佔用端口,前者爲宿主機端口,後者爲 Halo 的運行端口,可在 application.yaml 配置。 -v:目錄映射,通常不要修改。 完成以上操做便可經過 ip:端口 訪問了。服務器
其餘重要命令
# 中止容器 sudo docker stop halo # 拉取最新的 Halo 鏡像 sudo docker pull ruibaby/halo # 建立容器 docker run --rm -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo ruibaby/halo
配置域名訪問(重要)
這裏我按照官方的方法設置,沒法成功,這裏是本身的方法。session
開放端口
這裏必定要注意:放行端口80 8090 443
兩個地方都要開放端口,一個是雲服務器安全組配置,另一個是寶塔面板安全配置放行端口。我在這裏吃了虧,本覺得雲服務器開放就好了,沒想到訪問不了,最後在寶塔面板設置開放就行了。
域名解析和ssl證書申請
這裏官方的使用不了,建議使用阿里雲的免費證書便可,能夠自行去申請,這裏不作介紹。
配置Nginx
在寶塔面板安裝Nginx,方法同上安裝docker,再也不贅述。
配置,設置ssl
把申請的證書上傳到雲服務器。 官方是直接下載配置模版而後進行配置,這裏咱們直接使用全局。
直接運行命令
vim /www/server/nginx/conf/nginx.conf
進行編輯
加入具體以下代碼:
server { listen 80; server_name wjcms.net www.wjcms.net;#這裏是域名 rewrite ^(.*)$ https://$host$1 permanent; client_max_body_size 1024m; } server { listen 443 ssl; server_name wjcms.net www.wjcms.net;#這裏是域名 ssl_certificate /usr/local/xxxxxx.pem;#這裏是證書地址 ssl_certificate_key /usr/local/xxxxxxx.key; #這裏是證書地址 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { proxy_set_header HOST $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8090/;#這裏注意端口 } }
這樣訪問域名就能看到博客了。
附上個人地址:https://www.wjcms.net/