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' > 二: ...
随机推荐
- springboot整合netty(二)
目录 前言 正文 代码 1. 新建一个springboot项目,在pom文件中添加netty依赖: 2.新建netty服务 3.netty调用所需的服务类 4 springboot启动类 5.测试 我 ...
- docker限制容器内存使用上限
记录一个项目开发部署中遇到的一个问题,处理经验总结. 问题: 我们的项目使用的是Angular6 + Spring boot + redis + mycat结构,项目部署在容器里面,项目正式部署以后, ...
- angular input 为file on-change 无效
l转自:https://blog.csdn.net/klo220/article/details/53331229 侵删 出现这个问题是因为input的type是file,这时如果用ng-change ...
- 2018-06-20 中文代码示例视频演示Python入门教程第四章 控制流
知乎原链 续前作: 中文代码示例视频演示Python入门教程第三章 简介Python 对应在线文档: 4. More Control Flow Tools 录制中出了不少岔子. 另外, 输入法确实是一 ...
- Angular的12个经典问题,看看你能答对几个?(文末附带Angular测试)
Angular作为目前最为流行的前端框架,受到了前端开发者的普遍欢迎.不论是初学Angular的新手,还是有一定Angular开发经验的开发者,了解本文中的12个经典面试问题,都将会是一个深入了解和学 ...
- Sysbench Sysbench在centos系统下的安装
Sysbench在centos系统下的安装 by:授客 QQ:1033553122 测试环境: CentOS-7-x86_64-DVD-1503-01.iso 下载地址: http:/ ...
- Android通过Chrome Inspect调试WebView的H5 App出现空白页面的解决方法(不需要FQ)
本文系博主原创,未经许可不得转载.如未经本人同意,私自转载或盗取资源提供下载,本人保留追究其法律责任的权利. 调试基于WebView的Hybrid App最舒服的工具当然是Chrome自带的开发者工具 ...
- ELK的sentinl告警配置详解
背景 sentinl的监控&告警是通过watch实现的. 一.Watch Execution 执行开始的时候, watcher为watch创建watch执行上下文. 执行上下文提供脚本和模板, ...
- springmvc复习笔记----Restful 风格,PathVariable获取 Url实例
结构 包与之前相同 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...
- 初学ubuntu命令
将我第一天学的内容做个笔记 ,方便日后查看 命令的使用: ls ls -a 显示所有文件 ls -l 显示文件的所有信息 cp 注意命令格式 /home/../temp/a /ho ...