阿里云CentOS搭建MEAN

购买主机

看个人爱好,本人购买阿里云主机,最低配置55元/月

安装相关模块

  1. 在阿里云管理控制台启动购买的云主机
  2. 使用zoc6连接服务器
  3. 更新软件 yum -y update

  4. 安装开发工具 yum -y groupinstall "Development Tools"

  5. 下载Node源码
  6. 安装Node
    • 解压node-v0.10.32.tar.gz
    • cd node-v0.10.32
    • ./configure
    • make
    • make install
    • *注:编译后的二进制文件会放置于系统路径下/usr/local/bin/node
  1. 安装MongoDB
    • 检查是否安装过mongodb
      • rpm -qa |grep mongodb
      • service mongodb status
    • mongodb配置
      • 上传位置: /usr/local
      • 软件安装位置: /user/local/mongodb
      • 数据存储位置: /var/local/mongodb/data
      • 日志存储位置: /var/local/mongodb/logs
    • cd /usr/src
    • 下载mongo,并上传至 /usr/local
    • mv mongodb-linux-x86_64-2.6.4 mongodb && cd mongodb
    • mkdir /var/local/mongodb
    • mkdir /var/local/mongodb/data
    • mkdir /var/local/mongodb/logs
    • 配置防火墙
      • iptables -L -n // 查看防火墙配置信息
      • service iptables status // 检查防火墙状态
      • iptables -A INPUT -p tcp –dport 27017 -j ACCEPT
      • service iptables save
      • service iptables restart
      • 详细的防火墙配置见参考资料
  2. 启动mongodb
    • /usr/local/mongodb/bin/mongod –dbpath=/var/local/mongodb/data –logpath=/var/local/mongodb/logs/log.log -fork
  3. 配置mongodb
    • 开机启动: vim /etc/rc.d/
    • 在末尾追加 /usr/local/mongodb/bin/mongod –dbpath=/var/local/mongodb/data –logpath=/var/local/mongodb/logs/log.log -fork
  4. 将制定项目上传至服务器
    • 安装依赖模块 node install
    • 启动项目 node index.js

修改阿里云主机名

  1. vim /etc/hosts
  2. vim /etc/sysconfig/network
  3. hostname 新主机名

重新ssh登录,生效;

碰到的问题

启动时报 cannot execute binary file

执行 /usr/local/mongodb/bin/mongod –dbpath=/var/local/mongodb/data –logpath=/var/local/mongodb/logs/log.log 报错 -bash: ./mongod: cannot execute binary file

原因: mongodb版本与centos版本不匹配,本人安装了32位的centos,但mongodb的版本为64位

解决方案: 下载32位的mongodb进行安装

mongodb无法启动(Unclean shutdown detected)

1
2
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.

原因: mongodb意外退出导致数据文件被锁, 本人采用kill -9 pid导致此问题

解决方案:

## 删除dbpath下的mongod.lock文件
rm /usr/local/mongodb/data/mongod.lock

## 修复数据文件
mongod --dbpath=/usr/local/mongodb/data --repair

## 重启mongodb
/usr/local/mongodb/bin/mongod --dbpath=/var/local/mongodb/data --logpath=/var/local/mongodb/logs/log.log

总结: 错误的关闭方式导致的问题,以后应该避免kill -9 pid这种暴力的方式, 可采用kill -2 pid或切换到mongodb的admin数据库下执行db.shutdownServer()

参考资料

阿里云Centos配置iptables防火墙

转载

本文出自<<arccode>>, 欢迎转载, 转载请注明出处.