Solo 是一款小而美的開源博客系統(tǒng),專為程序員設(shè)計(jì)。Solo 有著非?;钴S的社區(qū),可將文章作為帖子推送到社區(qū),來(lái)自社區(qū)的回帖將作為博客評(píng)論進(jìn)行聯(lián)動(dòng)
總的來(lái)說(shuō),這款博客框架還不錯(cuò),社區(qū)也在不斷的完善。最重要的是使用Java寫的。像流行的Hexo、Hugo等博客框架都是靜態(tài)博客,沒(méi)有后臺(tái)啥的,主要發(fā)表的文章是Markdown轉(zhuǎn)HTML格式的形式發(fā)表的,但solo是有后臺(tái)管理的,與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; 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= 啟動(dòng)參數(shù)說(shuō)明: --listen_port:進(jìn)程監(jiān)聽(tīng)端口,可以自定義修改 --server_scheme:最終訪問(wèn)協(xié)議,如果反代服務(wù)啟用了 HTTPS 這里也需要改為 https --server_host:最終訪問(wèn)域名或公網(wǎng) IP,不要帶端口 --server_port:最終訪問(wèn)端口,使用瀏覽器默認(rèn)的 80 或者 443 的話值留空即可 完整啟動(dòng)參數(shù)的說(shuō)明可以使用 -h 來(lái)查看。 注意:JDBC_PASSWORD 也是指云服務(wù)器上mysql的root 用戶密碼 注意--listen_port ,我這邊設(shè)置監(jiān)聽(tīng)的端口號(hào)是6000 ,官方給的是8080 端口,因?yàn)槲疫@邊服務(wù)器上的8080 端口已經(jīng)被Tomcat占用了,所以放行 6000 端口的防火墻,也可以自定義其他端口號(hào)(在不沖突的情況下,也就是確定沒(méi)有其他進(jìn)程在使用),開啟防火墻端口號(hào)的命令如下:
firewall-cmd --zone=public --add-port=6000/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports docker ps -a docker logs solo 2. 日志配置--volume ~/log4j2.xml:/opt/solo/log4j2.xml --volume ~/skins/:/opt/solo/skins/ 3. Nginx 反向代理upstream backend {
server localhost:6000; # Solo 監(jiān)聽(tīng)端口
}
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
|