DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 詳解Nodejs 部署到阿裡雲全過程
詳解Nodejs 部署到阿裡雲全過程
編輯:關於JavaScript     

整個部署過程學到了不少東西,記錄一下。

1. 到阿裡雲購買雲服務器 ECS 。

https://www.aliyun.com/product/ecs

如果是在校學生,在淘寶有實名認證,且在學信網有注冊,可以試試搶學生的首月優惠套餐。

https://www.aliyun.com/act/aliyun/campus.html

作為一個窮逼+不熟悉服務器配置的菜鳥。選了最便宜的套餐:

CPU: 1核 / 內存: 1024 MB / 帶寬:1Mbps / 操作系統: CentOS 7.0

購買環節會設置 ssh 登陸密碼,記下密碼。

在最後的付費環節,使用推薦碼可以享受9折。我的推薦碼 no4qx1

登陸到阿裡雲,查看購買的實例。

注意公網 IP,下一步會用到

2. 登陸服務器

打開 Terminal, 輸入 ssh root@公網IP 登陸服務器。首次登陸會詢問公鑰,yes 即可。關於 ssh 登陸,具體可以看
http://www.jb51.net/article/115461.htm 這篇文章。

登陸服務器後。這裡對於我這個 Linux 菜鳥有個大坑………就是 Linux 系統常見的目錄結構和文件放置區域。
使用 root 用戶身份登陸後,會直接進入到下圖 紅色箭頭標出的 root 目錄下。先 cd .. 跳轉到上一層, 再 ls -a ,就可以看到類似下圖的目錄結構了。


3.安裝 node 和 mongodb

node -- 編譯後二進制文件應在/usr/local/bin/node 下

mongodb -- 安裝在/usr/local/mongodb 下

下面就一步一步來,首先升級CentOS

yum -y update

升級後,跳轉到 /usr/local/src , 這個文件夾通常用來存放軟件源代碼

cd /usr/local/src

下載 nodejs 代碼,也可以使用scp命令直接上傳,因為下載實在太慢了。

wget http://nodejs.org/dist/v0.12.5/node-v0.12.5.tar.gz

解壓

tar -xzvf node-v0.12.5.tar.gz

進入解壓後的文件夾

cd node-v0.12.5

執行配置腳本來進行編譯預處理

./configure

編譯源代碼

make

當編譯完成後,需要使之在系統范圍內可用, 編譯後的二進制文件將被放置到系統路徑,默認情況下,Node二進制文件應該放在/user/local/bin/node文件夾下

make install

安裝 express 和 forever,這兩個模塊都推薦 global 安裝

npm -g install express forever

建立超級鏈接, 不然 sudo node 時會報 "command not found"

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
sudo ln -s /usr/local/bin/forever /usr/bin/forever

Nodejs到這裡就基本安裝完成了。

下面來安裝mongodb

軟件安裝位置:/usr/local/mongodb

數據存放位置:/var/mongodb/data

日志存放位置:/var/mongodb/logs

首先下載安裝包

cd /usr/local
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz

解壓安裝包,重命名文件夾為mongodb

tar zxvf mongodb-linux-x86_64-2.6.0.tgz
mv mongodb-linux-x86_64-2.6.0 mongodb

創建數據和日志存放目錄

mkdir /var/mongodb
mkdir /var/mongodb/data
mkdir /var/mongodb/logs

打開rc.local文件,添加CentOS開機啟動項:

vim /etc/rc.d/rc.local

將mongodb啟動命令追加到本文件中,讓mongodb開機自啟動:

復制代碼 代碼如下:
/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

關閉 vim 後,直接手動啟動mongodb

復制代碼 代碼如下:
/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

看到類似的信息,說明已啟動成功。我在這裡發了個傻,以為26308是port號,導致後面設置port時折騰了好久。其實這裡的 forked process 和 port 號是兩個東西, 這個是程序本身在Server上的進程。

forked process: 26308

啟動mongo shell

cd /usr/local/mongodb/bin/
./mongo

在 mongo shell 中創建管理員及數據庫

use admin //admin 數據庫
db.createUser({
user: "用戶名",
pwd:"登陸密碼",
roles:["userAdminAnyDatabase"] //超級管理員
})
use databaseFoo //nodeapp 要連接的數據庫
db.createUser({
user: "用戶名",
pwd:"登陸密碼",
roles:["readWrite"] //讀寫權限
})

到這裡 mongodb 基本已經安裝設置完成了。具體數據的遷移導入可自行研究。

4.配置及啟動node app

我們把 nodeapp 的程序放在 /home 下

cd /home

我使用 http://git.oschina.net/ 管理代碼。它的私有庫是免費的。基本操作和 github 一樣。

git clone https://git.oschina.net/xxxxxxx/nodeapp.git  //你的repo地址

進入 nodeapp 文件夾

cd nodeapp

(若後續代碼變更,提交到 git repo 後直接git pull即可部署代碼)

安裝nodeapp的所有依賴

npm install

在啟動文件 ( 我的是 app.js ) 中設置數據庫連接

vim app.js

數據庫連接類似下面的格式,由於數據庫安裝在同一服務器,因此 host 為127.0.0.1:

var dbUrl = 'mongodb://用戶名:登陸密碼@127.0.0.1/databaseFoo';
mongoose.connect(dbUrl)

這裡要注意,如果直接 npm start 或 node app.js 啟動,則一旦退出 ssh 遠程登陸,nodeapp 就會停止運行。因此我們使用 forever 啟動 nodeapp。

NODE_ENV=production forever start app.js

在嘗試啟動的過程中,一般會有很多報錯。按照報錯一點一點配置即可……

在蹚過無數坑後,項目部署成功。用浏覽器打開 公網IP:端口號 即可看到 nodeapp 的首頁

DNS 設置過程以後再補。


XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved