• 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/

  • 相关阅读:
    洛谷P1072 Hankson 的趣味题(题解)
    18.3.19晚听韩明睿大佬讲题收获
    题解+新技巧--一本通1282:最大子矩阵
    题解-洛谷P1303 A*B Problem(高精)
    Java重载和覆盖
    propagation属性的7个传播行为
    脏读、不可重复读、幻读
    RSA 数据加密和数字签名算法
    大型互联网站解决高并发的常见策略
    死锁和活锁
  • 原文地址:https://www.cnblogs.com/caiyt/p/10118590.html
Copyright © 2020-2023  润新知