텐센트 클라우드 호스트 Centos7는 MongoDB를 부팅 설정 - 사용자 정의 서비스

MongoDB를에게 관련 항목을 작성할 때 NodeJs + 익스프레스 + 학습 비디오의 전체 스택과 함께이 이틀간의 정상 회담에서, 서비스로 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를 - 리눅스 - x86_64-3.4.18.tgz을
다운로드하면, 나는 파일의 압축을 풉니 다 - 리눅스 - x86_64-3.4.18.tgz를 MongoDB를하고는 / usr / 로컬 디렉토리에 설치
CentOS7.5 기계 MongoDB의 디렉토리 : / usr / 지방 /의 MongoDB를의
파일 구조 설치 후 디렉토리하여 MongoDB에서 아래와 같이 :
MongoDB를 설치 디렉토리

II. MongoDB를 파일뿐만 아니라 일부 시작 매개 변수를 기록, 주요 데이터베이스 파일을 지정, 구성 파일을 작성합니다.

폴더와 하위 폴더, 데시벨 (1) 새로운 MongoDB의 데이터를 한 다음 생성 로그 폴더, 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 : 데이터베이스 파일 경로

를 logpath : 로그 파일 경로

logappend : 추가 로그 여부

포트 : 포트

포크 : 백그라운드 프로세스가 시작 여부

인증 : 인증 기관을 시작할지 여부를

nohttpinterface : 액세스의 HTTP 양식을 지원할지 여부를

III. 쓰기 맞춤 서비스

(1). (가) 등 서비스의 정의는 MongoDB를 시작 즉 / systemd / 시스템 / mongodb.service 파일 디렉토리는, 모드 해제 등 / 다음 만들기에

[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 정지 mongodb.service의
# 부팅이
mongodb.service 수 있도록 systemctl을


####  将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)
게시 된 108 개 원래 기사 · 원의 찬양 (35) · 전망 970 000 +

추천

출처blog.csdn.net/ccf19881030/article/details/104346117