一个计算机技术爱好者与学习者

0%

好好学Node.js:在CentOS6上搭建Node.js环境

1. 前言

毕设进入到了最后阶段,基本功能都完成了,接下来就是一些功能的完善和bug的修改。以及,好长好长的论文要写。。。压力有点大哇!

为了方便在答辩的时候装逼一把,郝同学决定把毕设上线到阿里云服务器,让评审老师直接试用。

参考文档:

2. 安装Node.js

1、安装nvm

1
2
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
source ~/.bash_profile

2、安装node5.6.0

1
2
nvm list-remote
nvm install v5.6.0

3、设置默认使用node5.6.0

1
2
3
nvm list
nvm use v5.6.0
nvm alias default v5.6.0

3. 安装MongoDB

1、下载安装MongoDB

1
2
3
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb

2、测试启动MongoDB

1
2
cd /usr/local/mongodb/bin
mongod

3、再启动一个shell,测试连接MongoDB

1
2
cd /usr/local/mongodb/bin
mongo

如果连接成功,那么说明安装成功。

4、设置开机启动MongoDB

1
vim /etc/rc.d/rc.local

插入一行:

1
/usr/local/mongodb/bin/mongod

5、添加 mongo 命令到路径中

1
vim ~/.bash_profile

添加:

1
export PATH=/usr/local/mongodb/bin:$PATH

使立即生效:

1
source ~/.bash_profile

4. 准备项目

1、安装git

1
yum install git

2、下载项目

1
git clone https://github.com/voidking/nodeforum.git

3、安装依赖

1
2
3
npm install
npm install bower -g
bower install

4、运行项目

1
node app.js

5、测试访问
浏览器访问 http://139.129.28.10:3000
看到了熟悉的界面,上线成功!

5. 进阶配置

5.1. 自定义配置MongoDB

1、创建文件和目录

1
2
3
mkdir -p /data/db
mkdir -p /data/log
touch /data/log/mongodb.log

2、创建 mongod.conf 配置文件

1
vim /usr/local/mongodb/mongod.conf

mongod.conf 内容为:

1
2
3
4
dbpath = /data/db #数据文件存放目录
logpath = /data/log/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行

3、添加服务管理脚本,参考文档:《好好学Linux:Linux服务配置开机自启动》

1
vim /etc/rc.d/init.d/mongod

mongod 内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/bin/sh
#
# mongodb init file for starting up the MongoDB server
#
# chkconfig: - 20 80
# description: Starts and stops the MongDB daemon that handles all \
# database requests.
# Source function library.
. /etc/rc.d/init.d/functions
exec="/usr/local/mongodb/bin/mongod"
prog="mongod"
logfile="/data/log/mongodb.log"
options=" -f /usr/local/mongodb/mongod.conf"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile="/var/lock/subsys/mongod"
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
daemon --user root "$exec --quiet $options run >> $logfile 2>&1 &"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
reload() {
restart
}
force_reload() {
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}

case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?

4、启动MongoDB

1
2
chmod a+x /etc/rc.d/init.d/mongod
service mongod start

5.2. Node项目后台运行

参考文档:《好好学Linux:Linux后台运行脚本或程序》

1、安装nohup

1
2
yum provides */nohup
yum install coreutils

2、启动服务,后台运行

1
2
nohup node app.js &
# nohup node app.js > myout.txt 2>&1 &

项目的标准输出和错误输出,默认会输出到nohup.out文件中

3、关闭服务

1
2
3
bg
fg
#Ctrl+C