上篇Parse-Server后臺搭建與使用基礎(chǔ)篇(一)- 阿里云ECS Parse-server的簡單搭建與使用,簡單介紹了一下在一臺服務(wù)器上搭建一套簡單的Parse-server服務(wù)的。雖然已近搭建完畢,可以測試使用,但是離正式使用還有一小段距離毫捣。
本篇結(jié)構(gòu):
一、MongoDB的部分問題
二区丑、域名的配置
三牵现、如何保持程序長期在后臺運(yùn)行
、如何快速+正確的使用灶搜。
一祟蚀、MongoDB的部分問題
1.之前沒有接觸過mongoDB,我當(dāng)時按照流程搭建完成之后就開始測試使用割卖,隔兩天我就會發(fā)現(xiàn)我之前存的數(shù)據(jù)沒了前酿?開始我以為是parse-server的問題,又由于是測試使用階段并沒有深究鹏溯。連著好幾次數(shù)據(jù)都沒了罢维,我尋思這么不穩(wěn)定不能用啊丙挽!所以我自己查了下肺孵,發(fā)現(xiàn)了問題所在。
通過命令進(jìn)入MongoDB颜阐,查詢之后我看到了整個里面就一個db平窘,名字為
READ_ME_TO_RECOVER_YOUR_DATA
ssh連接服務(wù)器后輸入
# mongo
# show dbs //顯示自己的數(shù)據(jù)庫
這才是我們自己的數(shù)據(jù)庫
一看這個上面的那個就不是我的庫嘛,看著也不像系統(tǒng)庫凳怨。之前沒注意看這個名字瑰艘,以為就是個系統(tǒng)生成的庫,現(xiàn)在注意一下這個名字就感覺不大對勁肤舞。
閱讀此內(nèi)容幫助你恢復(fù)數(shù)據(jù)紫新,感覺被黑了。
實(shí)際上就是被黑了 ·····
打開之后查看里面內(nèi)容李剖,果然就有勒索信息···
大致意思:給錢芒率,不給錢就撕票!
2.稍微簡單了了解一下MongoDB的使用杖爽。我們之前搭建的服務(wù)器有兩個問題
1.外網(wǎng)可以通過ip+端口號訪問我們的數(shù)據(jù)庫敲董。大概這些暫且能稱為黑客的人紫皇,他們就是通過ip+固定端口號27017全網(wǎng)掃描掃到了就給數(shù)據(jù)加密發(fā)綁票勒索信了。
2.我們的數(shù)據(jù)庫沒有設(shè)置用戶認(rèn)證腋寨。別人知道ip和端口號都不需要破解就能進(jìn)入我們的數(shù)據(jù)庫了而且操作也不需要授權(quán)聪铺。
3.解決第一個問題外網(wǎng)可以通過ip+端口號訪問我們的數(shù)據(jù)庫。
解決方案就是把我們的數(shù)據(jù)庫改成禁止外網(wǎng)訪問萄窜,只能通過內(nèi)網(wǎng)訪問铃剔。直接阻斷外網(wǎng)的端口掃描。
找到我們的配置文件:
# cd /root/parse/mongodb/bin/
# vim mongodb.conf
將bind_ip從0.0.0.0 改為127.0.0.1即可
4.解決第二個問題 給我們的MongoDB添加管理員賬戶查刻,只有通過管理員登錄認(rèn)證才可以訪問我們的數(shù)據(jù)庫
進(jìn)入mongodb 并創(chuàng)建用戶
# mongo
切換到管理員
> use admin
創(chuàng)建一個管理員用戶
db.createUser(
{
user:"admin321",
pwd:"admin123",
roles:[
{role:"userAdminAnyDatabase",db:"admin"},
{role:"readWrite",db:"parse"}
]
}
);
創(chuàng)建一個我們使用的parse db授權(quán)用戶
db.createUser(
{
user:"parsedbadmin",
pwd:"parsedbadmin",
roles:[
{role:"readWrite",db:"parse"}
]
}
);
成功如圖
ctrl+c退出命令行
同<3>打開mongodb.conf
最后一行添加一行
auth = true 表示需要認(rèn)證才可以訪問數(shù)據(jù)庫
完整的配置選項(xiàng)如下键兜,參數(shù)具體含義可以去百度一下
dbpath = /root/parse/mongodb/data/db
logpath = /root/parse/mongodb/data/log/mongodb.log
bind_ip = 127.0.0.1
port = 27017
fork = true
logappend = true
auth = true
# :wq退出保存之后,關(guān)閉原先的進(jìn)程,重新運(yùn)行起來
如何退出 暴力的就是查進(jìn)程 然后根據(jù)進(jìn)程pid殺
# netstat -tunlp
# kill -9 15608
重新運(yùn)行
# mongod --config /root/parse/mongodb/bin/mongodb.conf
可以正常登錄授權(quán)表示已經(jīng)設(shè)置好了管理員用戶
5.重啟parse-server
# netstat -tunlp
# kill -9 15608
parse-server --appId appid --masterKey appkey --databaseURI mongodb://parsedbadmin: parsedbadmin@127.0.0.1:27017/parse --serverURL http://服務(wù)器ip/parse &
這樣基本就能保證我們數(shù)據(jù)庫的安全了穗泵。
二普气、域名的配置
我們在使用的時候一般都會配一個域名方便使用,如何配置域名呢?國內(nèi)域名需要先備案才可以使用佃延。
1.服務(wù)器設(shè)置域名解析现诀,參照各個服務(wù)器廠商的設(shè)置。
阿里云如何設(shè)置域名解析
2.安裝nginx
# sudo apt install nginx
安裝完成后
# nginx -t
如圖 說明已經(jīng)安裝成功
3.修改配置
# vim /etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
server {
listen 80 ;
server_name www.域名;
location /{
root /home/web;
index index.html;
}
}
server {
listen 80 ;
server_name 域名;
location /{
proxy_pass http://localhost:4040;
}
location /parse/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:1337/parse/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_redirect off;
}
# Pass requests for /dashboard/ to Parse Server instance at localhost:4040
location /dashboard/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:4040/dashboard/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_redirect off;
}
}
#include /etc/nginx/conf.d/*.conf;
#include /etc/nginx/sites-enabled/*;
}
4.啟動nginx
# nginx
重啟:
# nginx -s reload
5.重新配置 parse-dashboard
vim /etc/parse/parse-dashboard.json
{
"apps": [{
"serverURL": "http://你的域名:1337/parse",
"appId": "appid",
"masterKey": "appkey",
"appName": "AppName"
}],
"users": [{
"user": "admin",
"pass": "admin"
}]
}
6.重啟parse-dashboard
parse-dashboard --config /etc/parse/parse-dashboard.json --allowInsecureHTTP &
7.然后打開你的瀏覽器直接輸入你的域名www.域名.com:4040 即可通過域名登錄你的parse-server