DoraCMS 2.0 开源有一段时间了,一直没有时间去写点辅助部署的文档,这里就详细介绍下在生产环境如何部署DoraCMS。 源码下载(github): DoraCMS 我这里为了方便使用虚拟机来模拟线上环境,使用的是ubuntu-14.04.1-desktop,当然服务器最好是选用非desk比较好,不过步骤完全一样。
1、安装nodejs。
① 推荐先做系统更新
apt-get update
② Node.js 仅需要你的服务器上有一些基本系统和软件功能,比如 ‘make’、‘gcc’和’wget’ 之类的。如果你还没有安装它们,运行如下命令安装:
apt-get install python gcc make g++ wget
③ 创建文件夹,在服务器上找个合适位置创建两个文件夹 soft, webapp。
④ 访问链接 Node JS Download Page 下载源代码.
复制其中的最新的源代码的链接,进入刚才创建的soft目录下然后用wget 下载,命令如下:
wget https://nodejs.org/download/rc/v9.0.0-rc.0/node-v9.0.0-rc.0.tar.gz
下载完成后解压:
tar -zxvf node-v9.0.0-rc.0.tar.gz
⑤ 安装 Node JS v4.0.0
现在可以开始使用下载好的源代码编译 Node.js。在开始编译前,你需要在 ubuntu server 上切换到源代码解压缩后的目录,运行 configure 脚本来配置源代码。
./configure
现在运行命令 ‘make install’ 编译安装 Node.js:
make install
make 命令会花费十几分钟完成编译,安静的等待一会… 漫长的等待过后(大概10分钟),编译结束,我们验证一下是否安装成功:
2、安装mongodb
① 去http://www.mongodb.org/downloads 找最新版的链接,切换到soft目录下执行
#wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.2.0.tgz
② 解压缩到 /usr/local/mongodb/ 目录下 (需要提前在 local 目录下创建 mongodb 文件夹)
tar zxvf mongodb-linux-x86_64-ubuntu1404-3.2.0.tgz
mv mongodb-linux-x86_64-ubuntu1404-3.2.0 /usr/local/mongodb
③ 在/usr/local/mongodb/目录下建立文件夹data、log
mkdir data
mkdir log
④ 在/usr/local/mongodb/目录下创建配置文件mongodb.conf
dbpath=/usr/local/mongodb/data/ #数据存放路径
logpath=/usr/local/mongodb/log/mongodb.log #日志存放路径
#auth=true
⑤ 启动mongodb (注意此时不需要auth启动)
./mongod --config /usr/local/mongodb/mongodb.conf
⑥ mongodb启动后,新增一个 terminal,进入soft目录下,下载DoraCMS基础数据doracms2.zip ,并解压:
⑦进入mongodb的bin目录下执行数据导入:
# cd /usr/local/mongodb/mongodb-linux-x86_64-ubuntu1404-3.2.0/bin
mongorestore -h 127.0.0.1:27017 -d doracms2 --drop /home/xiaoshen746/Documents/soft/data
导入成功后是这样的:
⑧ 创建数据库管理员
还是在mongodb bin 目录,下执行下面的语句:
./mongo
...
use admin
添加管理员
db.createUser({user: "doracms",pwd: "doracms",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
添加doracms
db.createUser( { user: "doramart", pwd: "doramart", roles: [ { role: "readWrite", db: "doracms2" }, ] } )
添加完成后,我们可以通过 db.auth 的方式校验是否添加正确。
⑨ 修改mongdb.conf , 将 auth=true 注释打开,把之前启动的mongdb挂掉,使用进程守护的方式重新启动数据库。
启动mongodb:
./mongod --config /usr/local/mongodb/mongodb.conf --smallfiles &
3、部署代码
① 安装git
#apt-get install git
② 在 github 上 fork DoraCMS 到自己的仓库 , 在你的本地PC,clone下代码,进入代码根目录,安装依赖
npm install
安装完成后,执行 npm run build 打包生产代码。打包完成后 push 到自己的仓库中。
PS:这一步的主要目的是在本地打好生产包,后续再服务器上运行。
③ 我们现在回到服务器,进入到之前创建的 webapp 目录,git 自己提交的代码
#git clone https://github.com/username/DoraCMS
完成后,进入 DoraCMS 代码根目录,执行npm install 在服务器上安装依赖(使用cnpm更快)
④ 修改 settings.js 中的数据库配置
4、修改环境变量,设置 NODE_ENV=production
# vim /etc/profile
查看是否生效:
5、全局安装pm2
# npm install pm2 -g
6、启动程序
至此我们的准备工作已经就绪,可以启动程序了,以上的步骤都非常重要,不能遗漏。
① pm2 启动服务
pm2 start server.js --name doracms
② 访问首页,可以看到服务起来了(你可以通过自己服务器ip加端口号形式访问)
③ 访问后台,修改系统配置。 我们通过(http://localhost:8080/dr-admin)访问后台,登录信息 doramart/123456 . doramart用户具有超级管理员权限。进入后台之后,必须修改匹配的站点信息:
至此,部署已经基本完成。写的比较多,我自己都觉得有点啰嗦,希望都帮到大家。