1. 程式人生 > >linux+node.js+redis+mongodb+nginx環境的搭建

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 [email protected]:/website/node_modules.tar.gz /website 根據檔案大小遠端拉取
scp -v [email protected]:/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 [email protected] 安裝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/