、MongoDBの関連項目を書き込むときNodeJs +エクスプレス+を学習ビデオのフルスタックと一緒に、この2日間のサミットでは、非常に滑らかな、と起動するように設定開始からのMongoDBをインストールした後、サービスとして実行にMongoDBをインストールのWindowsで見つかりました。彼らはテンセントクラウドホストを購入したので、システムはCentOS7.5で、次のようにmongodb.confプロファイルにMongoDBを介して実行したいと考えていました:
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
しかし、常に問題があります
ダウンロードするA.公式サイトMongoDBの特定のディレクトリに解凍し、
私はMongoDBのバージョン3.4.18ダウンロード:MongoDBの-linuxの-x86_64-3.4.18.tgzを
ダウンロードしたら、私は、ファイル解凍し-linuxの-x86_64-3.4.18.tgzをMongoDBのとは/ usr / localディレクトリにインストール
CentOS7.5マシンのMongoDBディレクトリ:は/ usr / local /のMongoDB
ファイル構造ディレクトリにMongoDBでのインストール後に以下のように:
II。MongoDBは、設定ファイルを作成し、メインデータベースファイル、ログファイル、だけでなく、いくつかの起動パラメータを指定します。
(1)フォルダおよびサブフォルダ内の新規のMongoDBデータを、DB、次にログフォルダを作成し、DBフォルダは、データベースファイルを格納するために使用されるログファイルの新しいmongodb.logログ、ログを格納するログファイル
cd /usr/local/mongodb
mkdir -p data/db
mkdir logs
touch logs/mongodb.log
。次のように(2)、新しい設定ファイルmongodb.conf USR / localmongodb / bin /ディレクトリ、読み取ります。
#端口
port=27017
#数据库存文件存放目录
dbpath= /usr/local/mongodb/data/db
#日志文件存放路径
logpath= /usr/local/mongodb/logs/mongodb.log
#使用追加的方式写日志
logappend=true
# 设置为true,修改数据目录存储模式,每个数据库的文件存储在DBPATH指定目录的不同的文件夹中。
# 使用此选项,可以配置的MongoDB将数据存储在不同的磁盘设备上,以提高写入吞吐量或磁盘容量。默认为false。
# 建议一开始就配置此选项
directoryperdb=true
# 后台运行
#以守护程序的方式启用,即在后台运行
fork=true
#最大同时连接数
maxConns=100
#不启用验证
noauth=true
#每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
journal=true
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
#存储引擎有mmapv1、wiretiger、mongorocks
storageEngine=wiredTiger
#这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
bind_ip = 0.0.0.0
#bind_ip = 127.0.0.1
関連フィールド説明
DBPATH:データベース・ファイル・パス
ログパス:ログファイルのパス
logappend:追加のログかどうか
ポート:ポート
フォーク:バックグラウンド・プロセスが開始されたかどうか
認証:認証局を開始するかどうか
nohttpinterface:アクセスのHTTP形式をサポートするかどうか
III。ライティングカスタムサービス
次のように(1)の作成に/ etc /にsystemd /システム/ mongodb.serviceファイルディレクトリは、サービスの即ち定義は、オフモード、MongoDBのを開始します
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
#ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
ExecStart=/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/logs/mongodb.log --logappend --fork
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/logs/mongodb.log --logappend --fork
ExecReload=/bin/kill -s HUP $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
(2)権限を設定
cd /etc/systemd/system
chmod 754 mongodb.service
(3)スタートアップを設定近いサービス、開始します
``シェル
#は、サービス開始
systemctlを開始mongodb.serviceの
近いサービス#
systemctlのSTOP mongodb.service
#ブート
systemctl mongodb.serviceを有効にします
#### 将mongodb的一些可执行文件目录bin添加到环境变量中
修改/etc/profile文件,在其末尾加上如下语句,即将mongodb的bin目录加到PATH环境变量中,是其mongod和mongo命令可以被终端shell识别,命令如下所示:
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
然后在终端中使用source /etc/profile使得配置生效。
### 查看mongodb服务的运行状态
注意:conf和service文件中设置路径,注意需要设置为绝对路径。不过奇怪的是我使用指定mongodb.conf配置的文件方式总是出错,后来直接用--dbpath和--logpath分别指定数据文件和日志文件反而能够正常启动。
使用systemctl enable mongodb.service将mongodb设置成开机自启动,使用systemctl start mongodb.service启动Mongodb,使用systemctl stop mongodb.service关闭mongodb服务。
另外可以通过systemctl status mongodb查看mongodb查看其服务的状态,如下图所示:
![查询mongodb服务的运行状态](https://img-blog.csdnimg.cn/20200216183830422.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NjZjE5ODgxMDMw,size_16,color_FFFFFF,t_70)
### 参考资料
* [Windows 平台安装 MongoDB-菜鸟教程](https://www.runoob.com/mongodb/mongodb-window-install.html)
* [Linux平台安装MongoDB-菜鸟教程](https://www.runoob.com/mongodb/mongodb-linux-install.html)
* [Centos7 设置Mongodb开机启动-自定义服务](https://blog.csdn.net/shujuelin/article/details/80909432)
* [Mongodb - Centos7下yum安装mongodb服务](https://www.jianshu.com/p/65c220653afd)