昨天在阿里云上买了个CentOS的主机,想着在上面玩玩node.js.但是除了大学那会儿学过一点linux基本操作,知道有个pwd,ls操作,知道个vim,其他啥都不懂。当好不容易跟着阿里云的基础教程远程(在这里)连接上了云主机,进去看到黑漆漆的命令行界面顿时感觉到一股无力感袭来。还好阿里的基础教程做的还算详细,跟着教程配上图形界面,搭上ftp,将自己的一份blog的code上传了上去。啰里吧嗦了一堆,下面就是如何配置node.js了,并且安装blog中使用到的mongodb和redis.
1.安装git
git不是必须的,但是因为使用git比较多,所以就混杂在这里介绍了。
安装很简单,使用yum即可
yum install git-core
2.安装node.js
首先确保主机中安装了python(2.6或者2.7)和g++,这两个是依赖项,然后执行以下命令
git clone https://github.com/joyent/node.git cd node ./configure make sudo make install
这样node就已经安装完成了,我们可以使用
node -v
来判断是否安装成功。
紧接着安装npm,npm时node的一个包管理
git clone git://github.com/isaacs/npm.git cd npm make install # or `make link` for bleeding edge
至此,就已经完成了node.js和npm的安装。更多请点击这里
3.安装mongodb
首先创建一个/etc/yum.repos.d/10gen.repo 文件,文件内容是
[10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=1
紧接着我们只需要使用yum在线安装即可
yum install mongo-10gen mongo-10gen-server
使用如下命令启动mongodb服务
service mongod start
4.安装Redis
首先使用如下脚本在线安装Redis
$wget http://redis.googlecode.com/files/redis-2.x.xx.tar.gz $tar zxf redis-2.x.xx.tar.gz $cd redis-2.x.xx $make $make install
下载配置文件和init启动脚本
wget https://github.com/ijonas/dotfiles/raw/master/etc/init.d/redis-server wget https://github.com/ijonas/dotfiles/raw/master/etc/redis.conf sudo mv redis-server /etc/init.d/redis-server sudo chmod +x /etc/init.d/redis-server sudo mv redis.conf /etc/redis.conf
以上的redis-server脚本不能在centos下执行,需要替换成以下内容
#!/bin/sh # # redis - this script starts and stops the redis-server daemon # # chkconfig: - 85 15 # description: Redis is a persistent key-value database # processname: redis-server # config: /etc/redis.conf # config: /etc/sysconfig/redis # pidfile: /var/run/redis.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 redis="/usr/local/bin/redis-server" prog=$(basename $redis) REDIS_CONF_FILE="/etc/redis.conf" [ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis lockfile=/var/lock/subsys/redis start() { [ -x $redis ] || exit 5 [ -f $REDIS_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $redis $REDIS_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { echo -n $"Reloading $prog: " killproc $redis -HUP RETVAL=$? echo } force_reload() { restart } rh_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|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac
紧接着初始化用户和日志路径
sudo useradd redis sudo mkdir -p /var/lib/redis sudo mkdir -p /var/log/redis sudo chown redis.redis /var/lib/redis sudo chown redis.redis /var/log/redis
最后调用脚本,启动Redis
sudo /etc/init.d/redis-server start