1. 程式人生 > >Ubuntu16.04安裝MongoDB並設定開機自啟

Ubuntu16.04安裝MongoDB並設定開機自啟

目的:在Ubuntu16.04安裝MongoDB,並且設定普通使用者開機啟動(mongodb不推薦root啟動),開機啟動用systemd。

我當前的普通使用者為star,將由這個使用者執行mongodb服務

從官網下載MongoDB安裝包,解壓,移動到存放目錄

tar zxf mongodb-linux-x86_64-ubuntu1604-4.0.1.tgz
sudo mv mongodb-linux-x86_64-ubuntu1604-4.0.1 /usr/local/mongodb

新增環境變數

sudo vim /etc/profile
# 在檔案末尾新增一行export PATH=/usr/local/mongodb/bin:$PATH
source /etc/profile

 新增配置檔案

sudo vim /etc/mongod.conf

mongod.conf的內容

#詳細記錄輸出
verbose = true
#繫結IP
bind_ip = 0.0.0.0
#指定服務埠號
port = 27017
#指定日誌檔案,注意是指定檔案不是目錄
logpath = /var/log/mongodb/logs/mongodb.log
#使用追加方式寫日誌
logappend = true
#指定資料庫路徑
dbpath = /var/lib/mongodb/db
#設定每個資料庫將被儲存在一個單獨的目錄
directoryperdb = true
#啟用驗證
auth = false
#以守護程序的方式執行MongoDB,建立伺服器程序
fork = true
#安靜退出
quiet = true

官方似乎推薦資料庫檔案存放在/var/lib/mongodb,日誌檔案存放在/var/log/mongodb,建立相應目錄和檔案,並把檔案所有者修改成普通使用者

sudo mkdir /var/lib/mongodb/db -p
sudo mkdir /var/log/mongodb/logs -p
sudo touch /var/log/mongodb/logs/mongodb.log

sudo chown star:star /var/lib/mongodb/db
sudo chown star:star /var/log/mongodb/logs/mongodb.log

到這一步算是安裝完成,嘗試用普通使用者身份啟動mongod

[email protected]
:/usr/local/mongodb$ mongod -f /etc/mongod.conf 2018-08-18T13:18:42.748+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none' about to fork child process, waiting until server is ready for connections. forked process: 6005 child process started successfully, parent exiting

 啟動成功,接下來設定開機啟動。

新增檔案mongodb.service

cd /etc/systemd/system
sudo vim mongodb.service

mongodb.service的內容


[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
# 注意這個地方是個坑,如果你的mongodb配置檔案中設定的作為守護執行緒執行,下面這一行一定要加上
Type=forking
User=star
ExecStart=/usr/local/mongodb/bin/mongod -f /etc/mongod.conf

[Install]
WantedBy=multi-user.target

 注意中間要寫對

然後加上執行許可權

sudo chmod +x mongodb.service

到這裡,可以嘗試用service啟動服務

# 啟動
[email protected]:~$ sudo service mongodb start
# 檢視狀態,可以看到active(running),成功執行
[email protected]:~$ sudo service mongodb status
● mongodb.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/etc/systemd/system/mongodb.service; disabled; vendor preset: enabled)
   Active: active (running) since 六 2018-08-18 14:00:44 CST; 6s ago
  Process: 7727 ExecStart=/usr/local/mongodb/bin/mongod -f /etc/mongod.conf (code=exited, status=0/SUCCESS)
 Main PID: 7729 (mongod)
   CGroup: /system.slice/mongodb.service
           └─7729 /usr/local/mongodb/bin/mongod -f /etc/mongod.conf

8月 18 14:00:43 for-vm systemd[1]: Starting High-performance, schema-free document-oriented database...
8月 18 14:00:43 for-vm mongod[7727]: 2018-08-18T14:00:43.861+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
8月 18 14:00:43 for-vm mongod[7727]: about to fork child process, waiting until server is ready for connections.
8月 18 14:00:43 for-vm mongod[7727]: forked process: 7729
8月 18 14:00:44 for-vm systemd[1]: Started High-performance, schema-free document-oriented database.

用service執行停止mongod都沒問題

下面設定開機啟動

sudo systemctl enable mongodb

嘗試重啟系統,可以看到很成功

# 系統啟動後檢視服務,成功自啟
[email protected]:~$ ps -ef | grep mongod | grep -v grep
star       1256      1  1 14:08 ?        00:00:01 /usr/local/mongodb/bin/mongod -f /etc/mongod.conf

 最後,說點注意事項

配置檔案和.service檔案的擁有者依然是root,不需要變更

[email protected]:~$ ll /etc/mongod.conf 
-rw-r--r-- 1 root root 508 8月  18 11:16 /etc/mongod.conf
[email protected]:~$ ll /etc/systemd/system/mongodb.service 
-rwxr-xr-x 1 root root 233 8月  18 13:54 /etc/systemd/system/mongodb.service*

另外,資料庫檔案目錄下檔案的擁有者應該是普通使用者,因為是用普通使用者身份第一次執行mongod服務

相關推薦

Ubuntu16.04安裝MongoDB設定開機

目的:在Ubuntu16.04安裝MongoDB,並且設定普通使用者開機啟動(mongodb不推薦root啟動),開機啟動用systemd。 我當前的普通使用者為star,將由這個使用者執行mongodb服務 從官網下載MongoDB安裝包,解壓,移動到存放目錄 tar

centos7原始碼包安裝Mongodb,設定開機啟動

1、下載原始碼包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.12.tgz 2、解壓 放到 /usr/local/ 目錄下 tar -zxvf mongodb-linux-x86_64-3.2.12.

Centos7 離線安裝mysql5.7設定開機

最近需要在Centos7下安裝下mysql,直接yum -y install的方法不太好使,就在官網下載了所有的依賴和離線安裝包,安裝成功,現在記錄下流程: 首先進入mysql官網的下載地址: https://dev.mysql.com/downloads/

centos7安裝nginx設定開機啟動

一、安裝前準備(nginx需要gcc等支援) 1:需要安裝gcc,一般gcc系統會自帶,如果沒有自帶,需要自己安裝 2:需要pcre,安裝的命令示例如下: yum install pcre* 3:

Ubuntu16.04安裝sublime_text_3設定中文輸入

一、下載並解壓sublime_text_3 可以先檢視下最新版本的連結在下載 wget https://download.sublimetext.com/sublime_text_3_build_3143_x64.tar.bz2 tar xvf sublim

Linux下Tomcat檢視執行日誌設定開機

開啟tomcat cd /usr/system/apache-tomcat-7.0.62 /usr/system/apache-tomcat-7.0.62/bin/startup.sh 關閉tomcat /usr/system/apache-tomcat-7.0.62/b

linux安裝redis配置開機

準備工作 開始安裝 1、 下載完安裝檔案後複製到/usr/local/,解壓: [root@vm01 local]# cd /usr/local [root@vm01 local]# tar -zxvf redis-4.0.6.tar.gz

ubuntu 18.04 安裝mongodb設為開機啟動

匯入包管理系統使用的公鑰 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 為MongoDB建立一個列表檔案 echo

centos安裝MongoDB設定開機啟動

1:安裝 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz tar -zxvf mongodb-linux

linux安裝db2資料庫設定開機啟動

最近因工作需要在Linux機器中安裝DB2資料庫,故將安裝過程記錄下。 Linux版本: Linux版本下的DB2資料庫採用的官方免費版本,作業系統用的CentOS7。 安裝過程: 1、下載:db2_v101_linuxia32_expc.tar.gz 2、解壓,解壓完成後會在當

centos7原始碼編譯安裝httpd、加入systemctl設定開機啟動

1、所需軟體: apr-1.6.3.tar.gz (下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz) apr-util-1.6.1.tar.gz (下載地址:http://mirrors.tun

centos7安裝mysql5.7設定開機啟動詳細步驟

1.下載mysql5.7版本 [[email protected] home]#wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz2.解除安裝

windows7 安裝mongodb設定服務方式啟動

安裝mongodb:官網下載.msi   下完後在F:\MongoDB\Server\3.6下新建 F:\MongoDB\Server\3.6\data\db 開啟bin目錄,shift+右鍵 --->在此處開啟命令列視窗輸入mongo --dbpath   F:\Mo

Centos7安裝、配置SVN服務,設定開機啟動

檢視啟動情況: 二、設定SVN開機自啟動 1、subversion預設以/var/svn作為資料根目錄,可以通過/etc/sysconfig/svnserve修改這個預設位置。 systemctl cat svnserve.service #svnserve.service檔案

CentOS7安裝redis,設定開機啟動(Redis安裝、Redis啟動、Redis設定開機啟動)

1、下載 redis https://redis.io/download 2、解壓安裝 tar -zxvf redis-3.2.9.tar.gzcd redis-3.2.9makemak

Ubuntu16.04安裝mongodb

pan Language sch sources exec 導入 apt ade orien Ubuntu16.04安裝mongodb copy from: http://blog.csdn.net/zhushh/article/details/52451441 1.導入

ubuntu16.04安裝docker配置php7+nginx環境

安裝docker 前提條件 Docker 要求 Ubuntu 系統的核心版本高於 3.10 通過 uname -r 命令檢視你當前的核心版本 ubuntu映象下載地址 本人下載的是ubuntu-16.04.5-desktop-amd64.iso 用VMware workstati

ubuntu16.04 安裝MongoDB 踩坑記錄及使用

MongoDB官網提供的安裝命令 //依次執行以下命令 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 echo "deb

CentOS新增定義系統服務設定開機啟動

因為各種需要,需要在CentOS 啟動或重啟(reboot 命令)後,啟動常用服務。而不是手動一個個再啟動服務。1.建立服務檔案 系統服務新增路徑:  /usr/lib/systemd/system/ 服務安裝路徑:        &nbs

centos7安裝docker設定開機啟動

[[email protected] ~]# sudo docker run hello-world Unable to find image ‘hello-world:latest‘ locally latest: Pulling from library/hello-world 03f4658