NodeJS + Mongodb 上線 阿里云CentOS 7.3 服務(wù)器

前些日子苍柏,在做 “淘方案” 項目時,寫著寫著 iOS App 時姜贡, 后臺 PHP 突然辭職了试吁。一下子招不到后臺,等了半個月楼咳。領(lǐng)導(dǎo)讓我自己做了熄捍。好吧。只好學(xué)起 NodeJS 寫了一個后臺 API 和 用 Vue 寫了個后臺管理的網(wǎng)站∧噶現(xiàn)在終于要上線了余耽。以下 Mark 一下上線經(jīng)驗。

一苹熏、購買阿里云服務(wù)器 ECS

https://www.aliyun.com/product/ecs
注冊碟贾,實名認證,買了個一年360元最低配制
CPU: 1核 / 內(nèi)存: 1024 MB / 帶寬:1Mbps / 操作系統(tǒng): CentOS 7.3

購買環(huán)節(jié)會設(shè)置 ssh 登陸密碼柜裸,記下密碼缕陕。

Snip20170830_2.png

登陸到阿里云,查看購買的實例疙挺,找到公網(wǎng) IP

二扛邑、登陸服務(wù)器

打開 Terminal, 輸入

ssh root@公網(wǎng)IP 登陸服務(wù)器铐然。首次登陸會詢問公鑰蔬崩,yes 即可。

使用 root 用戶身份登陸后搀暑,會直接進入到下圖 紅色箭頭標出的 root 目錄下沥阳。先 cd .. 跳轉(zhuǎn)到上一層, 再 ls -a ,就可以看到目錄結(jié)構(gòu)了自点。

Paste_Image.png

詳情可以進入這個網(wǎng)站看看
http://www.runoob.com/linux/linux-system-contents.html

常用的 Linux 命令

cd 進入目錄
cd .. 返回上一個目錄
ls -a 查看當(dāng)前目錄
mkdir abc 創(chuàng)建abc文件夾
mv 移動或重命名
rm 刪除一個文件或者目錄

三桐罕、安裝 NodeJS 和 Mongodb

node -- 編譯后二進制文件應(yīng)在/usr/local/bin/node 下
mongodb -- 安裝在/usr/local/mongodb 下

1.安裝 NodeJS

升級 CentOS 的 yum

yum -y update

升級常用庫文件

yum -y install gcc gcc-c++ autoconf

跳轉(zhuǎn)到 /usr/local/src , 這個文件夾通常用來存放軟件源代碼

cd /usr/local/src

下載 nodejs 代碼

wget http://nodejs.org/dist/v8.4.0/node-v8.4.0.tar.gz

解壓

tar -xzvf node-v8.4.0.tar.gz

進入解壓后的文件夾

cd node-v8.4.0

執(zhí)行配置腳本來進行編譯預(yù)處理

./configure

編譯源代碼

make

當(dāng)編譯完成后,需要使之在系統(tǒng)范圍內(nèi)可用, 編譯后的二進制文件將被放置到系統(tǒng)路徑,默認情況下功炮,Node二進制文件應(yīng)該放在/user/local/bin/node文件夾下

make install

安裝 express 推薦 global 安裝

npm -g install express

建立超級鏈接, 不然 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

NodeJS 到這里就基本安裝完成了溅潜。

上傳 NodeJS 代碼

代碼存放位置: /home/
cd /home 進入目錄

PS: 其實/home 應(yīng)該下面有個用戶目錄,然后項目放在用戶目錄里面

我使用 https://gitee.com/squallml 碼云來中轉(zhuǎn)服務(wù)器代碼薪伏,這個和github 使用差不多滚澜,主要是私有項目是免費的。

到 home 目錄下嫁怀,接代碼下來

git clone https://gitee.com/squallml/taoprojectserver.git

更新項目庫文件

npm install

以后代碼更新设捐,只要在自己電腦上 git push 上碼云后,服務(wù)器上git pull 拉下來就行了塘淑。

2.安裝mongodb

軟件安裝位置:/usr/local/mongodb
數(shù)據(jù)存放位置:/home/mongodb/data
數(shù)據(jù)備份位置:/home/mongodb/bak
日志存放位置:/home/mongodb/logs

PS: 其實/home 應(yīng)該下面有個用戶目錄萝招,然后項目放在用戶目錄里面

下載安裝包

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

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

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

創(chuàng)建數(shù)據(jù)和日志存放目錄

mkdir /home/mongodb
mkdir /home/mongodb/data
mkdir /home/mongodb/bak
mkdir /home/mongodb/logs

安裝完成后朴爬,我們可以把 MongoDB 的二進制命令文件目錄(安裝目錄/bin)添加到 PATH 路徑中:

export PATH=/usr/local/mongodb/bin:$PATH

啟動 Mongodb

mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log --fork
如果創(chuàng)建用戶密碼登錄即寒,后面追加 --auth

啟動 mongo shell

mongo

創(chuàng)建數(shù)據(jù)庫管理員

在 mongo shell 中創(chuàng)建管理員及數(shù)據(jù)庫
切換到 admin 數(shù)據(jù)庫,創(chuàng)建超級管理員帳號

use admin
`db.createUser({
user: "用戶名",
pwd:"登陸密碼",

roles:[{ role: "userAdminAnyDatabase", db: "admin" }]
})`

切換到要使用的數(shù)據(jù)庫召噩,如 taodb 數(shù)據(jù)庫母赵,創(chuàng)建這個數(shù)據(jù)庫的管理員帳號

use taodb
db.createUser({ user: "用戶名", pwd:"登陸密碼", roles:[ { role: "readWrite", db: "taodb" }] //讀寫權(quán)限 })

按二下 control+c 退出 mongo shell

到這里 mongodb 基本已經(jīng)安裝設(shè)置完成了。

3.MongoDB 備份(mongodump)與恢復(fù)(mongorestore)

備份--進入備份目錄,運行命令 mongodump 就會在當(dāng)前目錄下創(chuàng)建dump 的數(shù)據(jù)備份文件

cd /home/mongodb/bak
mongodump

恢復(fù)--進入備份目錄,運行命令 mongorestore 就會在當(dāng)前目錄下dump數(shù)據(jù)備份文件還原回數(shù)據(jù)庫

cd /home/mongodb/bak
mongorestore

詳情操作可以看:http://www.runoob.com/mongodb/mongodb-mongodump-mongorestore.html

四具滴、設(shè)置 Linux 開機啟動 NodeJS 和 Mongodb

1凹嘲、安裝進程守護軟件 PM2

安裝pm2

npm install pm2@latest -g

cd 到項目目錄

cd /home/taoprojectserver

運行 -- 后面是參數(shù) --name 改名, --watch 文件或文件夾變更時自動重啟

pm2 start app.js --name "tao" --watch true

把node服務(wù)加到進程

pm2 startup centos #pm2 startup ubuntu
pm2 save

這樣构韵,NodeJS 就一直在后臺運行了周蹭,就算重啟了,也自動運行疲恢。

常用命令總結(jié)如下:

安裝pm2
npm install pm2@latest -g
啟動應(yīng)用
pm2 start app.js
列出所有應(yīng)用
pm2 list

查看資源消耗
pm2 monit
查看某一個應(yīng)用狀態(tài)
pm2 describe [app id]
查看所有日志
pm2 logs
重啟應(yīng)用
pm2 restart [app id]
停止應(yīng)用
pm2 stop [app id]
開啟api訪問
pm2 web

詳情查看官網(wǎng)地址:http://pm2.keymetrics.io/docs/usage/quick-start/

2凶朗、設(shè)置 CentOS 開機啟動項

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

vim /etc/rc.d/rc.local

進入 vim 模式

按 i 進入編輯模式 加入以下代碼到最后面 按esc 退出 :w 保存 :q 退出

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

mongod --dbpath=/home/mongodb/data --logpath /home/mongodb/logs/log.log --fork --auth

最后是這樣棚愤。

Snip20170907_2.png

退出 vim 后,按要求杂数。運行以下命令

chmod +x /etc/rc.d/rc.local

至此宛畦,阿里云 CentOS 服務(wù)器配制完成。

重啟服務(wù)器測試一下揍移。

shutdown -r now

五次和、一些工具

1. Cyberduck SFTP管理工具

下載網(wǎng)址:https://cyberduck.io/
下載后,新建連接 SFTP 那伐,輸入 公網(wǎng) IP 用戶名: root 密碼: 后踏施,連接石蔗。 以后可以直接用這個可以管理服務(wù)器上文件。

Snip20170830_8.png
2.Robo 3T mongodb 管理工具

下載網(wǎng)址:https://www.robomongo.org

LINUX中常用操作命令

http://www.daniubiji.cn/archives/25

參考了以下文章
鏈接:http://www.reibang.com/p/0496ef49b2a5

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末畅形,一起剝皮案震驚了整個濱河市抓督,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌束亏,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阵具,死亡現(xiàn)場離奇詭異碍遍,居然都是意外死亡,警方通過查閱死者的電腦和手機阳液,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門怕敬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人帘皿,你說我怎么就攤上這事东跪。” “怎么了鹰溜?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵虽填,是天一觀的道長。 經(jīng)常有香客問我曹动,道長斋日,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任墓陈,我火速辦了婚禮恶守,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贡必。我一直安慰自己兔港,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布仔拟。 她就那樣靜靜地躺著衫樊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪理逊。 梳的紋絲不亂的頭發(fā)上橡伞,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音晋被,去河邊找鬼兑徘。 笑死,一個胖子當(dāng)著我的面吹牛羡洛,可吹牛的內(nèi)容都是我干的挂脑。 我是一名探鬼主播藕漱,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼崭闲!你這毒婦竟也來了肋联?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤刁俭,失蹤者是張志新(化名)和其女友劉穎橄仍,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體牍戚,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡侮繁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了如孝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宪哩。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖第晰,靈堂內(nèi)的尸體忽然破棺而出锁孟,到底是詐尸還是另有隱情,我是刑警寧澤茁瘦,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布品抽,位于F島的核電站,受9級特大地震影響腹躁,放射性物質(zhì)發(fā)生泄漏桑包。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一纺非、第九天 我趴在偏房一處隱蔽的房頂上張望哑了。 院中可真熱鬧,春花似錦烧颖、人聲如沸弱左。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拆火。三九已至,卻和暖如春涂圆,著一層夾襖步出監(jiān)牢的瞬間们镜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工润歉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留模狭,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓踩衩,卻偏偏與公主長得像嚼鹉,于是被迫代替她去往敵國和親贩汉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容