PlayCommunity 社区系统基于 Play Framework 2.6.x 开发而成,目前正在运营PlayScala社区。
Play For Scala 开发指南
PlayScala社区贡献指南
git clone https://github.com/playcommunity/play-community.git
打开命令行,进入 play-community 目录,执行命令:
sbt dist
最终生成的Play应用路径为:
play-community\target\universal\play-community-<version>.zip
将 play-community-<version>.zip
文件上传至服务器并解压,打开配置文件 conf/application.conf
,配置如下:
# 配置 MongoDB
mongodb.uri = "mongodb://user:password@host:port/play-community?authMode=scram-sha1"
需要注意的是,MongoDB需要开启ReplicaSet功能,开启方法可以参考官方文档:Deploy Replica Set,也可以使用群友梦境迷离
贡献的一键启动脚本,该脚本需要在Git Bash
中运行。启动脚本的使用方法如下:
- 打开
Git Bash
,切换当前目录至项目根目录; - 进入配置文件目录:
cd conf
- 执行启动脚本:
bash start_mongo.sh
,该脚本会启动mongod
进程,并随后自动进入mongo shell
; - 在
mongo shell
中输入如下命令初始化ReplicaSet:
var config = {_id:"rs",members:[{_id:0,host:"127.0.0.1:27001"},{_id:1,host:"127.0.0.1:27002"}]};
rs.initiate(config);
- 检查ReplicaSet状态:
rs.status()
以上启动脚本会启动两个MongoDB节点,分别是127.0.0.1:27001
和127.0.0.1:27002
,数据库文件位置为C:/mongo/data
,日志路径为:C:/mongo/logs/log1.log
、C:/mongo/logs/log2.log
。
打开配置文件 conf/application.conf
,配置如下:
# 配置发送邮件账户
play.mailer {
host = "smtp.163.com"
port = 25
user = "[email protected]"
password = "xxx"
}
安装 ElasticSearch
下载任意一个版本,解压并执行启动命令:
官方的安装包由于安全问题不允许在 root 账户下启动。
cd elasticsearch-5.5.0/bin
nohup ./elasticsearch > ./log.txt&
打开配置文件 conf/application.conf
,配置如下:
# 配置 ElasticSearch
es {
enabled = true
index = "play-community"
host = "127.0.0.1:9200"
}
执行下面命令启动应用:
nohup ./play-community -J-Xms1g -J-Xmx1g -Dhttp.port=80 > ../log.txt &
关于Play应用的启动、停止以及升级,请参考:Play For Scala 开发指南 - 第5章 第一个Play项目 - 发布Play项目
系统的管理入口为:
http://服务器地址/admin
默认管理员账户为:[email protected] 123456