Sym 配置项说明

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

最新的代码中已经进行了详细的中文注释,请看类 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 引用 • 4601 回帖 • 696 关注
  • 配置
    16 引用 • 159 回帖
  • 文档
    56 引用 • 1289 回帖 • 2 关注

相关帖子

欢迎来到这里!

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

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

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

  • 其他回帖
  • huangrong

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

    1 回复
  • 88250

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

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

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

  • 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 回复
  • 查看全部回帖