Je suis engagé dans l'exploitation et la maintenance depuis de nombreuses années et j'ai rencontré divers problèmes, tels que la perte de données, le dysfonctionnement d'un site Web, la suppression accidentelle de fichiers de base de données, les attaques de pirates informatiques et d'autres problèmes. J'ai également rencontré de nombreux amis qui pensaient connaître le système Linux. Lorsqu'ils ont vu des problèmes, ils n'ont jamais paniqué et étaient pleins de confiance. Cependant, l'environnement de production s'est renversé (presque renvoyé). . . Alors, aujourd'hui, je vais simplement trier quelques bonnes habitudes d'exploitation Linux et les partager avec vous. Laissez-nous opérer en toute sécurité et
ne vous retournez jamais ! !
Spécifications d'exploitation en ligne
Dans la dernière entreprise pour laquelle j'ai travaillé, la gestion de l'exploitation et de la maintenance était assez chaotique. Pour vous donner l'exemple le plus typique, le personnel d'exploitation et de maintenance qui avait démissionné à plusieurs reprises avait le mot de passe root du serveur. . Habituellement, lorsque nous recevons une tâche d'exploitation et de maintenance, nous effectuons une simple vérification et si elle ne peut pas être résolue, nous demanderons de l'aide à d'autres. Mais lorsque le problème est insupportable, le superviseur du service client (qui connaît un peu Linux), le. L'administrateur réseau et votre patron débogueront un serveur ensemble. Après diverses comparaisons, j'ai découvert que le fichier de configuration de votre serveur était différent de la dernière fois que vous l'avez modifié, puis vous l'avez à nouveau recherché sur Google. et l'a résolu, mais d'autres vous ont dit qu'ils l'avaient également résolu. Ce qui est modifié, ce sont différents paramètres... Ceci, je ne sais vraiment pas quelle est la vraie cause du problème. Bien sûr, c'est toujours bon. est résolu et tout le monde est content. Mais vous avez rencontré le fichier que vous venez de modifier et le test n'est pas valide. Que se passe-t-il lorsque vous allez modifier et constatez que le fichier a été à nouveau modifié ? .
Développez une habitude Lorsque vous souhaitez modifier des données, sauvegardez d'abord, comme le fichier de configuration .conf. De plus, lors de la modification du fichier de configuration, il est recommandé de commenter les options d'origine, puis de copier et de modifier. De plus, s'il y a une sauvegarde de la base de données dans le premier exemple, alors une mauvaise opération de rsync sera acceptable, ce qui entraînera la perte de la base de données. cela ne se produit pas du jour au lendemain, simplement par hasard. Cela ne doit pas nécessairement être si misérable si vous disposez d'une sauvegarde.
Il existe de nombreux exemples sur Internet, divers rm -rf/, diverses suppressions de la base de données principale, divers accidents d'exploitation et de maintenance... Une petite erreur entraînera beaucoup de pertes. Si vous devez vraiment le supprimer, soyez prudent.
À l'origine, il existe toutes sortes de sauvegardes ci-dessus, mais je veux la diviser en catégorie de données pour souligner à nouveau que la sauvegarde est très importante. Je me souviens que mon professeur a dit quelque chose, de quel type. des données sont impliquées ? Je ne peux pas être trop prudent. L'entreprise pour laquelle je travaille dispose d'un site Web de paiement tiers et d'une plateforme de prêt en ligne. Le paiement tiers est entièrement sauvegardé toutes les deux heures, et la plateforme de prêt en ligne est sauvegardée. toutes les 20 minutes. Je n'entrerai pas dans les détails. Vous pouvez décider par vous-même
En fait, non seulement les données, mais aussi la stabilité sont plus importantes que tout dans l'ensemble de l'environnement serveur. . Nous ne recherchons pas le plus rapide, mais le plus stable et le plus utilisable. Par conséquent, n'utilisez pas de nouveaux logiciels sur le serveur sans tests, comme nginx+php-fpm, dans l'environnement de production, PHP sera bloqué et redémarré, ou. change simplement d'Apache.
De nos jours, il existe toutes sortes de photos pornographiques et toutes sortes de portes dérobées de routeur, donc lorsqu'il s'agit de données, il est impossible de ne pas les garder confidentielles. De plus, lors de la recherche du compte public Linux, c'est ainsi que vous devez apprendre à répondre « Linux » en arrière-plan pour obtenir un paquet cadeau surprise.
Changer le port par défaut (Bien sûr, si un professionnel veut vous pirater, il sortira après numérisation) Interdire la connexion root en utilisant les utilisateurs ordinaires + authentification par clé + règles sudo + adresse IP + utilisateur restrictions Utilisez hostdeny similaire antidéflagrant Crackez le logiciel (si vous essayez de le bloquer directement après quelques tentatives), filtrez les utilisateurs connectés dans /etc/passwd
Le pare-feu doit être activé dans l'environnement de production , et suivez le principe minimum, supprimez tout, puis libérez les ports de service requis.
Vous pouvez utiliser les services démarrés par des utilisateurs ordinaires. N'utilisez résolument pas root au minimum, et le contrôle doit être précis.
Utilisez un logiciel tiers pour détecter à tout moment les modifications dans les fichiers système clés et divers fichiers de configuration de service, tels que /etc/passwd, /etc/my.cnf, /etc/httpd/con /httpd. con, etc. ; utiliser un système de surveillance centralisé des journaux pour surveiller /var/log/secure, /etc/log/message, les fichiers de téléchargement et de téléchargement FTP et autres journaux d'erreurs d'alarme, pour l'analyse des ports ; utilisez également un logiciel tiers pour détecter Scan et extraire directement host.deny. Ces informations sont très utiles pour le dépannage une fois le système compromis. Quelqu'un a dit que le coût qu'une entreprise investit dans la sécurité est directement proportionnel au coût qu'elle perd en raison des attaques de sécurité. La sécurité est un sujet important et un travail très fondamental. Si les bases sont bien exécutées, la sécurité du système peut être considérablement améliorée. le reste est fait par des experts en sécurité
De nombreuses personnes commencent par la surveillance lorsqu'elles se lancent dans l'exploitation et la maintenance. Les grandes entreprises disposent généralement d'une surveillance, d'une exploitation et d'une maintenance professionnelles 24 heures sur 24. La surveillance du fonctionnement du système comprend généralement l'occupation du matériel, la mémoire, le disque dur, le processeur, la carte réseau, le système d'exploitation, y compris la surveillance des connexions et la surveillance des fichiers système clés. Une surveillance régulière peut prédire la probabilité de dommages matériels et apporter des fonctions très pratiques au réglage.
La surveillance des services fait généralement référence à diverses applications, Web, base de données, lvs, etc. Elle surveille généralement certains indicateurs et peut être rapidement découverte et résolue lorsque des goulots d'étranglement de performances surviennent dans le système.
La surveillance des journaux ici est similaire à la surveillance des journaux de sécurité, mais ici, il s'agit généralement de la surveillance des informations d'erreur et d'alarme du matériel, du système d'exploitation et des applications. Elle est vraiment inutile lorsque le système fonctionne de manière stable, mais une fois. un problème survient, Si vous ne faites pas de surveillance, vous serez très passif.
En fait, sur la base de plus d'un an d'expérience en matière d'exploitation et de maintenance, parler de réglage n'est fondamentalement que parler sur papier, mais je veux juste le résumer brièvement . Si j’ai une compréhension plus profonde, je renouvellerai. Avant d'optimiser le logiciel, par exemple, vous devez avoir une compréhension approfondie du mécanisme de fonctionnement d'un logiciel, tel que nginx et apache. Tout le monde dit que nginx est rapide, vous devez donc savoir pourquoi nginx est rapide, quels principes il utilise. , comment traiter les requêtes mieux qu'Apache, et vous devez être capable de comparer avec les autres. Exprimez-le en termes clairs et faciles à comprendre, et vous devez être capable de comprendre le code source si nécessaire, sinon tous les documents qui utilisent des paramètres. car les objets de réglage sont absurdes.
Une fois que vous êtes familiarisé avec le mécanisme de fonctionnement sous-jacent, vous devez disposer d'un cadre et d'une séquence de réglage. Par exemple, s'il y a un goulot d'étranglement dans la base de données, de nombreuses personnes modifieront directement le fichier de configuration de la base de données. . Ma suggestion est d'ajuster d'abord la base de données en fonction du goulot d'étranglement, de vérifier les journaux, de noter la direction de réglage, puis de démarrer le réglage du serveur de base de données devrait être la dernière étape. Les serveurs de bases de données d'aujourd'hui ne sont publiés qu'après divers tests sur tous les systèmes d'exploitation, vous ne devriez pas commencer par cela.
牛逼啊!接私活必备的 N 个开源项目!赶快收藏
Ajustez un seul paramètre à la fois Comme tout le monde le sait, si vous ajustez trop, vous serez confus.
Pour déterminer si le réglage est utile et pour tester la stabilité et les performances d'une nouvelle version du logiciel, les tests de référence sont nécessaires et impliquent de nombreux facteurs. testeur. Expérience, vous pouvez vous référer à la troisième édition de "High Performance MySQL" pour des informations connexes. Mon professeur a dit un jour qu'il n'y avait pas de paramètre unique et que tout changement ou réglage de paramètre devait être conforme au scénario commercial. Ne faites donc plus de réglage sur Google, cela n'aura aucun effet à long terme sur votre amélioration. et l'amélioration de l'environnement des affaires.
De nombreux rm -rf /data sont au sommet de l'irritabilité dans les premières minutes après avoir quitté le travail, alors n'envisagez-vous pas de contrôler votre mentalité ? , irritabilité Vous devez également aller travailler, mais vous pouvez essayer d'éviter de traiter des données critiques lorsque vous êtes irritable. Plus l'environnement est stressant, plus vous devez faire preuve de calme, sinon vous perdrez davantage. La plupart des gens ont l'expérience de rm -rf /data/mysql. Vous pouvez imaginer ce que vous ressentez après l'avoir supprimé. Mais s'il n'y a pas de sauvegarde, à quoi bon s'inquiéter. Généralement, dans ce cas, vous devez vous calmer et. réfléchissez-y. Préparez-vous au pire. Pour MySQL, si vous supprimez les fichiers physiques, certaines tables existeront toujours dans la mémoire, alors déconnectez l'entreprise, mais ne fermez pas la base de données MySQL. Ceci est très utile pour la récupération et l'utilisation. dd pour copier le disque dur, puis vous pourrez Pour la récupération, bien sûr, la plupart du temps, vous ne pouvez trouver qu'une entreprise de récupération de données. Imaginez que les données ont été supprimées. Si vous effectuez diverses opérations, fermez la base de données, puis réparez-la, non seulement le fichier risque d'être écrasé, mais la table dans la mémoire risque de ne pas être trouvée.
L'environnement de production n'est pas un jeu d'enfant, et la base de données n'est pas un jeu d'enfant non plus. Vous devez être responsable des données. Les conséquences de l'absence de sauvegarde sont très graves.
De nombreux membres du personnel d'exploitation et de maintenance sont occupés et ne s'occuperont pas du problème une fois celui-ci résolu. Je me souviens que l'année dernière, le site Web d'un client n'a pas pu être ouvert après avoir signalé une erreur dans le code php. , il a été constaté que la session et whos_online étaient endommagés. L'opérateur précédent La dimension a été réparée par réparation, et je l'ai réparée de cette manière. Cependant, après quelques heures, cela s'est reproduit trois ou quatre fois, alors je suis allé sur Google. pour rechercher les raisons des dommages inexplicables causés à la table de la base de données : l'un était un bug myisam et l'autre était un bug mysql. Troisièmement, mysql a été tué pendant le processus d'écriture. En fin de compte, il a été constaté que la mémoire n'était pas suffisante. , ce qui a amené OOM à tuer le processus mysqld et il n'y avait pas de partition d'échange. La mémoire de surveillance en arrière-plan était suffisante, et finalement la mémoire physique a été mise à niveau pour résoudre le problème.
Assurez-vous de vérifier la machine sur laquelle vous vous trouvez avant les opérations importantes et essayez d'éviter d'ouvrir trop de fenêtres.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!