Sym 配置项说明

本贴最后更新于 2090 天前,其中的信息可能已经时移世易

最新的代码中已经进行了详细的中文注释,请看类 Symphonys.java

概述

配置文件 symphony.properties 是 Sym 的功能配置文件,所有影响界面展示、功能使用的配置项都在这里。

该配置文件在源码目录中位于 src/main/resources/ 目录下;在 war 包中位于 WEB-INF/classes/ 目录下。

注意事项

  • 该文件使用 Unicode 进行编码
  • 编辑后需要重启服务器才能生效

配置项说明

下面按配置文件中的注释分段进行说明。

Post

  • minStepArticleTime=10000:发布帖子最小间隔时长,单位毫秒
  • minStepCmtTime=5000:发布回帖最小间隔时长,单位毫秒
  • minStepChatTime=5000:发布聊天最小间隔时长,单位毫秒
  • newbieFirstArticle=0:新手帖需要注册后多久才允许发布,单位毫秒

Pagination & Display

  • defaultPaginationCnt=20:分页每页显示条数
  • defaultPaginationWindowSize=10:分页页号显示数

Index & Side

  • indexListCnt=18:首页列表显示条数
  • indexPerfectCnt=36:首页优选列表显示条数
  • trendTagsCnt=18:引用最多的标签显示条数
  • newTagsCnt=28:最新标签显示条数
  • indexArticlesCnt=20:帖子列表显示条数
  • indexArticleParticipantsCnt=7:帖子参与者显示数
  • latestArticlesWindowSize=10:帖子列表分页页号显示数
  • latestArticleParticipantsCnt=7:帖子参与者显示数
  • sideHotArticlesCnt=10:近期热议显示条数
  • sideRandomArticlesCnt=10:随便看看显示条数
  • sideTagsCnt=28:标签显示条数
  • sideRelevantArticlesCnt=15:相关帖子显示条数
  • sizeLatestCmtsCnt=10:最新回帖显示条数

以上有的配置项代码是被注释掉的,请以最新源码为准。

User Home

  • userHomeArticlesCnt=30:用户主页帖子列表每页显示条数
  • userHomeArticlesWindowSize=10:用户主页帖子列表分页页号显示数
  • userHomeCmtsCnt=30:用户主页回帖列表每页显示条数
  • userHomeCmtsWindowSize=10:用户主页回帖列表分页页号显示数
  • userHomeFollowingUsersCnt=30:用户主页关注用户列表每页显示条数
  • userHomeFollowingUsersWindowSize=10:用户主页关注用户列表分页页号显示数
  • userHomeFollowingTagsCnt=30:用户主页关注标签列表每页显示条数
  • userHomeFollowingTagsWindowSize=10:用户主页关注标签列表分页页号显示数
  • userHomeFollowingArticlesCnt=30:用户主页收藏帖子列表每页显示条数
  • userHomeFollowingArticlesWindowSize=10:用户主页收藏帖子列表分页页号显示数
  • userHomeFollowersCnt=30:用户主页关注者列表每页显示条数
  • userHomeFollowersWindowSize=10:用户主页关注者列表分页页号显示数
  • userHomePointsCnt=30:用户主页积分列表每页显示条数
  • userHomePointsWindowSize=10:用户主页积分列表分页页号显示数

Notifications

  • replyNotificationsCnt=20:回复通知列表每页显示条数
  • replyNotificationsWindowSize=10:回复通知页列表分页页号显示数
  • atNotificationsCnt=20:艾特通知列表每页显示条数
  • atNotificationsWindowSize=10:艾特通知页列表分页页号显示数
  • commentedNotificationsCnt=20:回帖通知列表每页显示条数
  • commentedNotificationsWindowSize=10:回帖通知页列表分页页号显示数
  • followingNotificationsCnt=20:关注通知列表每页显示条数
  • followingNotificationsWindowSize=10:关注通知页列表分页页号显示数
  • pointNotificationsCnt=20:积分通知列表每页显示条数
  • pointNotificationsWindowSize=10:积分通知页列表分页页号显示数
  • broadcastNotificationsCnt=20:广播通知列表每页显示条数
  • broadcastNotificationsWindowSize=10:广播通知页列表分页页号显示数
  • sysAnnounceNotificationsCnt=20:系统公告通知列表每页显示条数
  • sysAnnounceNotificationsWindowSize=10:系统公告通知页列表分页页号显示数

Article Comment

  • articleCommentsPageSize=30:回帖列表每页显示条数
  • articleCommentsWindowSize=10:回帖列表分页页号显示数

Tags Wall

  • tagsWallTrendCnt=30:标签墙热门标签显示数
  • tagsWallColdCnt=30:标签墙冷门标签显示数

标签墙访问路径:/tags

Tag Articles

  • tagArticlesWindowSize=10:标签帖子列表分页页号显示数
  • tagParticipantsCnt=7:标签参与者显示数
  • tagArticleParticipantsCnt=7:标签帖子列表参与者显示数
  • tagRelatedTagsCnt=7:相关标签显示数
  • tagRelatedWeight=1:相关标签权重阈值,只有大于等于这个值才认为是相关标签

City

  • cityArticlesWindowSize=10:同城帖子列表分页页号显示数
  • cityArticleParticipantsCnt=7:同城帖子列表参与者显示数
  • cityUserPageSize=30:同城用户列表每页显示条数
  • cityUsersWindowSize=10:同城用户列表分页页号显示数

Top Ranking List

  • topCnt=60:排行榜显示条数

Chat Room

  • chatRoom.msgCnt=40:聊天室消息显示条数

Skins

  • skinDirName=classic:默认的主题
  • mobileSkinDirName=mobile:默认的移动端主题

Default User Avatar

  • defaultThumbnailURL=http://7xjz0r.com1.z0.glb.clouddn.com/user-thumbnail.png:默认用户头像(头像生成失败的情况下会用这个头像)

Stie Visit Statistic Code

  • siteVisitStatCode=第三方统计代码,比如百度统计

Qiniu

  • qiniu.enabled=false:是否启用七牛云存储
  • qiniu.accessKey=:七牛云 Access Key
  • qiniu.secretKey=:七牛云 Secret Key
  • qiniu.domain=http://7xjz0r.com1.z0.glb.clouddn.com:七牛云访问域名
  • qiniu.bucket=symphony-dev:七牛云 Bucket
  • upload.img.maxSize=1048576:上传图片最大大小,单位字节
  • upload.file.maxSize=104857600:上传文件最大大小,单位字节
  • upload.dir=./upload/:上传本地服务器目录路径,如果启用了七牛云则优先使用七牛云

注意:

  • 生产环境启用上传本地必须修改 upload.dir,使用绝对路径指定文件存放路径,不要指定到容器下
  • 生产环境尽量使用单独的域名来获取上传的文件,单独处理流量,也避免出现安全隐患

Point

  • pointInit=500:用户注册后赠送的积分值
  • pointAddArticle=20:添加帖子需要消耗的积分值
  • pointUpdateArticle=5:更新帖子需要消耗的积分值
  • pointAddComment=5:回帖需要消耗的积分值
  • pointUpdateComment=5:更新回帖需要消耗的积分值
  • pointAddSelfArticleComment=2:自己回自己帖子时需要消耗的积分值
  • pointInviteRegister=200:邀请注册可获赠的积分值
  • pointActivityCheckinMin=5:签到活动可获赠的最小积分值
  • pointActivityCheckinMax=20:签到活动可获赠的最大积分值
  • pointActivityCheckinStreak=200:连续签到可获赠的积分值
  • pointThankComment=15:感谢回帖积分值
  • pointAddArticleBroadcast=100:发布同城广播需要消耗的积分值
  • pointAddArticleReward=20:启用帖子打赏区需要消耗的积分值
  • pointAtParticipants=3:使用艾特参与者功能时每个艾特需要消耗的积分值
  • pointStickArticle=100:指定帖子需要消耗的积分值
  • pointThankArticle=20:感谢帖子需要消耗的积分值
  • stickArticleTime=1800000:置顶帖子的时长,单位毫秒
  • pointActivityCharacter=5:写字活动可获赠的积分值
  • pointDataExport=100:数据导出需要消耗的积分值
  • pointInvitecode=100:购买邀请码需要消耗的积分值
  • pointInvitecodeUsed=200:邀请码被使用可获赠的积分值
  • pointActivityEatingSnake=20:贪吃蛇活动需要消耗的积分值
  • pointActivityEatingSnakeCollectMax=50:贪吃蛇活动可获赠的最大积分值
  • pointPerfectArticle=100:帖子上优选可获赠的积分值
  • pointActivityGobang=1:五子棋活动需要消耗的积分值
  • pointTransferMin=3000:允许使用积分转账功能的积分余额阈值
  • pointExchangeMin=5000:允许将积分兑换为红包的最小积分余额阈值
  • pointExchangeUnit=150:积分兑换红包 ¥1 所需积分值

Activity

  • activity1A0001Closed=false:是否关闭上证指数博彩活动
  • activity1A0001LivenessThreshold=17.5:参与上证指数博彩活动所需活跃度最小阈值

领取昨日活跃奖励积分相关参数:

  • activitYesterdayLivenessReward.activity.perPoint=5
  • activitYesterdayLivenessReward.article.perPoint=20
  • activitYesterdayLivenessReward.comment.perPoint=5
  • activitYesterdayLivenessReward.pv.perPoint=0.5
  • activitYesterdayLivenessReward.reward.perPoint=10
  • activitYesterdayLivenessReward.thank.perPoint=15
  • activitYesterdayLivenessReward.vote.perPoint=5
  • activitYesterdayLivenessReward.acceptAnswer.perPoint=10
  • activitYesterdayLivenessReward.maxPoint=300

Mail channel: sendcloud or aliyun or local

  • mail.channel=local:邮件渠道
  • mail.batch.articleSize=16:批量邮件推送帖子条数

SendCloud Mail channel

  • mail.sendcloud.apiUser=:SendCloud 渠道 API User
  • mail.sendcloud.apiKey=:SendCloud 渠道 API Key
  • mail.sendcloud.from=account@hacpai.com:SendCloud 发信人邮件地址
  • mail.sendcloud.batch.apiUser=:SendCloud 渠道批量 API User
  • mail.sendcloud.batch.apiKey=:SendCl 渠道批量 API Key
  • mail.sendcloud.batch.from=weekly@symphony.b3log.org:SendCloud 渠道批量发信人邮件地址

Aliyun Mail channel

  • mail.aliyun.accessKey=:阿里云渠道 Access Key
  • mail.aliyun.accessSecret=:阿里云渠道 Access Secret
  • mail.aliyun.from=account@hacpai.com:阿里云渠道发信人邮件地址
  • mail.aliyun.batch.from=weekly@symphony.b3log.org:阿里云渠道批量发信人邮件地址

Local Mail channel

  • mail.local.isdebug=true:设置为 debug 模式时,后台控制台会输出邮件发送过程
  • mail.local.transport.protocol=smtp:传输协议使用 smtp
  • mail.local.host=smtp.163.com:smtp 邮件服务器
  • mail.local.port=25:smtp 端口号设置
  • mail.local.smtp.auth=true:是否开启认证
  • mail.local.smtp.ssl=true:是否启用 SSL
  • mail.local.smtp.starttls.enable=false:是否启用 TLS
  • mail.local.smtp.sender=yourAccount@163.com:发送者的 Email
  • mail.local.smtp.username=:发送者名称
  • mail.local.smtp.passsword=:邮件验证密码,126 的 STMP 服务的客户端密码需要自己开通,不是登录密码,换成你自己的
  • mail.local.saved.eml.path=D:/:邮件保存目录,绝对路径

不推荐使用本地邮件渠道,送达率非常低,推荐使用 SendCloud。

Baidu

  • baidu.lbs.ak=:百度地图 API Access Key,获取用户所在城市需要配置该项
  • baidu.data.token=:百度搜索引擎推送 Token,对 SEO 有帮助
  • baidu.yuyin.apiKey=:百度语音 API Key,需要小薇语音预览功能需要配置该项
  • baidu.yuyin.secretKey=:百度语音 API Secret

BosonNLP

  • boson.token=:玻森自然语言处理 Token,用于发帖时获取帖子标签进行自动填充 https://bosonnlp.com

Geetest

  • geetest.enabled=false:是否启用极验 http://www.geetest.com
  • geetest.id=:极验 ID
    geetest.key=:极验 Key

目前这个验证码只有在每日签到的时候使用。

Elasticsearch

  • es.enabled=false:是否启用 ES
  • es.server=http://localhost:9200:ES 服务地址

Algolia

  • algolia.enabled=false:是否启用 Algolia,https://www.algolia.com
  • algolia.appId=:Algolia APP ID
  • algolia.searchKey=:Algolia Search Key
  • algolia.adminKey=:Algolia Admin Key
  • algolia.index=:Algolia Index

Turing Robot

  • turing.enabled=true:是否启用图灵机器人小薇
  • turing.api=http://www.tuling123.com/openapi/api:图灵机器人接口地址
  • turing.key=:图灵机器人 Key
  • turing.name=V:图灵机器人用户名
  • turing.avatar=http://7xjz0r.com1.z0.glb.clouddn.com/robot_avatar.jpg:图灵机器人头像地址

Reserved

  • reservedTags=Announcement,回收站:保留标签,英文状态下逗号分隔
  • systemAnnounce=Announcement:系统公告标签
  • reservedUserNames=admin,participants,all,Bot,someone,b3log,hacpai,api,console:保留的用户名列表,英文状态下逗号分隔

White list

  • whitelist.tags=Elasticsearch,CoffeeScript,C#:标签白名单,不进行格式校验,英文状态下逗号分隔

Cache

  • cache.articleCnt=256:帖子缓存最大条数
  • cache.commentCnt=1024:回帖缓存最大条数

Performance Threshold

  • perfromance.threshold=500:性能监测最小阈值,单位毫秒,超过这个值就会在日志中打印相关监控信息以帮助性能问题排查
  • cookie.secret=BEYOND:Cookie 加密密钥,生产环境必须修改

Anonymous

  • anonymous.point=3000:使用匿名发帖、回帖最小积分余额阈值
  • anonymousViewSkips=/tag/*,/domains/,/tags,/statistic,/domain/*,/perfect,/recent,/hot,/timeline,/community,/member/*,\ /api/v2/articles/**,/api/v2/domains,/api/v2/domain/*,/api/v2/tags,/api/v2/tag/*,/api/v2/user/*:跳过是否允许匿名浏览的路径,是否允许匿名浏览请参看管理后台中的其他管理
  • anonymousViewURIs=7:在不允许匿名浏览的情况下最多能浏览多少个路径

Invitecode

  • invitecode.expired=259200000:用户积分购买的邀请码会在多长时间内过期,单位毫秒

Tag

  • tag.maxTagTitleLength=12:标签校验允许最大长度

Forge

  • forge.link.maxTagCnt=50:链接熔炉最大显示标签数
  • forge.link.maxCnt=20:链接熔炉最大显示条数
  • forge.link.tagRefCnt=10:链接熔炉标签引用计数

这个功能目前已经停用。

IPFS

  • ipfs.dir=:IPFS 数据存储目录路径
  • ipfs.bin=:IPFS 可执行文件路径

关于 IPFS 请参考:IPFS 入门笔记

Macro head code

  • macroHeadPCCode=:PC 端 head 标签插入代码
  • macroHeadMobileCode=:移动端 head 标签插入代码

用于要在全局 head 标签插入代码的场景下。

  • footerPCCode=:PC 端 footer 部分插入代码
  • footerMobileCode=:移动端 footer 部分插入代码

Permission

访问路径对应所需权限的配置。

  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4599 回帖 • 704 关注
  • 配置
    16 引用 • 159 回帖
  • 文档
    56 引用 • 1289 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • samye

    强大,赞 @

  • R

    首页优选 条数 是哪个参数?

    1 回复
  • 88250

    之前写死了,刚刚改成配置项 indexPerfectCnt

  • zimeng12138

    我下载源码下来总是损坏唉。。。。

    1 回复
  • 88250

    从 GitHub 上面么?可能是网络原因,直接用 git clone 成功概率高些。

  • chorylee 1

    点击收藏关注好像没有变化,但实际上边缘颜色有变化。建议收藏和关注按钮的变化更明显一些,或者加入反差更大的颜色,或者加些小动画。

    2 回复
  • 88250

    好的,谢谢反馈
    @Vanessa

    1 回复
  • 新版有修改哦,多谢

  • chorylee 1

    反应真快!不得不赞一个!👍

  • oagnahz

    用 local 发邮件时:554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件😂

    1 回复
  • 88250 1

    用 SendCloud 或者 阿里云 吧,本地 Javamail 基本不可能送达,除非是发送同域下的企业邮箱。

  • 915831673

    大佬,那个我把项目布上腾讯云服务器内在美就用补了了?本地还好好的,latke.properties 文件也改了,还差哪里没改么?请求提示”安全检查异常,请保存好数据,并在刷新页面后再尝试提交~ “,这要怎么改?

    1 回复
  • 88250 1

    刷新就行

  • Andy123

    发帖乱码必须修改 Tomcat 版本对吧 -已解决。。。

  • jeesk

    [ERROR]-[2018-09-22 23:14:56]-[org.b3log.latke.cron.Cron:123]: Scheduled task execute failed [http://localhost:8080/cron/mail/weekly?key=song, timeout=120000]
    启动报错,不知道这是什么情况?
    java.io.FileNotFoundException: http://localhost:8080/cron/mail/weekly?key=song
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1872)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
    at org.b3log.latke.cron.Cron.run(Cron.java:116)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)

    1 回复
  • 88250

    这个启动报错暂时忽略,不影响。

    2 回复
  • jeesk

    imagepng

  • jeesk

    启动报错,打开不了页面呀

    1 回复
  • 88250

    这个报错不影响服务,你查查其他原因吧。

    1 回复
  • jeesk

    只有我的数据库没有用 8.0 而已

  • jeesk

    我试了一下,完全用不了,按照你们的要求 tomcat 使用 9 版本,MySQL 使用的是 8 版本,jdk 最低 8, 还是不能使用. 包括我去下载了你们的第一个的发行版本.也是跑不起来. 我主要是用 IDEA 跑起来,学习一下你们的社区功能而已.伤心了.

    1 回复
  • 88250

    仔细看下文档吧,按照文档来。

    1 回复
  • jeesk

    好的. 我再试一试.

  • laughingjames

    社区版本 英文怎么配置?

    1 回复
  • 88250

    管理后台其他管理里面设置,用户也可以自己设置自己的偏好语言。

  • insight

    我在上传头像的时候发现 log 说数据库查询时找不到 userPointHex 这一列,请问我应该去哪个表里加这一列(我不太想改 latke 然后重新编译)

    1 回复
  • 88250

    最新版代码已经修复这个 bug 了。

  • @88250 我设置了用户变量 SYM_PROPS ,为什么在启动的时候还是会用 classpath 下的 symphony.properties?
    能不能再启动的时候指定一些配置文件 比如 latke.properties、symphony.properties 等?

    1 回复
  • 88250

    可以通过环境变量指定配置文件的路径:

    • symphony.props: SYM_PROS
    • latke.props: LATKE_PROPS
    • local.props: LATKE_LOCAL_PROPS

    如果你是在 IDE 内启动 sym 导致环境变量没生效的话,你需要重启 IDE 进程后再试。

  • @88250 我用社区免费版,发现很多功能都没有,比如搜索、清风明月等,请问这些是和前端模板有关,还是社区版没有包含这些功能?

    1 回复
  • 88250

    清风明月和搜索都有的,只是实现的比较糙,需要一些二开。社区版清风明月在侧边栏没有入口,入口在个人主页那里,搜索的话需要配置 Algolia 或者 ES 二开。

    1 回复
  • 明白了。
    谢谢。

  • 我在配置文件里设定了:

    mail.local.smtp.auth=true
    mail.local.smtp.ssl=true
    

    为什么日子还是没有启用 SSL ?
    imagepng

    @88250

    1 回复
  • 88250

    mail.local.smtp.starttls.enable 这个也要设置成 true

    1 回复
  • 好的,谢谢。
    因为看你这个上面没有设置。

  • huangrong

    1png
    我是把 sym 部署到了阿里云服务器上,但是加载 css 或者图片都是 localhost,而不是服务器的 ip,这个该怎么改呢

    1 回复
  • sangmu

    生产和开发,多个环境,如何添加两套配置文件,实现动态加载,省去每次发布,修改配置文件

    1 回复
  • 88250

    用环境变量加载不同的配置文件。

    1 回复
  • sangmu

    社区版只能配置 SYM_PROPS 吗

    1 回复
  • 88250

    框架的那几个变量也支持的。

    1 回复
  • sangmu

    搜索代码,其它两个没找到引用的地方,这几个变量在哪个配置文件里定义有效,三个都要定义两份

    1 回复
  • 88250

    框架里面定义的。

    1 回复
  • sangmu

    imagepng
    这个三个变量配置在哪个 .properties 里,会生效,我配置在 lakte 里没用

    1 回复
  • 88250

    这个是环境变量啊,不是配置文件。

    1 回复
  • sangmu

    那在哪里指定,不同环境需要加载的配置

    1 回复
  • 88250

    通过配置操作系统环境变量指定,我不是说过了么 😓

    1 回复
  • sangmu

    没领悟到,是操作系统的,一直奇怪是哪个环境变量,才疏学浅,没搞过这种配置,这下涨知识了,谢谢解答

  • LIU-LIU-LIU

    关于 mail 那一块,我先是用了 local 方法,使用网易的 smtp 注册的时候也没法获取到验证码,(我的网易邮箱没有问题,我系统邮件和一些服务用的 也是网易邮箱发的邮件),image.png
    然后我又听你的推荐去注册了 sendcloud 一番注册下来,我在 send 的测试页面发送测试邮件也能送达,image.png
    但是我把渠道改成 sendcloud 注册时还是不能收到邮件。image.png
    关于 log 我对 jetty 配置不太熟,顺便问下为什么我的 JETTY_HOME/log 下面没有任何日志文件?

    1 回复
  • 88250

    日志配置在 log4j.props

    1 回复
请输入回帖内容 ...