linux+node.js+redis+mongodb+nginx环境的搭建
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环境的搭建的更多相关文章
- 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(三)
这几篇都是我原来首发在 segmentfault 上的地址:https://segmentfault.com/a/1190000005040834 突然想起来我这个博客冷落了好多年了,也该更新一下,呵 ...
- Node.js和MongoDB - MongoJS入门
第一次尝试翻译外国牛人的博文,希望大家喜欢. 本文源码详见:https://github.com/njaulj/mongojs 一点都不夸大的说,近年来node.js和mongodb的确是大放异彩,在 ...
- 以太坊开发DApp实战教程——用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台(一)
第一节 简介 欢迎和我们一起来用以太坊开发构建一个去中心化电商DApp!我们将用区块链.星际文件系统(IPFS).Node.js和MongoDB来构建电商平台类似淘宝的在线电商应用,卖家可以自由地出售 ...
- [Node.js]连接mongodb
摘要 前面介绍了node.js操作mysql以及redis的内容,这里继续学习操作mongodb的内容. 安装驱动 安装命令 cnpm install mongodb 安装成功 数据库操作 因为mon ...
- Node.js 操作Mongodb
Node.js 操作Mongodb1.简介官网英文文档 https://docs.mongodb.com/manual/ 这里几乎什么都有了MongoDB is open-source docum ...
- Node.js 中MongoDB的基本接口操作
Node.js 中MongoDB的基本接口操作 连接数据库 安装mongodb模块 导入mongodb模块 调用connect方法 文档的增删改查操作 插入文档 方法: db.collection(& ...
- MongoDB学习(2)—Node.js与MongoDB的基本连接示例
前提 已经安装了node.js和MongoDB,本文使用的node.js是v0.12.0,MongoDB是3.0.0. 初始化数据 启动MongoDB服务,在test数据库中插入一条实例数据: db. ...
- Node.js与MongoDB的基本连接示例
Node.js与MongoDB的基本连接示例 前提 已经安装了node.js和MongoDB,本文使用的node.js是v0.12.0,MongoDB是3.0.0. 初始化数据 启动MongoDB服务 ...
- NodeJs>------->>第二章:Node.js中交互式运行环境--------REL
第二章:Node.js中交互式运行环境--------REL 一:REPL运行环境概述 C:\Users\junliu>node > foo = 'bar' ; 'bar' > 二: ...
随机推荐
- Reinforcement Learning: An Introduction读书笔记(1)--Introduction
> 目 录 < learning & intelligence 的基本思想 RL的定义.特点.四要素 与其他learning methods.evolutionary m ...
- js 取数组中某个对象的集合
var arr = [ {a:1,b:2,c:3}, {a:4,b:5,c:6}, {a:7,b:8,c:9} ]; arr1=[]; arr.forEach(function(v){ arr1.pu ...
- [工具配置]requirejs 多页面,多入口js文件打包总结
需要明确以下几点: 1.本地前端调试代码肯定是调用原始的路径以及代码,但是线上运行的肯定是通过打包后的另一个路径,这儿就是生成的dist文件夹了. 2.requirejs的引入,线上跟线下的路径怎么控 ...
- Mycat 中间件配置初探与入门操作
Mycat中间件配置初探与入门操作 By:授客 QQ:1033553122 实践环境 Mycat-server-1.5.1-RELEASE-20161130213509-win.tar.gz 下载地址 ...
- IDEA实用插件Lombok
Lombok Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法.通常,我们所定义的对象和be ...
- spring4笔记----spring4设值注入
2个接口 package com.ij34.servce; public interface people { public void cut(); } package com.ij34.servce ...
- How to monitor tempdb in MS SQL
Error: tempdb is full due to active_transaction. select ss.[host_name], ss.login_name, ss.original_l ...
- c/c++ 类模板初探
类模板 1,模板类里的函数都是模板函数 2,模板类里的函数,在类外面实现的时候,要用模板函数(方法:push_back)的方式实现,在类内部实现时,不需要用模板函数(方法:show)方式实现. 3,用 ...
- [Java] SpringMVC工作原理之二:HandlerMapping和HandlerAdapter
一.HandlerMapping 作用是根据当前请求的找到对应的 Handler,并将 Handler(执行程序)与一堆 HandlerInterceptor(拦截器)封装到 HandlerExecu ...
- 对flexbox伸缩概念的深入浅出解释
flex布局最难理解的,就是剩余空间和伸缩概念了,此文很好的作了解释: https://www.cnblogs.com/ghfjj/p/6529733.html 转自:http://zhoon.git ...