什么是    Linux Systemd  ?




Linux Systemd——在RHEL/CentOS 7中启动/停止/重启服务




MongoDB



1、安装文件:/opt/mongodb-3.6.3



centos 新用户启动MongoDB linux设置mongodb开机自启动_Linux MongoDB开机启动



2、可执行文件:/opt/mongodb-3.6.3/bin



centos 新用户启动MongoDB linux设置mongodb开机自启动_Linux MongoDB自启动_02



3、MongoDB配置文件:/opt/mongodb-3.6.3/bin/mongodb.conf


dbpath=/mongodb/data
logpath=/mongodb/logs/mongo.log
logappend=true
journal=true
quiet=true
fork=true
port=27017
bind_ip=10.x.x.x






centos 新用户启动MongoDB linux设置mongodb开机自启动_MongoDB开机启动_03



centos 新用户启动MongoDB linux设置mongodb开机自启动_Linux mongodb配置_04


centos 新用户启动MongoDB linux设置mongodb开机自启动_centos 新用户启动MongoDB_05




4、MongoDB环境变量添加



vim /etc/profile


centos 新用户启动MongoDB linux设置mongodb开机自启动_Linux MongoDB自启动_06



最后一行添加一句



centos 新用户启动MongoDB linux设置mongodb开机自启动_Linux MongoDB开机启动_07


保存并退出(Esc --> :wq!)


使修改的配置文件立即生效: source /etc/profile


centos 新用户启动MongoDB linux设置mongodb开机自启动_Linux MongoDB开机启动_08




5、MongoDB服务配置(服务启动、关闭、状态查询 以及 开机自启动)



切换到目录  /usr/lib/systemd/system



centos 新用户启动MongoDB linux设置mongodb开机自启动_Linux MongoDB自启动_09




新建一个文件,取名叫 mongodb.service


centos 新用户启动MongoDB linux设置mongodb开机自启动_Linux MongoDB自启动_10


或者命令   touch mongodb.service   创建文件


其内容如下


[Unit]  
  
Description=mongodb   
After=network.target remote-fs.target nss-lookup.target  
  
[Service]  
Type=forking  
ExecStart= /opt/mongodb-3.6.3/bin/mongod -f /opt/mongodb-3.6.3/bin/mongodb.conf  
ExecReload=/bin/kill -s HUP $MAINPID  
ExecStop=/opt/mongodb-3.6.3/bin/mongod --shutdown -f /opt/mongodb-3.6.3/bin/mongodb.conf  
PrivateTmp=true  
    
[Install]  
WantedBy=multi-user.target


注意MongoDB可执行文件和配置文件的路径一定要写对,记得保存!


赋予文件mongodb.service权限


chmod 754 mongodb.service

754 三个数字分别代表的是 : 该用户的权限 该用户所在组的用户权限 其他用户权限

4代表读权限,2代表写权限,1代表执行权限

7=4 + 2 + 1,表示拥有可读可写可执行权限 
5=4 + 1,表示拥有可读可执行权限,但是没有写权限 
0 代表没有任何权限 
以此类推






6、重启Linux



shutdown -r now





centos 新用户启动MongoDB linux设置mongodb开机自启动_Linux MongoDB自启动_11



等待Linux启动后,重新连接.....



7、查看MongoDB服务状态(已设置开机自启动)


[systemd 相关的绝大多数任务都是通过 systemctl 命令管理的]

systemctl 提供了一组子命令来管理单个的 unit,其命令格式为:
systemctl [command] [unit]
command 主要有:
start    :立刻启动后面接的 unit。
stop     :立刻关闭后面接的 unit。
restart  :立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。
reload   :不关闭 unit 的情况下,重新载入配置文件,让设置生效。
enable   :设置下次开机时,后面接的 unit 会被启动。
disable  :设置下次开机时,后面接的 unit 不会被启动。
status   :目前后面接的这个 unit 的状态,会列出有没有正在执行、开机时是否启动等信息。
is-active:目前有没有正在运行中。
is-enable:开机时有没有默认要启用这个 unit。
kill     :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。
show     :列出 unit 的配置。
mask     :注销 unit,注销后你就无法启动这个 unit 了。
unmask   :取消对 unit 的注销。



systemctl status mongodb.service   





centos 新用户启动MongoDB linux设置mongodb开机自启动_MongoDB开机启动_12


通过状态查询,我们发现MongoDB服务已经处于运行状态了,说明开机启动已经奏效




8、使用mongo命令连接服务


注:由于前面我们已经把mongodb的可执行文件的路径加到系统配置文件里面了,因此,下面我们直接mongo连

注:由于mongodb.conf我们绑定了ip,因此连接的时候,需要指定ip,否则失败



centos 新用户启动MongoDB linux设置mongodb开机自启动_MongoDB开机启动_13



正确的做法应该是指定IP


mongo 10.x.x.x     


centos 新用户启动MongoDB linux设置mongodb开机自启动_centos 新用户启动MongoDB_14






默认连接的dbname  = test


centos 新用户启动MongoDB linux设置mongodb开机自启动_Linux mongodb配置_15



有问题的请留言

喜欢的请给个赞




--------------------------------不定时会更新,因为学习,所以快乐,因为分享,所以便捷!