Docker安裝solo博客部署到雲服務器教程

Solo 是一款小而美的開源博客系統,專爲程序員設計。Solo 有着很是活躍的社區,可將文章做爲帖子推送到社區,來自社區的回帖將做爲博客評論進行聯動html

總的來講,這款博客框架還不錯,社區也在不斷的完善。最重要的是使用Java寫的。像流行的Hexo、Hugo等博客框架都是靜態博客,沒有後臺啥的,主要發表的文章是Markdown轉HTML格式的形式發表的,但solo是有後臺管理的,與Jpress有些類似。java

1. Docker 部署

docker pull b3log/solo
  • 啓動容器
  • 注意:對於以下命令,若是你不肯定如何使用 \ 來進行換行,就不要換行了,一行內寫完整條命令。
  • 使用 MySQL
  • 手動建庫(庫名 solo ,字符集使用 utf8mb4 ,排序規則 utf8mb4_general_ci ):
create database solo default character set utf8mb4 collate utf8mb4_general_ci;
create user 'root'@'127.0.0.1' identified by '123456';
grant all privileges on *.* to 'root'@'127.0.0.1';
flush privileges;
  • 打開服務器上的mysql,一條一條執行便可
  • 注意:上面的密碼指mysql的root用戶密碼
  • 啓動容器:
    在這裏插入圖片描述
docker run --detach --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="root" \
    --env JDBC_PASSWORD="123456" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
    b3log/solo --listen_port=6000 --server_scheme=http --server_host=localhost --server_port=
  • 啓動參數說明:
    --listen_port:進程監聽端口,能夠自定義修改
    --server_scheme:最終訪問協議,若是反代服務啓用了 HTTPS 這裏也須要改成 https
    --server_host:最終訪問域名或公網 IP,不要帶端口
    --server_port:最終訪問端口,使用瀏覽器默認的 80 或者 443 的話值留空便可
    完整啓動參數的說明可使用 -h 來查看。
  • 注意:JDBC_PASSWORD 也是指雲服務器上mysql的root用戶密碼
  • 注意--listen_port,我這邊設置監聽的端口號是6000,官方給的是8080端口,由於我這邊服務器上的8080端口已經被Tomcat佔用了,因此放行 6000 端口的防火牆,也能夠自定義其餘端口號(在不衝突的狀況下,也就是肯定沒有其餘進程在使用),開啓防火牆端口號的命令以下:
firewall-cmd --zone=public --add-port=6000/tcp --permanent

firewall-cmd --reload

firewall-cmd --zone=public --list-ports
  • 也要在服務器上的安全組上放行 6000 端口
  • 執行啓動容器後,可使用以下命令觀察容器進程的變化
docker ps -a
  • 也可使用打印solo的日誌來觀察時候安裝成功
docker logs solo
  • 當看到這條日誌時,表示solo正在建立表和初始化
    在這裏插入圖片描述

2. 日誌配置

  • 默認經過 log4j2 將日誌打印到標準輸出流,能夠經過 docker logs solo 進行查看。若是須要覆蓋 log4j 配置,可經過掛載文件實現:
--volume ~/log4j2.xml:/opt/solo/log4j2.xml
  • 掛載第三方皮膚
    若是須要使用第三方皮膚,能夠掛載目錄 skins,目錄結構請參考原版 skins
--volume ~/skins/:/opt/solo/skins/

3. Nginx 反向代理

  • 在nginx的安裝目錄conf文件夾下的nginx.conf文件添加以下:
upstream backend {
    server localhost:6000; # Solo 監聽端口
}

server {
    listen       80;
    server_name  solo.xdr630.com; # 博客域名

    access_log off;

    location / {
        proxy_pass http://backend$request_uri;
        proxy_set_header  Host $http_host;
        proxy_set_header  X-Real-IP $remote_addr;
        client_max_body_size  10m;
    }
}
  • 這邊監聽的6000端口號就是上面solo進程所須要的的端口號
  • 添加完成後重載配置使其生效
nginx -s reload
  • 接着訪問登陸後臺就可使用了:http://solo.xdr630.com/
    在這裏插入圖片描述mysql

  • 能夠看到,主題仍是比較多的,也能夠在設置移動端的皮膚,或添加看板娘之類的。
    在這裏插入圖片描述nginx

  • 有關更細緻的對solo博客的瞭解請訪問官網。程序員

相關文章
相關標籤/搜索