第一篇文章寫了如何安裝和配置nginx监右,這篇繼續(xù)學(xué)習(xí)发钝。
接下來開始安裝node環(huán)境。
由于是后臺小白泛领,我這次選擇使用Node,這門最接近JavaScript的后臺語言來搭建我的后臺敛惊。
首先 nvm大法 不要吐槽??(正常編譯安裝半天沒弄好渊鞋,就試了一下nvm,發(fā)現(xiàn)還是好用的,所以用了nvm)篓像。
<!-- 第一步 -->
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
<!-- 第二步 -->
source ~/.bashrc
<!-- 第三步 -->
nvm install 12
<!-- 第四步 -->
node -v
npm -v
PM2安裝(轉(zhuǎn)載)
pm2是一個進程管理工具,可以用它來管理你的node進程,并查看node進程的狀態(tài)员辩,當然也支持性能監(jiān)控盒粮,進程守護,負載均衡等功能
1奠滑、 pm2需要全局安裝
npm install -g pm2
2丹皱、進入項目根目錄
2.1 啟動進程/應(yīng)用 pm2 start bin/www 或 pm2 start app.js
2.2 重命名進程/應(yīng)用 pm2 start app.js --name wb123
2.3 添加進程/應(yīng)用 watch pm2 start bin/www --watch
2.4 結(jié)束進程/應(yīng)用 pm2 stop www
2.5 結(jié)束所有進程/應(yīng)用 pm2 stop all
2.6 刪除進程/應(yīng)用 pm2 delete www
2.7 刪除所有進程/應(yīng)用 pm2 delete all
2.8 列出所有進程/應(yīng)用 pm2 list
2.9 查看某個進程/應(yīng)用具體情況 pm2 describe www
2.10 查看進程/應(yīng)用的資源消耗情況 pm2 monit
2.11 查看pm2的日志 pm2 logs
2.12 若要查看某個進程/應(yīng)用的日志,使用 pm2 logs www
2.13 重新啟動進程/應(yīng)用 pm2 restart www
2.14 重新啟動所有進程/應(yīng)用 pm2 restart all
MongoDB安裝 (轉(zhuǎn)載)
原文章有部分錯誤在此更改記錄
安裝須知
- mongo DB下載地址mongodb官網(wǎng)下載
- Linux須知知識:
安裝過程
服務(wù)器下載安裝包
下載: curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-4.0.6.tgz
;
解壓:tar -zxvf mongodb-linux-x86_64-rhel62-4.0.6.tgz
;
移動到需要存放的目錄下mv mongodb-linux-x86_64-rhel62-4.0.6/ /usr/local/mongodb
配置環(huán)境變量:export PATH=/usr/local/mongodb/bin:$PATH
,直接執(zhí)行此命令宋税,只會創(chuàng)建出臨時的環(huán)境變量摊崭,即重新斷開連接服務(wù)器后會失效;
環(huán)境變量持久化配置:需要將mongod路徑添加到系統(tǒng)路徑中,
執(zhí)行sudo vi /etc/profile
杰赛,添加 export PATH=/usr/local/mongodb/bin:$PATH
;
執(zhí)行source /etc/profile
呢簸,使系統(tǒng)環(huán)境變量立即生效
驗證是否安裝成功:mongod --version
db version v4.0.6
git version: caa42a1f75a56c7643d0b68d3880444375ec42e3
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
distmod: rhel62
distarch: x86_64
target_arch: x86_64
mongod啟動配置
- 創(chuàng)建數(shù)據(jù)庫存放和日志目錄
因為MongoDB的數(shù)據(jù)存儲在data目錄的db目錄下,而該目錄在安裝過程中并不會自動創(chuàng)建乏屯,所以需要手動創(chuàng)建data目錄根时,并在data目錄中創(chuàng)建db目錄。
mongoDB啟動默認使用的數(shù)據(jù)哭存儲目錄是根目錄/data/db辰晕;當然也可以在其他目錄下創(chuàng)建蛤迎,然后通過--dbpath來指定;
根目錄下創(chuàng)建:mkdir -p /data/db
;這里為了后期好查找含友,就不創(chuàng)建在根目錄下替裆,而是放在mongodb
目錄下/usr/local/mongodb/data/db
日志目錄創(chuàng)建/usr/local/mongodb/logs
- 配置mongod啟動文件
/usr/local/mongodb/etc
下創(chuàng)建配置文件mongod.config
:
dbpath=/usr/local/mongodb/data # 數(shù)據(jù)庫存放位置(之前創(chuàng)建的)
logpath=/usr/local/mongodb/logs/mongodb.log # 數(shù)據(jù)庫日志存放位置(之前創(chuàng)建的)
port=27017
fork=true #后臺運行
auth=false # 初次配置先關(guān)了權(quán)限驗證登陸模式
journal=false
- 啟動mongodb
啟動:mongod -f /usr/local/mongodb/etc/mongod.config
;
進入數(shù)據(jù)庫管理命令界面:mongo
創(chuàng)建數(shù)據(jù)庫管理角色
use admin
db.createUser({user:'root',pwd:'123456',roles:[{'role':'userAdminAnyDatabase','db':'admin'}]})
運行結(jié)果:
Successfully added user: {
"user" : "root",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
退出服務(wù),謹慎使用kill
直接去殺掉mongodb
進程,可以在mongo shell中先用use admin
再db.shutdownServer()
的方式關(guān)閉.
使用權(quán)限方式啟動MongoDB,在配置文件中修改:auth=true
, 然后啟動:
mongod -f /usr/local/mongod/etc/mongod.config
進入mongo shell窘问,使用admin數(shù)據(jù)庫
use admin
并進行驗證
db.auth('root','123456')
或者
db.auth({user:'root',pwd:'123456'})
驗證成功返回1
失敗返回0
;如果不驗證或驗證失敗辆童,是做不了任何操作的
4.MongoDB設(shè)置為系統(tǒng)服務(wù)并且設(shè)置開機啟動
在服務(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
;
現(xiàn)在可以試試使用
service mongod [start|stop|restart|try-restart|reload|force-reload| status]
來直接管理MongoDB服務(wù)啦;
試試關(guān)閉服務(wù):
service mongod stop
2019-03-10T16:45:22.360+0800 I CONTROL
[main] log file "/usr/local/mongodb/logs/mongodb.log" exists;
moved to "/usr/local/mongodb/logs/mongodb.log.2019-03-10T08-45-22".
killing process with pid: 10652
試試開啟服務(wù):service mongod start
- 本地遠程連接服務(wù)器數(shù)據(jù)庫
連接命令:mongo 42.114.29.206:27017/test -u user -p password
報錯連接失敗惠赫,拒絕連接把鉴;
原因:云服務(wù)器中安裝MongoDB后(默認端口27017),默認綁定IP為127.0.0.1
汉形,這就導(dǎo)致外部無法訪問纸镊;
解: 修改mongod.config
配置文件,添加bind_ip=0.0.0.0
綁定公網(wǎng)IP;
重啟mongodb
服務(wù)service mongod restart
發(fā)現(xiàn)報錯:
about to fork child process, waiting until server is ready for connections.
forked process: 11300
ERROR: child process failed, exited with error number 48
原因:應(yīng)該是之前沒有正常關(guān)閉mongodb引起的概疆,比如直接 kill -9 <pid>導(dǎo)致逗威;
解:
找到data/mongod.lock
文件,并刪除mongod.lock
岔冀;
以修復(fù)方式啟動mongodmongod -f usr/local/mongodb/etc/mongod.config --repair
;
再次啟動service mongod start