å°è€Œç¾Žçš„åšå®¢ç³»ç»Ÿï¼Œä¸“为程åºå‘˜è®¾è®¡
 Â
 Â
 Â
Solo 是一款å°è€Œç¾Žçš„å¼€æºåšå®¢ç³»ç»Ÿï¼Œä¸“为程åºå‘˜è®¾è®¡ã€‚
Solo 有ç€éžå¸¸æ´»è·ƒçš„社区,å¯å°†æ–‡ç« ä½œä¸ºå¸–åæŽ¨é€åˆ°ç¤¾åŒºï¼Œæ¥è‡ªç¤¾åŒºçš„回帖将作为åšå®¢è¯„论进行è”动。
这是一ç§å…¨æ–°çš„网络社区体验,让çƒçˆ±è®°å½•å’Œåˆ†äº«çš„ä½ ä¸å†æ„Ÿåˆ°å¤å•ï¼
具体细节请æµè§ˆ B3log æž„æ€
- D 的个人åšå®¢
- Jiahao.Zhang's Blog
- åå…®åå…®
- 铅笔的个人åšå®¢
- 洗澡狂é”的技术阵地
- liumapp 的个人åšå®¢
- 水星的éšç¬”
- 1992 社区
- DevHyxo
- EchoCow
- 贼拉æ£ç»çš„æŠ€æœ¯åšå®¢
- 记录改å˜ç”Ÿæ´»
- 程åºå‘˜å°å´
- Markdown / Emoji
- æ ‡ç¾èšåˆåˆ†ç±»
- 自定义导航链接
- éšæœºæ–‡ç« / ç›¸å…³æ–‡ç« / 置顶 / æ›´æ–°æé†’
- è‡ªå®šä¹‰æ–‡ç« æ°¸ä¹…é“¾æŽ¥ / ç¾åæ¡£
- é…置站点 SEO 傿•° / 公告 / 页脚
- 代ç 高亮 / æ•°å¦å…¬å¼ / æµç¨‹å›¾
- å¤šçš®è‚¤ï¼Œå¤šç«¯é€‚é… / 社区皮肤
- 多è¯è¨€ / 国际化
- 勿ƒ…链接管ç†
- 多用户写作,团队åšå®¢
- Hexo / Jekyll / Markdown 导入
- SQL / JSON / Markdown 导出
- Atom / RSS / Sitemap
- CDN 陿€èµ„æºåˆ†ç¦»
- è‡ªåŠ¨åŒæ¥ GitHub 仓库
- 内置 HTTPS+CDN 文件å˜å‚¨
ç›®å‰å†…置的皮肤如下,å¯ç‚¹å‡»è¿›è¡Œé¢„览:
- Bubble
- Casper
- Pinghsu
- Jane
- nijigen
- Medium
- 9IPHP
- Andrea
- Bruce
- Community
- favourite
- Finding
- i-nove
- metro-hot
- NeoEase
- next
- owmx-3.0
- timeline
- tree-house
- yilia
欢迎在该 issue 下推è好看的皮肤,我们会尽é‡è¿›è¡Œåˆ¶ä½œã€‚
下载最新的 Solo 包解压,进入解压目录执行:
- Windows:
java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.solo.Starter
- Unix-like:
java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.solo.Starter
å¦‚æžœä½ æœ‰ Java å¼€å‘环境,å¯å‚考这里通过æºç 构建è¿è¡Œã€‚
请注æ„:我们ä¸å»ºè®®é€šè¿‡ war å‘布包或者æºç æž„å»ºéƒ¨ç½²ï¼Œå› ä¸ºè¿™æ ·çš„éƒ¨ç½²æ–¹å¼åœ¨å°†æ¥æœ‰æ–°ç‰ˆæœ¬å‘布时å‡çº§ä¼šæ¯”较麻烦。 è¿™ä¸¤ç§æ–¹å¼è¯·ä»…用于本地试用,线上生产环境建议通过 Docker 部署。
docker pull b3log/solo
-
使用 MySQL
先手动建库(库å
solo
,å—符集使用utf8mb4
,排åºè§„则utf8mb4_general_ci
),然åŽå¯åŠ¨å®¹å™¨ï¼š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" \ b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=
为了简å•ï¼Œä½¿ç”¨äº†ä¸»æœºç½‘ç»œæ¨¡å¼æ¥è¿žæŽ¥ä¸»æœºä¸Šçš„ MySQL。
-
使用 H2 Database
docker run --detach --name solo --volume ~/solo_h2/:/opt/solo/h2/ --publish 8080:8080 \ --env RUNTIME_DB="H2" \ --env JDBC_USERNAME="root" \ --env JDBC_PASSWORD="123456" \ --env JDBC_DRIVER="org.h2.Driver" \ --env JDBC_URL="jdbc:h2:/opt/solo/h2/db;MODE=MYSQL" \ b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=
å¯åЍ傿•°è¯´æ˜Žï¼š
--listen_port
:进程监å¬ç«¯å£--server_scheme
:最终访问å议,如果å代æœåŠ¡å¯ç”¨äº† HTTPS è¿™é‡Œä¹Ÿéœ€è¦æ”¹ä¸ºhttps
--server_host
ï¼šæœ€ç»ˆè®¿é—®åŸŸåæˆ–公网 IP,ä¸è¦å¸¦ç«¯å£--server_port
:最终访问端å£ï¼Œä½¿ç”¨æµè§ˆå™¨é»˜è®¤çš„ 80 或者 443 çš„è¯å€¼ç•™ç©ºå³å¯
完整å¯åЍ傿•°çš„说明å¯ä»¥ä½¿ç”¨ -h
æ¥æŸ¥çœ‹ã€‚
默è
8000
®¤é€šè¿‡ log4j 将日志打å°åˆ°æ ‡å‡†è¾“出æµï¼Œå¯ä»¥é€šè¿‡ docker logs solo
进行查看。如果需è¦è¦†ç›– log4j é…置,å¯é€šè¿‡æŒ‚载文件实现:
--volume ~/log4j.properties:/opt/solo/WEB-INF/classes/log4j.properties
如果è¦ä½¿ç”¨å…¶ä»–皮肤,å¯ä»¥æŒ‚载目录 skins(里é¢éœ€è¦åŒ…嫿‰€éœ€ä½¿ç”¨çš„æ‰€æœ‰çš®è‚¤ï¼Œå®˜æ–¹æ‰€æœ‰çš®è‚¤å¯ä»Žè¿™é‡Œä¸‹è½½ï¼‰ï¼š
--volume ~/skins/:/opt/solo/skins/
- æ‹‰å–æœ€æ–°é•œåƒ
- é‡å¯å®¹å™¨
å¯å‚考这里编写一个é‡å¯è„šæœ¬ï¼Œå¹¶é€šè¿‡ crontab æ¯æ—¥å‡Œæ™¨è¿è¡Œæ¥å®žçŽ°è‡ªåŠ¨æ›´æ–°ã€‚
请å‚考这里,感谢 @liumapp æä¾› â¤ï¸
- 《æé—®çš„æ™ºæ…§ã€‹ç²¾è¯»æ³¨è§£ç‰ˆ
- 用户指å—
- Solo 从设计到实现
- 项目简介
- æå»ºå¼€å‘环境
- æž¶æž„ç†å¿µå’Œçº¦å®š
- 表结构
- 功能实现
- 安全相关
- 错误处ç†
- 性能相关
- æ•°æ®åº“设计
- 查询 SQL
- MySQL 调优
- 程åºç¼“å˜
- Docker 镜åƒä¼˜åŒ–
- è¿ç»´ç›¸å…³
- å¼€å‘ã€ç”Ÿäº§çŽ¯å¢ƒ
- NGINX å代
- 动é™åˆ†ç¦»
- 更好的 Markdown
- æ•°æ®å¤‡ä»½å’Œè¿ç§»
- å¯ç”¨ HTTPS
- 通过 Docker 部署实现自动å‡çº§
- åŽè®°
- è½®åç†è®º
- 关于开æº
- çŽ°å®žå’Œç†æƒ³
- åšå®¢çš„æœªæ¥
- çš®è‚¤å¼€å‘æŒ‡å—
- æ’ä»¶å¼€å‘
Solo 使用 GNU Affero General Public License, Version 3 å¼€æºå议。
- jQuery:å‰ç«¯ JavaScript 工具库
- Vditor: æµè§ˆå™¨ç«¯çš„ Markdown 编辑器
- Highlight.js:å‰ç«¯ä»£ç 高亮库
- pjax:pushState + ajax = pjax
- jsoup:Java HTML è§£æžå™¨
- flexmark:Java Markdown 处ç†åº“
- Apache Commons:Java 工具库集
- Latke:以 JSON 为主的 Java Web 框架