环境:Ubuntu16.0

1. 安装MongoDB

leanote使用的是MongoDB,因此首先需要安装MongoDB服务。
首先添加MongoDB签名:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

然后更新软件原列表:

sudo apt-get update

创建list文件并写入命令:

 echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Ubuntu14与Ubuntu16命令有所不同,Ubuntu14命令如下:
echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

安装MongoDB:

sudo apt-get install -y mongodb-org

MongoDB服务命令:

$ sudo service mongod start    //启动服务
$ sudo service mongod stop        //停止服务
$ sudo service mongod restart    //重启服务
$ sudo apt-get purge mongodb-org*    //移除包文件
$ sudo rm -r /var/log/mongodb
$ sudo rm -r /var/lib/mongodb    //删除数据目录

2、部署leanote

下载leanote二进制安装包文件,用winSCP上传至/home目录或用户目录下,将下载的压缩包解压至/etc目录:

tar -xzvf /home/leanote-xxxxx.tar.gz -C /etc/leanote

进入leanote文件夹,查看内容,如下:

$ cd /etc/leanote
$ ls
app  bin  conf  messages  mongodb_backup  public

导入初始数据到MongoDB:

mongorestore -h localhost -d leanote --dir /etc/leanote/mongodb_backup/leanote_install_data/
上面的导入命令是MongoDB v3版本的用法,v2版本于此有所差异,v2版本语法如下:
mongorestore -h localhost -d leanote --directoryperdb /home/user1/leanote/mongodb_backup/leanote_install_data/

配置leanote,将/etc/leanote/con/app.configapp.secret项的内容随意设置一个值,否则会有安全问题(官网如此强调的,具体什么问题不知)。

3、使leanote保持后台运行并开机启动

虽然现在可以通过运行命令bash /etc/leanote/bin/run.sh运行程序,但程序运行后会占用一个终端,终端关闭后程序也会停止,无法常驻后台,通过进程守护supervisord来让其常驻后台并开机自启。
首先下载Python工具:

apt-get install python-setuptools

安装supervisord

easy_install supervisor

创建配置目录:

mkdir /etc/supervisord

创建配置文件:

echo_supervisord_conf>/etc/supervisord/supervisord.conf

编辑配置文件:

vi /etc/supervisord/supervisord.conf

加入以下配置:

[program:leanote]
command=bash /etc/leanote/bin/run.sh
directory=/etc/leanote/bin
autorestart=true
redirect_stderr=true

启动supervisord

supervisord

启动配置:

 supervisord -c /etc/supervisor/supervisord.conf

如此,leanote便以在后台启动,浏览器访问ip:9000即可访问,默认管理员用户名和密码分别为:

用户名:admin
密码:abc123

当关机重启后或者leanote因其他原因被终止时,supervisord会自动拉取leanote,启动服务。
supervisord相关命令:

sudo supervisord -c 配置文件目录 #启动supervisor
sudo supervisorctl reload #重新加载supervisor

终止一条supervisord配置时,先查看进程情况:

$ ps -ef | grep supervisord

root     11639     1  0 03:44 ?        00:00:00 /usr/bin/python /usr/local/bin/supervisord -c /etc/supervisor/supervisord.conf
root     11810  9177  0 03:50 pts/0    00:00:00 grep --color=auto supervisord

杀死进程:

kill -s SIGTERM 11639