配置YAPI

一.安裝nodejs

獲取資源(部署nodejs儘可能選擇偶數版本,因爲偶數版本官方有較長的維護時間,故這次選擇8.x。)
curl -sL https://rpm.nodesource.com/setup_8.x | bash -

安裝
yum install -y nodejs

查看版本
node -v

查看npm版本
npm -v
二、CentOS 7 安裝及卸載MongoDB
卸載MongoDB

徹底卸載MongoDB,必須移除MongoDB應用程序,移除配置文件和任何包含數據及日誌的目錄。下面的指南是徹底卸載MongoDB的必須步驟。

警告:如下步驟將會徹底卸載MongoDB,包括其配置文件和所有的數據庫文件。這個過程是不可逆的,所以確保在執行這些步驟之前已經備份了你的配置文件和數據文件。

I. 停止MongoDB

sudo service mongod stop

II. 移除MongoDB包
移除之前安裝的所有MongoDB包

sudo yum erase $(rpm -qa | grep mongodb-org)

III. 刪除數據文件及日誌文件
刪除MongoDB數據庫和日誌文件

  1. sudo rm -r /var/log/mongodb
  1. sudo rm -r /var/lib/mongo

安裝MongoDB

  1. 配置yum源
    新建 /etc/yum.repos.d/mongodb-org-3.4.repo文件,這樣能使用yum直接安裝MongoDB。

sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo

在文件中輸入:

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

保存退出。
2. 安裝MongoDB包和相關工具

sudo yum install -y mongodb-org

不啓用SELinux
設置 /etc/selinux/config 下的SELINUX字段爲disabled,不啓用SELinux。

sudo vi /etc/selinux/config

編輯

SELINUX=disabled
我使用的這種方式。

III. 相關命令
啓動MongoDB

sudo service mongod start

設置開機啓動

sudo chkconfig mongod on

停止MongoDB

sudo service mongod stop

重啓MongoDB

sudo service mongod restart

注意: 在Centos 7 版本中,運行上述命令雖然也能達到效果,但還是建議使用如下命令:

啓動MongoDB

sudo systemctl start mongod.service

驗證MongoDB是否成功啓動

sudo cat /var/log/mongodb/mongod.log

如出現

[thread1] waiting for connections on port

其中的默認爲27017,在 /etc/mongod.conf中配置,則啓動成功!

設置開機啓動

sudo systemctl enable mongod.service

停止MongoDB

sudo systemctl stop mongod.service

重啓MongoDB

sudo systemctl restart mongod.service

注意: 在Centos 7 版本中,運行上述命令雖然也能達到效果,但還是建議使用如下命令:
啓動MongoDB

sudo systemctl start mongod.service

驗證MongoDB是否成功啓動

sudo cat /var/log/mongodb/mongod.log

如出現

[thread1] waiting for connections on port

其中的默認爲27017,在 /etc/mongod.conf中配置,則啓動成功!
設置開機啓動

sudo systemctl enable mongod.service

停止MongoDB

sudo systemctl stop mongod.service

重啓MongoDB

sudo systemctl restart mongod.service

三.安裝git
官方推薦,在內網部署的時候安裝git,可以根據自己所需安裝

yum -y install git

四:命令行部署YAPI:

mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors
//或者下載 zip 包解壓到 vendors 目錄(我採用是解壓zip包放到服務器上,解壓(unzip -o -d /opt/yapi yapi-master.zip)後重命名爲vendors)
cd yapi
cp vendors/config_example.json ./config.json
(在測試服務器上爲:cp config_example.json /opt/yapi/config.json)
//複製完成後請修改相關配置(關鍵一項,之後詳細說明)
cd vendors
npm install --production --registry https://registry.npm.taobao.org
npm run install-server
//安裝程序會初始化數據庫索引和管理員賬號,管理員賬號名可在 config.json 配置
在這兒報了個錯:
在這裏插入圖片描述
是因爲沒有權限。
所以,創建mongodb db,user
將創建成功的 db及user 配置到config.json文件內即可
如 mongo --port 27017 -u “apidocuser” -p “apidocpwd” --authenticationDatabase “apidoc” 可訪問即爲配置成功,將相應參數配置到config.json內即可
配的是admin庫裏的管理員賬號

創建用戶

熟 悉 Oracle 的童鞋們都知道,數據庫用戶有兩種,一種是管理員,用來管理用戶,一種是普通用戶,用來訪問數據。類似的,爲 MongoDB 規劃用戶鑑權時,至少要規劃兩種角色:用戶管理員和數據庫用戶。如果搭建了分片或主從,可能還會要規劃數據庫架構管理員的角色,它們專門用來調整數據庫的 分佈式架構。

在創建用戶之前,我們首先要修改 MongoDB 的啓動方式。缺省方式下 MongoDB 是不進行鑑權檢查的。我們只要在運行 MongoDB 的命令後面加上一個 --auth 參數即可,例如:

mongod --dbpath ./db1 --port 20000 --auth
MongoDB默認不啓用安全授權機制。在單節點環境下,你需要在啓動mongod時指定–auth,或者在參數裏設置auth=true來啓用這個特性。

如果上述命令無效的話,那就 手動開啓用戶權限認證,在/etc/mongod.conf裏最後一行家auth=true

如何創建用戶管理員
用戶管理員是第一個要創建的用戶。在沒有創建任何用戶之前,你可以隨意創建用戶;但數據庫中一旦有了用戶,那麼未登錄的客戶端就沒有權限做任何操作了,除非使用db.auth(username, password)方法登錄。

用戶管理員的角色名叫 userAdminAnyDatabase,這個角色只能在 admin 數據庫中創建。下面是一個例子:

use admin
switched to db admin
db.createUser({user:“root”,pwd:“woshimima”,roles:[“userAdminAnyDatabase”]})
Successfully added user: { “user” : “root”, “roles” : [ “userAdminAnyDatabase” ] }

這個例子創建了一個名爲 root 的用戶管理員。創建完了這個用戶之後,我們應該馬上以該用戶的身份登錄:

db.auth(“root”,“root123”)
1
db.auth() 方法返回 1 表示登錄成功。接下來我們爲指定的數據庫創建訪問所需的賬號。
然後修改在/etc/mongod.conf文件中,在配置文件中添加.
security:
authorization: enabled

如下圖所示:
在這裏插入圖片描述

以認證的方式啓動MongoDB數據庫

mongod --auth --port 27017 --dbpath /data/testdb
4.創建其他的用戶
文檔參考:https://docs.mongodb.org/v2.6/tutorial/add-user-to-database/
1.用有合適權限的用戶連接MongoDB實例
比如:使用剛纔創建的administrator用戶siteUserAdmin,
mongo --port 27017 -u root -p woshimima --authenticationDatabase admin
2.創建一個新用戶
創建用戶語法可以參考:db.createUser()。
下面的例子是在testdb數據庫中創建一個用戶。
use testdb
db.createUser({user:“tianyang”,pwd:“woshimima”,roles:[{role:“readWrite”,db:“testdb”}]})
修改用戶密碼:db.changeUserPassword(“tianyang”,“tianyang0619”)
db.auth(“tianyang”,“tianyang0619”)

刪除用戶db.dropUser(’'tianyang")

執行npm run install-server
在這裏插入圖片描述

執行npm run install-server,安裝程序會初始化數據庫索引和管理員賬號
node server/app.js //啓動服務器後,請訪問 127.0.0.1:{config.json配置的端口},初次運行會有個編譯的過程,請耐心等候

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章