跳到主要內容

NodeJS學習筆記(一): 環境安裝

大致了解NodeJS運作概念,便開始安裝主機!

參考NodeJS入門資料: http://www.nodebeginner.org/index-zh-tw.html#hello-world

目前的開發環境OS是Ubuntu14.04,搭配MongoDB 與 Express。

安裝流程參考Digital Ocean的神文,只要剪下貼上按部就班就可以使用了。

https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-
ubuntu-14-04-server

安裝MongoDB:

https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-14-04

===============================

安裝完後,重開mongo db竟然發現開不開?!(service mongod start 跑了但去status看卻是stop的)

出現下方的錯誤log,發現應該是資料夾權限問題。


E NETWORK  [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted

前往/tmp資料夾修改權限,就可以正常跑起來了!

sudo chown root:root /tmp
sudo chmod 777 /tmp


首次使用mongodb著實不知道怎麼下手,

sudo service mongod start 跑起來後,下指令 mongo 即可進入。

要記得確保資料夾在本機存在且權限正確,不然mongodb跑不起來。

ls -ld /data/db/
sudo chmod 0755 /data/db

跑起來後為了安全,新增一下系統使用者。(預設mongodb是沒有做使用者權限的,有點危險)

進入mongo後,用以下語法切換到admin資料表,再新增系統使用者:
use admin
db.createUser(
  {
    user: "xxx",
    pwd: "xxx",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

新增一個想要連接的db:(在mongo db中,use會直接判斷存在否,不存在直接新增一個)
use log

以上大致完成mongodb的安裝。

===============================

因為要使用MongoDB,安裝了一套Mongo Express,方便網頁檢視資料庫,有點類似phpmyadmin的作用。

下安裝指令


npm install mongo-express

卻回傳了


npm WARN engine mongo-express@0.31.0: wanted: {"node":">=4.0.0","npm":">=3.0.0"} (current: {"node":"0.10.46","npm":"2.15.1"})

內心OS:不是有安裝6.4版本了嗎?orz

原來是因為搞混node指令與nodejs指令。

這兩個是不同的東西~

node -v 看到的是 nvm (nodejs server) 的版本。

nodejs -v 看到的是nodejs的版本。


所以,再用以下指令更新nodejs版本就可以順利安裝了。

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs

安裝好後,需設定mongo express的設定檔。

cd node_modules/mongo-express
vim config.default.js

裡面有兩個部分要改:

1. mongo db user與資料庫設定

mongo = {
    db:       'log',
    host:     'localhost',
    password: 'xxx',
    port:     27017,
    ssl:      false,
    url:      'mongodb://localhost:27017/log',
    username: 'xxx',

  };

2. 連接網頁位置 (Web網址或IP),預設是localhost,如果不在localhost連接請務必修改這部分,不然會access不到~


host:   process.env.VCAP_APP_HOST    || '192.168.0.209'  

設定完成後,直接在該資料夾下

node app.js

就會出現成功字樣,恭喜您跑起來啦!(淚奔...)


Welcome to mongo-express
------------------------


Mongo Express server listening at http://192.168.0.209:8081
Database connected
Connecting to log...
Database log connected

網頁端會長成這樣:




最後,為了讓機器重開會自動跑起來。

安裝pm2讓node js服務能自動化跑起來。

sudo npm install pm2 -g


pm2 start app.js

以上指令等同於 node app.js 可執行起mongo express。

備註:如果想多執行序 (Multi-Core可參考:PM2 多核心Cluster實作方式分享)

sudo env PATH=$PATH:/usr/local/bin pm2 startup -u someuser

設定自動開機檔案,讓該執行緒在重啟的時候會自動重啟。

(參考自:https://www.digitalocean.com/community/tutorials/how-to-use-pm2-to-setup-a-node-js-production-environment-on-an-ubuntu-vps)



接著將mongodb 啟動指令放到rc.local中,讓mongodb也會自動重啟。

sudo vim /etc/rc.local

service mongod start


留言

這個網誌中的熱門文章

[新竹] 系統傢俱各家比較與心得(三商美福、安德康、木可、歐德、綠的)

最近花蠻多時間在比較系統傢俱,與趕著預售屋客變有關,不過也因此了解不少。以往都覺得系統傢俱較死板、無造型、設計。但這次的經驗,讓我對系統傢俱有較不一樣的感覺。 其實,系統傢俱是個蠻能「客製化」的設計,只要自己有做足功課,我認為每家系統傢俱都可以達到客戶喜好的風格、效果,而它們相較於木工親民的價格真的會讓人感動落淚。 我自己的感覺是,大家(如:綠的、三商美福)的系統傢俱在聘請設計師上,較有經驗也較有獨特見解,而且空間規劃較熟練,比較抓得到客戶的喜好與需求,當然價格較高。 小家(如:木可、安德康等)的系統傢俱最大好處在於價格親民,但設計師如果也願意用心,做出來的作品一定不輸大的。前提是,客戶自己必須明白自己要的是甚麼?喜好?需求?風格.......等。

[生活] 幸福新居落成

這次預售屋拖了很久,所以我們匆匆安排裝修,同時也還有一些地方需要修繕,整個忙翻天了!但仍然很滿意這個新家,不管是格局還是大小,打算至少再住個十年! 時程上原先預定於 102年12月可以交屋,拖到103年3月底才勉強交到一個差強人意仍須修繕的屋。匆匆簽了切結,就安排木工入場。木工張先生也是很配合,4月11日就幫我們正式入場,該保護的都做好保護就開始施工。

[生活] 新居落成之三房兩廳極簡無印風裝潢~安德康系統櫃 vs B&Q特力屋輕裝潢

偶然下,又有裝潢新居的機會,這次希望節省預算,含冷氣、基本生活電器、希望節省在50萬內,又不想失去新居裝潢的品味,再次要自己來擔任統包跟設計師的苦命監工。 如果有人有興趣看五年前的分享文,任意門如下: 👇 [生活] 幸福新居落成 [新竹] 系統傢俱各家比較與心得(三商美福、安德康、木可、歐德、綠的) 新居位於高樓,景觀採光還真不錯,搭配無印風應該也會美美的,加上之前有於IKEA購置的傢俱(衣櫃、電視櫃、書桌、餐桌、小孩翻轉床、16格櫃),傢俱都偏向淺木色。 系統櫃還是找 竹北安德康 這次製作的項目有,玄關櫃、鞋櫃、電視櫃與清水模電視牆、餐桌旁電器櫃,價格約13萬8000元。設計師是江樂軒小姐,哈哈哈~但人很親切好溝通,可以給一個具體的想法請他設計,但是要記得提醒他隔天有約,很忙容易忘記?!XD B&Q的施工項目有,冷氣水排遷移後修補、天花燈具安裝(不含燈具、LED燈是在PCHOME買的)、弱電箱包覆牆改刷黑板漆、走廊天花裝飾、客廳單邊間接照明、三房一廳冷氣盒、客廳窗簾盒。本建案建商有附天花平釘,所以就省錢沒重新做,不過有些地方做的是有些粗糙...總共93000元。 字好多,先來看看施工過程~ 會找B&Q做木工的契機是,在B&Q的活動購買了四台冷暖氣,一共11萬7000元,送的折價券多花4000元就可以買一台林內的熱水器,蠻划算。後來冷氣因為要改水排位置,加上最後冷氣管線包覆額外多出了33000元工錢,這邊就不確定到底整體下來是不是有比電器行便宜?! B&Q師傅基本地板保護後,便開始拉冷氣管 冷氣管線最早拉,後來才開始改水排。 主臥水牌加冷氣盒 客廳間接照明、水排位移、走廊裝飾柱 客廳窗簾盒 因為想說讓同家廠商完成,配合度應該相對比較高? 加上木工報價全室做起來含水排修復、建照等油漆93000元,覺得還算經濟實惠。 弱電箱包覆,裡面就是弱電鐵門不好看,做了一個十公分厚的包覆,表層設計成黑板 完成冷氣安裝與油漆,淺間照效果也還是不錯的 B&Q特力屋整個工程的時程大約才10天左右,算是蠻有效率。 師傅上,我覺得品質不差,不過監工可能要勤快一點,免得與預期有落差,油漆品質倒是稍嫌隨性,黑板漆漆的不是很均勻。 系統櫃裸裝