DoraCMS 2.0 开源有一段时间了,一直没有时间去写点辅助部署的文档,这里就详细介绍下在生产环境如何部署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-zxvfnode-v9.0.0-rc.0.tar.gz
⑤ 安装 Node JS v9.0.0
现在可以开始使用下载好的源代码编译 Node.js。在开始编译前,你需要在 ubuntu server 上切换到源代码解压缩后的目录,运行 configure 脚本来配置源代码。
./configure
现在运行命令 'make install' 编译安装 Node.js:
makeinstall
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 文件夹)
tarzxvf mongodb-linux-x86_64-ubuntu1404-3.2.0.tgzmvmongodb-linux-x86_64-ubuntu1404-3.2.0 /usr/local/mongodb
③ 在/usr/local/mongodb/目录下建立文件夹data、log
#mkdir data#mkdirlog
④ 在/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.1.1.zip,并解压:
⑦进入mongodb的bin目录下执行数据导入:
#cd/usr/local/mongodb/mongodb-linux-x86_64-ubuntu1404-3.2.0/bin
mongorestore-h127.0.0.1:27017-d doracms2 --drop /home/xiaoshen746/Documents/soft/data
导入成功后是这样的:
⑧ 创建数据库管理员
还是在mongodb bin 目录,下执行下面的语句:
./mongo...useadmin
添加管理员
db.createUser({user:"doracms",pwd:"doracms",roles: [ { role:"userAdminAnyDatabase", db:"admin"} ]})
添加doracms
usedoracms2db.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 上 forkDoraCMS到自己的仓库 , 在你的本地PC,clone下代码,进入代码根目录,安装依赖
npminstall
安装完成后,执行 npm run build 打包生产代码。打包完成后 push 到自己的仓库中。
PS:这一步的主要目的是在本地打好生产包,后续再服务器上运行。
③ 我们现在回到服务器,进入到之前创建的 webapp 目录,git 自己提交的代码
#gitclone-b2.1.1
完成后,进入 DoraCMS 代码根目录,执行npm install 在服务器上安装依赖(使用cnpm更快)
④ 修改 settings.js 中的数据库配置
4、修改环境变量,设置 NODE_ENV=production
# vim /etc/profile
查看是否生效:
5、全局安装pm2
# npm install pm2 -g
6、启动程序
至此我们的准备工作已经就绪,可以启动程序了,以上的步骤都非常重要,不能遗漏。
① pm2 启动服务
pm2startserver.js--name doracms
② 访问首页,可以看到服务起来了(你可以通过自己服务器ip加端口号形式访问)
③ 访问后台,修改系统配置。
我们通过(http://localhost:8080/dr-admin)访问后台,登录信息 doramart/123456 . doramart用户具有超级管理员权限。进入后台之后,必须修改匹配的站点信息:
至此,部署已经基本完成。写的比较多,基本上讲清楚了整个部署流程,我自己都觉得有点啰嗦,希望都帮到大家。
原文地址:https://www.v5ant.com/details/-wZTVhwEm.html
教程PDF:DoraCMS.pdf