Linux 服務(wù)器(CentOS)安裝配置mongodb+node

準(zhǔn)備服務(wù)器

既然是在服務(wù)器上操作木柬,那服務(wù)器肯定得準(zhǔn)備好锐朴,我這里購(gòu)買(mǎi)的是阿里云的服務(wù)器(CentOS 8)囱皿,因?yàn)槲易约菏褂玫碾娔X是 MacBook Pro , 所以下文中統(tǒng)一默認(rèn)環(huán)境為:CentOS 8mac 終端;服務(wù)器公網(wǎng) IP 統(tǒng)一以:110.110.110.110 來(lái)舉例肛走。

首先登陸服務(wù)器,root 是阿里云服務(wù)器默認(rèn)的賬號(hào)名录别,終端輸入命令之后會(huì)提示輸入你的服務(wù)器密碼(輸入密碼的時(shí)候是不顯示的)朽色。

ssh root@110.110.110.110
1605319299286_1605319275562.jpg

window 系統(tǒng),可以用 Xshell 或 Putty 來(lái)登錄

把yum更新到最新版本:

yum -y update

升級(jí)常用庫(kù)文件, 安裝 node.js 需要通過(guò) g++ 進(jìn)行編譯组题。

yum -y install gcc gcc-c++ autoconf

常用的 Linux 命令:

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

node 安裝

1.進(jìn)入到 /usr/local/src 目錄葫男,存放軟件源代碼。

cd /usr/local/src

2.獲取下載地址:node官網(wǎng)下載地址 崔列,或者下載到本地通過(guò) scp 命令上傳文件到服務(wù)器梢褐。

1605319334168_WX20201113-173914@2x.png

3.執(zhí)行下載命令:

wget https://nodejs.org/dist/v14.15.0/node-v14.15.0.tar.gz

4.解壓縮源文件,并且進(jìn)入到壓縮后的文件夾中:

tar zxf node-v14.15.0.tar.gz 
cd node-v14.15.0

5.執(zhí)行配置腳本來(lái)進(jìn)行編譯預(yù)處理:

./configure

6.編譯源代碼,這個(gè)過(guò)程會(huì)有點(diǎn)長(zhǎng)赵讯,耐心等待盈咳。

make

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

make install

8.建立軟鏈接, 不然使用時(shí)會(huì)報(bào)錯(cuò) "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 

9.測(cè)試一下,查看版本號(hào):

node -v
npm -v

ok组底,版本號(hào)正常顯示丈积,安裝完成。

mongodb 安裝

安裝說(shuō)明:

  • 系統(tǒng)環(huán)境:Centos-8
  • 軟件安裝位置:/usr/local/mongodb
  • 數(shù)據(jù)存放位置:/usr/local/mongodb/data
  • 日志存放位置:/usr/local/mongodb/logs

下載地址:mongodb 選擇自己相對(duì)應(yīng)的環(huán)境和版本债鸡。

1605319365462_WX20201113-192009@2x.png

進(jìn)入文件夾/usr/local,下載mongodb源代碼:

cd /usr/local
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.1.tgz

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

tar zxvf mongodb-linux-x86_64-rhel80-4.4.1.tgz
mv mongodb-linux-x86_64-rhel80-4.4.1 mongodb

配置變量環(huán)境:

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

直接執(zhí)行此命令,只會(huì)創(chuàng)建出臨時(shí)的環(huán)境變量厌均,重新斷開(kāi)連接服務(wù)器后會(huì)失效.

環(huán)境變量持久化配置:
/etc/profile 文件中唬滑,添加 export PATH=/usr/local/mongodb/bin:$PATH;

vim /etc/profile
...

不會(huì) vim 操作的請(qǐng)自行查看相應(yīng)的文檔教程,比如: vim 模式下,要按 i 才能插入內(nèi)容间雀,輸入完之后悔详,要按 shift:wq 才能保存退出。

然后使系統(tǒng)環(huán)境變量立即生效:

source /etc/profile

查看是否安裝成功:

mongod --version

如圖惹挟,表示安裝成功:


1605320905708_WX20201114-102802@2x.png

mongodb 啟動(dòng)配置

創(chuàng)建數(shù)據(jù)庫(kù)目錄和日志目錄:

mkdir /usr/local/mongodb/data
mkdir /usr/local/mongodb/data/db
mkdir /usr/local/mongodb/logs

配置 mongod 啟動(dòng)文件,在 /usr/local/mongodb/etc 下創(chuàng)建配置文件mongod.config:

vim /usr/local/mongodb/etc/mongod.config
dbpath=/usr/local/mongodb/data   # 數(shù)據(jù)庫(kù)存放位置(之前創(chuàng)建的)
logpath=/usr/local/mongodb/logs/mongodb.log   # 數(shù)據(jù)庫(kù)日志存放位置(之前創(chuàng)建的)
port=27017
fork=true   #后臺(tái)運(yùn)行
auth=false  # 初次配置先關(guān)了權(quán)限驗(yàn)證登陸模式
journal=false

啟動(dòng) mongod :

mongod -f /usr/local/mongod/etc/mongod.config

進(jìn)入數(shù)據(jù)庫(kù)管理命令界面:

mongo

切換到 admin 數(shù)據(jù)庫(kù)茄螃,創(chuàng)建超級(jí)管理員帳號(hào):

use admin
db.createUser({ user: "用戶名", pwd:"登錄密碼", roles:[{ role: "userAdminAnyDatabase", db: "admin" }] })

運(yùn)行結(jié)果:

Successfully added user: {
    "user" : "用戶名",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

切換到要使用的數(shù)據(jù)庫(kù),如 blog 數(shù)據(jù)庫(kù)连锯,創(chuàng)建這個(gè)數(shù)據(jù)庫(kù)的管理員帳號(hào):

use blog
db.createUser({ user: "用戶名", pwd:"登錄密碼", roles:[ { role: "readWrite", db: "blog" }] //讀寫(xiě)權(quán)限 })
  • 退出服務(wù),謹(jǐn)慎使用 kill 直接去殺掉 mongodb 進(jìn)程归苍,可以使用 db.shutdownServer() 關(guān)閉.

  • 使用權(quán)限方式啟動(dòng) MongoDB ,在配置文件中添加:auth=true , 然后啟動(dòng):mongod -f /usr/local/mongod/etc/mongod.config

  • 進(jìn)入mongo shell,使用 admin 數(shù)據(jù)庫(kù) use admin 并進(jìn)行驗(yàn)證 db.auth('用戶名','登錄密碼')运怖,驗(yàn)證成功返回 1 失敗返回 0 ;如果不驗(yàn)證或驗(yàn)證失敗拼弃,是做不了任何操作的.

MongoDB設(shè)置為系統(tǒng)服務(wù)并且設(shè)置開(kāi)機(jī)啟動(dòng)

在服務(wù)器的系統(tǒng)服務(wù)文件中添加 mongod 配置:

vim /etc/rc.d/init.d/mongod

輸入:

start() {
/usr/local/mongodb/bin/mongod  --config /usr/local/mongodb/etc/mongod.config
}

stop() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongod.config --shutdown
}
case "$1" in
  start)
 start
 ;;

stop)
 stop
 ;;

restart)
 stop
 start
 ;;
  *)
 echo
$"Usage: $0 {start|stop|restart}"
 exit 1
esac

保存并添加腳本執(zhí)行權(quán)限:

chmod +x /etc/rc.d/init.d/mongod

可以試試使用 service mongod [start|stop|restart|try-restart|reload|force-reload| status] 來(lái)直接管理 MongoDB 服務(wù)啦。

//  關(guān)閉
service mongod stop
//  啟動(dòng)
service mongod start

遠(yuǎn)程連接服務(wù)器數(shù)據(jù)庫(kù)

確保服務(wù)器安全規(guī)則端口已開(kāi)放摇展、防火墻設(shè)置沒(méi)問(wèn)題吻氧;連接命令:

mongo 110.110.110.110:27017/blog -u 用戶名 -p 登錄密碼
  1. 報(bào)錯(cuò)連接失敗,拒絕連接:
    • 原因:云服務(wù)器中安裝MongoDB后(默認(rèn)端口27017)咏连,默認(rèn)綁定IP為 127.0.0.1 盯孙,這就導(dǎo)致外部無(wú)法訪問(wèn);
    • 決解: 修改mongod.config配置文件祟滴,添加 bind_ip=0.0.0.0 綁定公網(wǎng)IP;
    • 重啟mongodb服務(wù) service mongod restart
  1. 啟動(dòng)服務(wù)報(bào)錯(cuò):
    about to fork child process, waiting until server is ready for connections.
    forked process: 11300
    ERROR: child process failed, exited with error number 48
    
    • 原因:沒(méi)有正常關(guān)閉mongodb引起的振惰,比如直接 kill -9 <pid>導(dǎo)致
    • 決解:
      1. 找到 data/mongod.lock 文件,并刪除 mongod.lock垄懂;
      2. 以修復(fù)方式啟動(dòng)mongod: mongod -f usr/local/mongodb/etc/mongod.config --repair;
      3. 再次啟動(dòng) service mongod start
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末骑晶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子草慧,更是在濱河造成了極大的恐慌桶蛔,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,946評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冠蒋,死亡現(xiàn)場(chǎng)離奇詭異羽圃,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)抖剿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)朽寞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)斩郎,“玉大人脑融,你說(shuō)我怎么就攤上這事缩宜∩拢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,716評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵妓布,是天一觀的道長(zhǎng)姻蚓。 經(jīng)常有香客問(wèn)我匣沼,道長(zhǎng)狰挡,這世上最難降的妖魔是什么释涛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,222評(píng)論 1 300
  • 正文 為了忘掉前任加叁,我火速辦了婚禮,結(jié)果婚禮上唇撬,老公的妹妹穿的比我還像新娘它匕。我一直安慰自己窖认,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,223評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布耀态。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪杭跪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,807評(píng)論 1 314
  • 那天涧尿,我揣著相機(jī)與錄音,去河邊找鬼姑廉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛萌踱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播并鸵,決...
    沈念sama閱讀 41,235評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼扔涧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼届谈!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起艰山,我...
    開(kāi)封第一講書(shū)人閱讀 40,189評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤咏闪,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后汤踏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡溪胶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,775評(píng)論 3 343
  • 正文 我和宋清朗相戀三年搂擦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哗脖。...
    茶點(diǎn)故事閱讀 40,926評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瀑踢,死狀恐怖才避,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情桑逝,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評(píng)論 5 351
  • 正文 年R本政府宣布茬暇,位于F島的核電站寡喝,受9級(jí)特大地震影響糙俗,放射性物質(zhì)發(fā)生泄漏预鬓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,259評(píng)論 3 336
  • 文/蒙蒙 一劈彪、第九天 我趴在偏房一處隱蔽的房頂上張望蟋定。 院中可真熱鬧,春花似錦驶兜、人聲如沸远寸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,750評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)矗愧。三九已至,卻和暖如春唉韭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背女器。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,867評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工住诸, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贱呐。 一個(gè)月前我還...
    沈念sama閱讀 49,368評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像驳阎,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子搞隐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,930評(píng)論 2 361

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