1、推荐购买阿里云服务器,使用Centos7.0的服务器版本,在创建完全系统并进入之后,第一步是更新服务器的相关组件
    yum -y install gcc gcc-c++ openssl-devel zlib-devel openssl-devel pcre-devel bzip2* make
2、之后在根目录创建一个文件夹soft,用来保存各种软件安装包
    mkdir /soft /website
3、然后进入soft文件夹下
cd /soft
开始下载相关安装包
    下载node.js
  wget https://nodejs.org/dist/v4.3.2/node-v4.3.2.tar.gz
    下载nginx
wget http://nginx.org/download/nginx-1.10.1.tar.gz
   下载redis
wget http://download.redis.io/releases/redis-3.2.3.tar.gz
    下载mongodb
  wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.10.tgz
    下载图形处理库GraphicsMagick
  wget http://jaist.dl.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.20/GraphicsMagick-1.3.20.tar.gz
4、开始安装相关安装包与配置,在/soft所在的目录中,执行一系列命令,如果执行完后要安装其它的安装包,一定要回到/soft
    A.安装node.js,编译时间比较长,请耐心等
    tar zxvf node-v4.3.2.tar.gz && cd node-v4.3.2 && ./configure && make && make install

B.安装nginx  
tar -zxvf nginx-1.10.1.tar.gz && cd nginx-1.10.1 && ./configure  --with-http_ssl_module && make && make install
  C.安装成功后可以开始配置,nginx基本的配置方式是
  vim /usr/local/nginx/conf/nginx.conf            配置
  这里要对配置文档写入一个服务配置,先在键盘上按下  i  键进入文档编辑状态。然后在空白地方复制进
#================
server{
listen 80;
server_name www.XXXXXX.cn;
#server_name localhost;
charset utf-8;
location ~* ^.+.(html|htm)$ {
proxy_pass http://127.0.0.1:50001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* ^.+.(js|css|ico|gif|bmp|jpg|jpeg|png|swf|apk|xls|xlsx|woff|ttf|eot|otf|svg)$ {
root /website/hwj_wx/web;
access_log off;
expires 8h;
}
location /{
proxy_pass http://127.0.0.1:50001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#================
然后按一下ESC键,再按入 :wq 然后回车保存当前所设置的文档,然后就可以启动了
/usr/local/nginx/sbin/nginx 启动
/usr/local/nginx/sbin/nginx -s reload 重启
/usr/local/nginx/sbin/nginx -s stop 停止
D.安装redis
tar -zxvf redis-3.2.3.tar.gz && cd redis-3.2.3 && make PREFIX=/usr/local/redis/ install && make install
开始配置
cd /usr/local/redis
mkdir etc logs var db
在/usr/local/redis位置打命令 cp /soft/redis-3.2.3/redis.conf etc
在 redis.conf 文件中找到 “# bind 127.0.0.1” ,把前面的#号去掉,然后保存。注:修改后只有本机才能访问Redis。
nohup /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf & 启动服务

E.安装mongodb
tar -zxvf mongodb-linux-x86_64-3.2.10.tgz && mv mongodb-linux-x86_64-3.2.10 /usr/local/mongodb
注意需要搭建 /data/db 目录
开始配置,先以无验证方式启动mongodb
/usr/local/mongodb/bin/mongod --dbpath=/data/db --fork --logpath=/data/db/mongodb.log --storageEngine wiredTiger --journal
然后进入shell
cd /usr/local/mongodb/bin
./mongo 启动shell
use admin 进入admin数据库,准备给空数据库设置管理权限与角色
db.createRole({role:'sysadmin',roles:[],privileges:[{resource:{anyResource:true},actions:['anyAction']}]}) 设置角色
db.createUser({user:admin,pwd:admin,roles:[{role:'sysadmin',db:'admin'}]}) 为admin数据库设置一个超级管理员账号与密码
db.shutdownServer(); 关停整个mongodb服务,退出准备以需要验证方式启动mongodb

之后在根目录创建一个文件夹data
mkdir /data
居然data 创建 文件夹db
cd /data
mkdir db
/usr/local/mongodb/bin/mongod --auth --dbpath=/data/db --fork --logpath=/data/db/mongodb.log --storageEngine wiredTiger --journal
再一次进入shell
cd /usr/local/mongodb/bin
./mongo 启动shell
use admin 进入admin数据库
db.auth("admin","admin") 登陆管理数据库,相当于登陆了超级管理员,这样可以创建其它的数据库与账号密码
use abc 准备使用abc这个数据库
db.createUser({user:'ttt',pwd:'ttt',roles:[{role:'sysadmin',db:'admin'}]}) 创建abc数据库,并创建账号密码
配置成功后,在自己电脑安装mongochef-x64.msi.zip进行解压安装,根据下面配置远程服务器链接,连接成功后,创建数据库B2B,把原数据库复制到新搭建的数据库中。

F、安装GraphicsMagick,安装前需要先安装
yum install libjpeg* libpng*
yum install libpng*
然后
tar -zxvf GraphicsMagick-1.3.20.tar.gz && cd GraphicsMagick-1.3.20 && ./configure && make && make install

G.先到源码的服务器中进行设置打包商城B2B和配置参数文件 node_modules
cd /website
tar -czvf node_modules.tar.gz node_modules 压缩NPM库
tar -czvf b2b.tar.gz b2b 压缩项目源码
登陆需搭建的客户服务器,进入所配置的/website
scp -v root@120.24.76.100:/website/node_modules.tar.gz /website 根据文件大小远程拉取
scp -v root@120.24.76.100:/website/b2b.tar.gz /website 根据文件大小远程拉取,文件可能比较大,时间比较慢
拉取完成后可以进行解压
tar -xzvf node_modules.tar.gz 解压NPM库
tar -xzvf b2b.tar.gz 解压项目源码
如果有在其他服务器拉取上述步骤就不需要走下面的步骤
最后再安装系统所需要的一些NPM库,这个需要在所配置的/website目录下安装,这个目录是用来保存网站项目的
cd /website 进入website
开始安装一些必要的npm库
npm install formidable@latest 安装node.js后可安装
npm install redis 需要安装redis后再安装
npm install mongodb 需要安装mongodb后再安装
npm install gm 需要安装GraphicsMagick后再安装
npm install q
npm install iconv-lite
npm install ejs
npm install alidayu
npm install blueimp-md5
npm install co
npm install co-alidayu
npm install crypto
npm install jwt-simple
npm install node-xlsx
npm install jshint
npm install jssha
npm install excel-export
三、网站源码部署
搭建成功后采用Webstorm进行远程了解项目,对项目中的服务器文件进行调整。
接下来打开吧b2b项目对文档的修改
服务器文件修改:b2b_qt.js b2b_ht.js
修改服务器端口:

修改数据库连接配置:

var urla = 'mongodb://用户名:密码@127.0.0.1:27017/数据库名称';
var log = 'mongodb://用户名:密码@127.0.0.1:27017/数据库名称;

安装pm2进程管理器
npm install -g pm2

cd website
cd b2b
pm2 flush && pm2 start b2b_qt.js && pm2 logs b2b_qt.js
pm2 flush && pm2 start b2b_ht.js && pm2 logs b2b_ht.js
进入项目底下启动服务文件

辅助功能地址:http://oss.yczlweb.com/

linux+node.js+redis+mongodb+nginx环境的搭建的更多相关文章

  1. 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(三)

    这几篇都是我原来首发在 segmentfault 上的地址:https://segmentfault.com/a/1190000005040834 突然想起来我这个博客冷落了好多年了,也该更新一下,呵 ...

  2. Node.js和MongoDB - MongoJS入门

    第一次尝试翻译外国牛人的博文,希望大家喜欢. 本文源码详见:https://github.com/njaulj/mongojs 一点都不夸大的说,近年来node.js和mongodb的确是大放异彩,在 ...

  3. 以太坊开发DApp实战教程——用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台(一)

    第一节 简介 欢迎和我们一起来用以太坊开发构建一个去中心化电商DApp!我们将用区块链.星际文件系统(IPFS).Node.js和MongoDB来构建电商平台类似淘宝的在线电商应用,卖家可以自由地出售 ...

  4. [Node.js]连接mongodb

    摘要 前面介绍了node.js操作mysql以及redis的内容,这里继续学习操作mongodb的内容. 安装驱动 安装命令 cnpm install mongodb 安装成功 数据库操作 因为mon ...

  5. Node.js 操作Mongodb

    Node.js 操作Mongodb1.简介官网英文文档  https://docs.mongodb.com/manual/  这里几乎什么都有了MongoDB is open-source docum ...

  6. Node.js 中MongoDB的基本接口操作

    Node.js 中MongoDB的基本接口操作 连接数据库 安装mongodb模块 导入mongodb模块 调用connect方法 文档的增删改查操作 插入文档 方法: db.collection(& ...

  7. MongoDB学习(2)—Node.js与MongoDB的基本连接示例

    前提 已经安装了node.js和MongoDB,本文使用的node.js是v0.12.0,MongoDB是3.0.0. 初始化数据 启动MongoDB服务,在test数据库中插入一条实例数据: db. ...

  8. Node.js与MongoDB的基本连接示例

    Node.js与MongoDB的基本连接示例 前提 已经安装了node.js和MongoDB,本文使用的node.js是v0.12.0,MongoDB是3.0.0. 初始化数据 启动MongoDB服务 ...

  9. NodeJs>------->>第二章:Node.js中交互式运行环境--------REL

    第二章:Node.js中交互式运行环境--------REL 一:REPL运行环境概述 C:\Users\junliu>node > foo = 'bar' ; 'bar' > 二: ...

随机推荐

  1. js/es6 元素拖动

    元素事件:鼠标按下事件/鼠标移动事件/鼠标松开事件 元素样式:让元素脱离文档流,采用绝对定位的方式. 一.鼠标按下事件 当鼠标在元素上面按下时,保存元素的初始偏移量和鼠标按下时的坐标,然后在状态变量里 ...

  2. 使用Linux的Crontab定时执行PHP脚本

    0 */6 * * * /home/kdb/php/bin/php /home/kdb/apache/htdocs/lklkdbplatform/kdb_release/Crontab/index.p ...

  3. [待优化笔记]原生JS实现验证框架 checkFun

    ;(function(){ /** 验证框架 checkFun * 使用方法: * <input class="required" type="text" ...

  4. 多线程编程CompletableFuture与parallelStream

    一.简介 平常在页面中我们会使用异步调用$.ajax()函数,如果是多个的话他会并行执行相互不影响,实际上Completable我理解也是和它类似,是java 8里面新出的异步实现类,Completa ...

  5. springboot 事务管理

    添加注解就完事儿了 @Transactional 1,Propagation  事务的传播行为 Propagation.REQUIRED 如果存在事务,就加入,没有的话就创建(默认值) 比如 A 方法 ...

  6. 33.Odoo产品分析 (四) – 工具板块(4) – 问题追踪及群发邮件营销(1)

    查看Odoo产品分析系列--目录 问题追踪 该应用程序允许您管理项目中可能遇到的问题,如系统中的bug.客户投诉或物料故障.  该模块安装后没有菜单显示,而是作为后台管理,接收一些问题报告. 群发邮件 ...

  7. Android的ToolBar

    ToolBar比ActionBar更加可控,自由.因此,Google 逐渐使用ToolBar来代替ActionBar. 使用ToolBar 1.要引入appCompat_v7支持 2.主题设置为NoA ...

  8. JMeter 正则表达式提取器结合ForEach控制器遍历提取变量值

    正则表达式提取器结合ForEach控制器遍历提取变量值   by:授客 QQ:1033553122 1. 需要解决的问题 使用正则提取器提取了一组变量值,需要在其它sampler中,循环引用组中的某几 ...

  9. 图说OOP基础(一)

    本文用图形化的形式描述OOP的相关知识.对OOP进行系统化的梳理,以便掌握,仅供学习分享使用,如有不足之处,还请指正. 涉及知识点: OOP的相关知识 OOP知识总图 [Object-Orientat ...

  10. Retrieve OpenGL Context from Qt 5.5 on OSX

    In the latest Qt 5.5, the QOpenGLWidget is much better and has less bugs than the QGLWidget, but it ...