Avant-propos : Dans ce numéro, je partagerai avec vous le tutoriel complet d'installation et de déploiement de MongoDB sur le dernier système Linux. Mon serveur utilise Centos7. J'ai réinstallé mon serveur avant le déploiement. Le but est de vous montrer comment étape par étape fonctionnement pas à pas, le déploiement global est assez simple, voici une note à partager !
Autres didacticiels de déploiement de Blogger :
1. Jenkins déploie des projets de séparation front-end et back-end : le didacticiel graphique le plus complet pour les projets de séparation front-end et back-end de déploiement Jenkins (enseignement pratique)
2. Docker déploie des projets de séparation front-end et back-end : déployez des projets de séparation front-end et back-end via Docker (test de protestation disponible)
3. Déploiement du système Linux Tomcat : tutoriel détaillé sur le déploiement du système Linux Tomcat (explication graphique)
4. Déployer Nginx dans le système Linux : tutoriel détaillé sur le déploiement de Nginx dans le système Linux (explication graphique)
5. Configuration du système Linux Maven : Tutoriel détaillé de configuration du système Linux sur l'environnement Maven (explication graphique)
6. Configuration du système Linux Node.js : Tutoriel détaillé de configuration du système Linux sur l'environnement Node.js (explication graphique)
7. Installation du système Linux et déploiement de MySQL : Un tutoriel complet sur l'installation du système Linux et le déploiement de MySQL (explication détaillée avec images et textes)
8. Installation du système Linux et déploiement de Redis : Un tutoriel complet sur l'installation du système Linux et le déploiement de Redis (explication détaillée avec images et textes)
9. Installation du système Linux et déploiement de Jenkins : tutoriel détaillé sur l'installation du système Linux et le déploiement de Jenkins (explication graphique)
10. Projet de séparation frontale de déploiement de panneaux de pagode : enseignement pratique utilisant le projet de séparation frontale de déploiement de panneaux de pagode (tous les détails)
Table des matières
2. Préparez le package d'installation de MongoDB
Sixièmement, configurez l'utilisateur administrateur
Sept, configurer les variables d'environnement
Huit, configurez la chaîne logicielle
Neuf, configurez le démarrage pour qu'il démarre automatiquement
1. Piétinement record
Erreur complète de démarrage de MongoDB :
2023-08-02T19:30:47.752+0800 I CONTROL [main] Désactivation automatique de TLS 1.0, pour forcer l'activation de TLS 1.0, spécifiez --sslDisabledProtocols 'none' 2023-08-02T19:30:
47.758+0800 W ASIO [principal] Aucun TransportLayer configuré lors du démarrage de NetworkInterface
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] Démarrage de MongoDB : pid=32625 port=27017 dbpath=/usr/local/mongoDB/mongoDBServer/data 64 bits host=ecs- 132947
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] version de base de données v4.2.24 2023-08-02T19
:30:47.758+0800 I CONTROL [initandlisten] version git : 5e4ec1d24431fcdd28b579a024 c5c801b8cde4e2
2023-08-02T19:30 : 47.758+0800 I CONTROL [initandlisten] Version OpenSSL : OpenSSL 1.0.1e-fips 11 février 2013
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] allocateur : tcmalloc
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] modules : aucun
2023-08-02T19:30:47.758+0800 I Environnement de construction CONTROL [initandlisten] :
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] distmod : rhel70 2023-08-02T19:30:47.758
+0800 I CONTROL [initandlisten] distarch : x86_64
2023-08-02T19 :30:47.758+0800 I CONTROL [initandlisten] target_arch : x86_64
759+0800 I STORAGE [initandlisten] ** fichier de configuration ou comme option de ligne de commande. Prise en charge du MMAPV1
2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten] ** Le moteur de stockage est obsolète et sera supprimé le 2023-08-02T19:30:
47.759+0800 I STORAGE [initandlisten] ** version 4.2. Voir les notes de version pour MongoDB 4.0 — Manuel MongoDB
2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten]
2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten] exception dans initAndListen : Location18656 : Impossible de démarrer le serveur avec un moteur de stockage inconnu : mmapv1, se terminant le
2023-08-02T19:30:47.759+0800 I REPL [initandlisten] Arrêt du ReplicationCoordinator pour l'arrêt, waitTime : 10000 ms
2023-08-02T19:30:47.759+0800 I SHARDING [initandlisten ] Arrêt du WaitForMajorityService
2023-08-02T19:30:47.759+0800 I NETWORK [initandlisten] arrêt : va fermer les sockets d'écoute...
2023-08-02T19:30:47.759+0800 I NETWORK [initandlisten] Arrêt du pool de connexions global
2023- 08-02T19:30:47.759+0800 I STOCKAGE [initandlisten] Arrêt du FlowControlTicketholder
2023-08-02T19:30:47.759+0800 I - [initandlisten] Arrêt des autres acquisitions de tickets FlowControl.
2023-08-02T19:30:47.759+0800 I INDEX [initandlisten] Arrêt d'IndexBuildsCoordinator
2023-08-02T19:30:47.759+0800 I NETWORK [initandlisten] Arrêt de ReplicaSetMonitor
2023-08-02T19:30:47.7 59+ 0800 I CONTROL [initandlisten] Arrêt de la surveillance libre
2023-08-02T19:30:47.759+0800 I FTDC [initandlisten] Arrêt de la capture de données à temps plein
2023-08-02T19:30:47.759+0800 I STOCKAGE [initandlisten] Arrêt du HealthLog
2023-08-02T19:30 :47.759+0800 I - [initandlisten] Suppression du cache de portée pour l'arrêt
2023-08-02T19:30:47.759+0800 I CONTROL [initandlisten] quittant maintenant le
2023-08-02T19:30:47.759+0800 I CONTROL [initandlisten] fermeture vers le bas avec le code : 100
En effet, MongoDB utilisait le moteur de stockage MMAPV1 avant la version 3.2
1. Avant la version 3.0 (2015), MongoDB ne prenait en charge que le moteur de stockage MMAPv1.
2. Dans la version 3.2 (2016), un nouveau moteur de stockage WiredTiger a été introduit, mais MMAPv1 reste le moteur de stockage par défaut.
3. Dans la version 3.4 (2017), WiredTiger était officiellement utilisé comme moteur de stockage par défaut.
4. Dans la version 4.0 (2018), la prise en charge du moteur de stockage MMAPv1 a été complètement supprimée.
Modifiez le fichier mongodb.conf avec le code suivant
storageEngine=wiredTiger
2. Préparez le package d'installation de MongoDB
Voici l'adresse de téléchargement du site officiel : Télécharger MongoDB Community Server | MongoDB
La version que je choisis ici est la 4.2.24, la plateforme choisit CentOS7, le format du package compressé choisit le format tgz, et enfin cliquez sur Télécharger.
3. Installez MongoDB
1. Entrez le répertoire spécifié
cd /usr/local
2. Créez un nouveau dossier pour stocker le package d'installation de MongoDB
mkdir mongoDB
3. Téléchargez le package compressé téléchargé dans ce dossier (Xftp)
4. Accédez au répertoire nouvellement créé
cd mongoDB
5. Décompressez le package compressé
tar -zxvf mongodb-linux-x86_64-rhel70-4.2.24.tgz
6. Renommez le dossier
mv mongodb-linux-x86_64-rhel70-4.2.24 mongoDBServer
Même s'il est installé.
4. Configurer MongoDB
1. Entrez le dossier renommé
cd mongoDBServer
2. Créez trois dossiers pour stocker respectivement les données, les journaux et la configuration
mkdir data
mkdir log
mkdir etc
3. Entrez le dossier etc.
cd etc
4. Créez le fichier de configuration mongodb.conf
vim mongodb.conf
5. Copiez le code suivant :
Remarque : dbpath et logpath doivent être remplacés par votre propre chemin. Lors de la copie, dbpath peut soudainement changer en th. N'oubliez pas de vérifier s'il y a une erreur de copie !
dbpath=/usr/local/mongoDB/mongoDBServer/data
logpath=/usr/local/mongoDB/mongoDBServer/log/mongodb.log
logappend=true
quiet=true
port=27017
fork=true
auth=false
journal=true
bind_ip=0.0.0.0
storageEngine=wiredTiger
Détails de la commande :
paramètre | expliquer |
---|---|
dbpath=/usr/local/mongoDB/mongoDBServer/data | Ceci spécifie le chemin où les fichiers de données de MongoDB sont stockés, et MongoDB stocke les fichiers de données dans le répertoire dbpath. |
logpath=/usr/local/mongoDB/mongoDBServer/log/mongodb.log | Ceci spécifie le chemin du fichier journal pour MongoDB. |
logappend = vrai | Si la valeur est true, le journal sera ajouté au fichier journal, la valeur par défaut est true. |
calme = vrai | Si ce paramètre est vrai, certaines informations de journal inutiles peuvent être filtrées, telles que les informations de chaque connexion. |
port = 27017 | Il s'agit de spécifier le port que MongoDB écoute, la valeur par défaut est 27017. |
fourchette = vrai | Si cela est défini sur true, MongoDB s'exécutera en tant que processus démon. |
auth=faux | Il s'agit de savoir si une authentification est requise. Par défaut, il est accessible sans authentification. |
journal = vrai | Ceci permet de définir s'il faut activer la fonction de journal. La valeur par défaut est true. L'activation du journal peut améliorer la sécurité des données. |
bind_ip=0.0.0.0 | Il s'agit de définir l'adresse IP qui peut être surveillée et accessible. 0.0.0.0 signifie que les requêtes IP de toutes les interfaces réseau peuvent être surveillées. |
storageEngine=wiredTiger | Ceci spécifie le moteur de stockage, la valeur par défaut est wiredTiger. |
6. Appuyez sur la touche Echap pour quitter le mode d'édition, entrez : wq pour enregistrer et quitter l'éditeur vim
5. Démarrez MongoDB
1. Entrez le répertoire bin de MongoDB
2. Démarrez MongoDB
Remarque : le chemin doit être remplacé par le vôtre !
./mongod --config /usr/local/mongoDB/mongoDBServer/etc/mongodb.conf
Commencez avec succès !
Sixièmement, configurez l'utilisateur administrateur
1. Entrez MongoDB
./mongo
2. Utilisez les privilèges d'administrateur
use admin
3. Créez un utilisateur
Nom d'utilisateur : htt
Le mot de passe est : 123456
db.createUser( {user: "htt",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
4. Afficher les utilisateurs existants
show users
5. Fermez le service MongoDB
db.shutdownServer()
6. Quittez sans fermer le service ( exécutez cette commande, car ce service sera utilisé ci-dessous )
exit
Sept, configurer les variables d'environnement
1. Modifiez le fichier de profil
vim /etc/profile
2. Appuyez sur i pour entrer en mode édition
3. Modifiez votre propre chemin d'installation
export PATH=$PATH:/usr/local/mongoDB/mongoDBServer/bin
4. Appuyez sur la touche Echap pour quitter le mode d'édition, entrez : wq pour enregistrer et quitter l'éditeur vim
5. Laissez le fichier de configuration prendre effet
source /etc/profile
6. Vérifiez les informations de base de mongoDB
mongo --version
De cette façon, la configuration est réussie !
Huit, configurez la chaîne logicielle
1. Liez doucement le chemin mongo au chemin /usr/bin pour faciliter l'exécution des commandes mongo n'importe où
ln -s /usr/local/mongoDB/mongoDBServer/bin/mongo /usr/bin/mongo
2. Entrez MongoDB ( le principe est que le service MongoDB doit être démarré, si db.shutdownServer() est exécuté, il ne pourra pas entrer )
mongo
De cette façon, même si la configuration du soft link réussit, essayons de nous connecter avec les informations utilisateur que nous venons de configurer !
3. Utilisez les privilèges d'administrateur
use admin
4. Utilisez le nom d'utilisateur et le mot de passe que vous venez de créer pour vérifier
db.auth('htt','123456')
Renvoyer 1 signifie succès !
5. Quitter
exit
Neuf, configurez le démarrage pour qu'il démarre automatiquement
1. Créez le fichier de service mongodb.service
vim /lib/systemd/system/mongodb.service
2. Écrivez le contenu suivant
Remarque : ExecStart et ExecStop doivent être remplacés par votre propre chemin d'installation, veillez également à ne pas copier incorrectement, la première fois que vous copiez [Unit] peut devenir t], vérifiez attentivement vous-même !
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongoDB/mongoDBServer/bin/mongod --config /usr/local/mongoDB/mongoDBServer/etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongoDB/mongoDBServer/bin/mongod --shutdown --config /usr/local/mongoDB/mongoDBServer/etc/mongodb.confPrivateTmp=true
[Install]
WantedBy=multi-user.target
Détails de la commande :
paramètre | expliquer |
---|---|
Description | Décrivez le nom et la fonction de cette unité de service pour l'administration du système. |
Après | Définit que le service démarre après le démarrage de la cible réseau (network.target). |
Type = fourche | Indique que ce service va bifurquer le processus et que systemd doit surveiller son processus principal. |
ExécuterDébut | La commande exécutée au démarrage du service, voici pour démarrer mongod. |
ExecReload | La commande pour envoyer un signal lorsque le service est surchargé, envoyez ici le signal HUP pour surcharger la configuration. |
ExecStop | La commande exécutée lorsque le service est arrêté, voici l'arrêt normal de mongod. |
PrivéTmp | Attribuez un espace temporaire distinct au service, qui peut être omis. |
RecherchéPar | Spécifie à quelle cible appartient ce service, dans ce cas une cible multi-utilisateurs. |
3. Appuyez sur la touche Echap pour quitter le mode d'édition, entrez : wq pour enregistrer et quitter l'éditeur vim
4. Recharger la configuration
systemctl daemon-reload
5. Entrez le répertoire créé
cd /lib/systemd/system/
6. Accorder des autorisations
chmod 755 mongodb.service
7. Configurez le démarrage pour qu'il démarre automatiquement
systemctl enable mongodb.service
A ce stade, même si tout va bien, voici les 2 commandes supplémentaires.
8. Démarrez le service ( ici, notre service a déjà été démarré, et il n'est pas nécessaire de le redémarrer )
systemctl start mongodb.service
9. Fermez le service
systemctl stop mongodb.service
10. Après avoir redémarré le serveur, entrez la commande suivante (le lien symbolique configuré ci-dessus est l'avantage)
mongo
Vous avez terminé!
10. Résumé
Ce qui précède est mon tutoriel complet sur l'installation et le déploiement de la base de données MongoDB sous Linux. Si vous avez des questions, n'hésitez pas à en discuter dans la zone de commentaires !