Solo 是一款小而美的開源博客系統,專為程序員設計。Solo 有著非常活躍的社區,可將文章作為帖子推送到社區,來自社區的回帖將作為博客評論進行聯動
總的來說,這款博客框架還不錯,社區也在不斷的完善。最重要的是使用Java寫的。像流行的Hexo、Hugo等博客框架都是靜態博客,沒有后臺啥的,主要發表的文章是Markdown轉HTML格式的形式發表的,但solo是有后臺管理的,與Jpress有些相似。
1. Docker 部署docker pull b3log/solo 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 docker ps -a docker logs solo 當看到這條日志時,表示solo正在創建表和初始化

2. 日志配置--volume ~/log4j2.xml:/opt/solo/log4j2.xml --volume ~/skins/:/opt/solo/skins/ 3. Nginx 反向代理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;
}
} nginx -s reload
|