Une introduction pratique à Linux pour les développeurs Web (transfert)

Du point de vue du développement web, permettez-moi de parler des problèmes rencontrés lors de l'utilisation de Linux, principalement pour le fonctionnement lui-même, car les instructions peuvent être trouvées sur Internet, et je n'entrerai pas dans le principe, mais essayez d'être pratique.

Cognition de base

Pourquoi utiliser Linux

Au début, j'ai utilisé Linux parce que l'application dont j'avais besoin ne fournissait que la version Linux dans le didacticiel, donc je l'ai déployée étape par étape, et je l'ai utilisée naturellement, et j'ai résolu certains problèmes au cours du processus. Au cours de ce processus, j'ai progressivement eu quelques questions : pourquoi utiliser Linux comme serveur au lieu du système Windows plus familier que nous utilisons tous les jours ? Quelle est la différence entre les deux côté serveur ?

1. Opérabilité

A cet égard, il ne fait aucun doute que Windows est meilleur, avec une interface graphique conviviale, et il n'y a pas de grande différence de fonctionnement entre la version Windows Server et la version grand public, la plupart des gens devraient tout de même être plus habitués au style cohérent de Microsoft.

Linux a également une version de distribution avec une interface graphique, mais lorsqu'il est utilisé comme serveur, il perd certains de ses avantages.Le programme shell graphique occupera de précieuses ressources matérielles du serveur, ce qui n'est généralement pas pris en compte.

2. Coût du prix

Objectivement parlant, Linux est open source et gratuit, tandis que Windows Server nécessite une autorisation payante. En fait, dans la plupart des cas, lorsque nous achetons des serveurs cloud, cette partie du coût a déjà été amortie.

Conseils lorsque Tencent Cloud choisit Windows Server :

3. Stabilité

Linux est open source, son code est maintenu et mis à jour par les meilleurs programmeurs du monde, et les bogues sont rapidement corrigés s'ils sont découverts. En ce qui concerne Windows, puisque je n'ai pas beaucoup d'expérience dans l'utilisation de Windows Server, je ne veux pas faire trop de commentaires, mais tout le monde a son mot à dire dans la version pour les utilisateurs ordinaires. Bien que les programmeurs de Microsoft soient très bons, Windows vous poussera encore fréquemment à corriger des bogues, et occasionnellement un écran bleu et un plantage

Linux est complètement ouvert aux utilisateurs, car il suppose que les utilisateurs savent ce qu'ils font. Vous pouvez exploiter tous les fichiers du système d'exploitation, mais Linux ne sera pas responsable de vos opérations, tout comme nous obtenons des autorisations root sur les téléphones Android. Vous avez obtenu les autorisations d'exploitation des fichiers sous-jacents et vous pouvez modifier le système selon vos propres idées, mais de cette façon, le fournisseur de services du téléphone ne fournira plus de service de garantie, car vous avez fait quelque chose au-delà de leurs attentes.

Du côté de Windows, je ne sais pas si tout le monde a vécu la situation d'être invité à ne pas avoir l'autorisation d'opérer ou à se faire dire qu'il n'a pas l'autorisation lorsqu'il veut définir des autorisations. J'ai également rencontré le problème que le propre logiciel de Microsoft n'a pas l'autorisation de lire les fichiers et ne peut pas reconnaître les applications installées. Tout cela à cause du système d'autorisation plus compliqué de Windows.

Pourquoi mettre le système d'autorisation dans la section stabilité, car la stabilité du système sera bien sûr affectée lorsque les utilisateurs pourront modifier librement les autorisations.En fonctionnement Linux, nous pouvons facilement définir 777 autorisations pour les fichiers (l'autorisation la plus élevée, qui sera discutée plus tard), ou ouvrir tous les ports du pare-feu, ce qui augmente sans aucun doute le risque de fonctionnement du système.Par conséquent, nous devons être plus prudents lors de la conception de cette partie de l'opération.

Choisissez une autre distribution

À proprement parler, Linux est un noyau plutôt qu'un système d'exploitation. Il devient un système d'exploitation à l'aide de composants liés au système d'exploitation fournis par différentes distributions. Habituellement, nous l'appellerons simplement un système Linux, mais en fait, en raison de la nature open source, il y aura un grand écart entre les différentes branches. Cette partie implique beaucoup de connaissances professionnelles que je ne comprends pas, et vous pouvez trouver beaucoup d'explications et de comparaisons sur Internet, donc je ne les répéterai pas ici.Ce que je veux expliquer, c'est faire attention aux prérequis lors de la recherche d'instructions et d'informations, et distinguer les fonctionnements des différents systèmes.

Voici une image du tutoriel de la recrue :

En raison des problèmes des fournisseurs de services cloud, CentOS est largement utilisé en Chine, et il s'agit généralement d'une version très facile à utiliser.Cette version est recompilée sur la base du code source libre RHEL, qui appartiennent tous deux à Red Hat. D'autres comme Debian et Ubuntu sont également des systèmes largement utilisés.Chaque distribution est utilisée par la communauté à laquelle elle appartient, et il existe également un grand nombre de versions personnalisées auto-compilées.

Mais il convient de noter que CentOS 8 a arrêté la maintenance le 31 décembre 2021 et Cent OS 7 arrêtera la maintenance le 30 juin 2024. Cela peut devenir un danger caché et doit être pris en considération lors du choix d'une distribution.

Présentation de l'image lors de la sélection d'un système dans Tencent Cloud :

Debian est une distribution Linux stable, pratique et rapide. Elle dispose d'outils de gestion de paquets plus puissants que la plupart des distributions Linux. C'est actuellement l'un des systèmes d'exploitation serveur préférés pour la création de sites Web.

Ubuntu est l'une des distributions Linux les plus populaires. C'est un logiciel libre open source basé sur le système d'exploitation Debian Linux. Sa facilité d'utilisation et sa stabilité sont excellentes, et il dispose de ressources communautaires très solides et matures.

CentOS est une distribution Linux open source populaire qui est une recompilation du code source RHEL (Red Hat Enterprise Linux). (Remarque : la communauté CentOS cessera de maintenir CentOS 7 le 30 juin 2024. Il est recommandé de choisir à la place l'image OpenCloudOS 8 compatible avec CentOS 8.)

opération à distance

Cela dit, il est préférable d'entrer réellement dans le système pour fonctionner.Lorsque vous utilisez le serveur cloud, bien que l'extrémité Web fournisse une console, le fonctionnement et les fonctions ne peuvent pas répondre pleinement à nos besoins de développement quotidiens.Tant qu'il peut prendre en charge le protocole SSH (port par défaut 22), le logiciel peut être utilisé pour se connecter à Linux à distance et prend également en charge le protocole Telnet.Cependant, comme le protocole Telnet lui-même n'est pas sûr, de nombreuses distributions ont fermé cette méthode de connexion.

Il y a beaucoup de choix en termes de logiciels, le plus simple et le plus direct est PuTTY, vous pouvez aussi utiliser SecureCRT, j'utilise beaucoup XShell, vous pouvez demander une version gratuite pour la maison/l'école sur le site officiel, qui peut répondre pleinement aux besoins quotidiens de développement et d' utilisation .

Le logiciel de téléchargement utilise la prise en charge de XFTP, et d'autres peuvent également choisir WinSCP, etc.

Structure du répertoire

Le répertoire de fichiers par défaut est le suivant :

Le dossier pointé par la flèche représente un lien symbolique, qui peut être compris comme un raccourci Windows. En ftp, vous pouvez voir un signe de raccourci dans le coin inférieur gauche de l'icône.

Certains dossiers ou fichiers couramment utilisés peuvent être liés au répertoire externe pour une utilisation quotidienne.

Habituellement, je vais créer un dossier "app" dans le répertoire racine pour stocker notre application Web.

Si un répertoire ou un nom de fichier commence par un point, cela signifie que le répertoire ou le fichier est un répertoire ou un fichier caché. lsAutrement dit, lors de la recherche ( ) par défaut , le répertoire ou le fichier n'est pas affiché. Peut être utilisé ls -apour voir.

Installer le logiciel

installateur de paquets

Sous Windows, il existe généralement deux situations lorsque nous voulons installer un nouveau logiciel. L'une consiste à ouvrir un fichier exe ou un programme d'installation dans d'autres formats, puis il installera le fichier dans le répertoire que nous spécifions. En même temps, il ajoutera également des informations dans le registre ou créera des fichiers de configuration sur le disque système. Il existe de nombreuses situations spécifiques. L'autre consiste à décompresser un package compressé et à l'ouvrir.

C'est similaire sous Linux. D'une part, vous pouvez installer des fichiers via l'outil de gestion de packages, qui placera automatiquement les fichiers dans un répertoire fixe ou le répertoire que vous spécifiez. D'autre part, vous pouvez également télécharger le package compressé, le décompresser, puis l'utiliser en fonction de l'utilisation spécifique du logiciel.

Cependant, même les packages d'installation sont différents sous Linux.Lorsque nous vérifions les informations, nous verrons des fichiers dans différents formats tels que rpm, yum et apt.Ils peuvent tous installer des logiciels, mais il existe des différences.

Article de comparaison tr/min Miam dpkg apte
série Département RedHat Département RedHat système Debian système Debian
la différence installateur de paquets outil de gestion des dépendances installateur de paquets outil de gestion des dépendances

Parmi eux, l'outil d'installation de package est un outil d'installation simple. Si un certain logiciel a besoin d'une bibliothèque dépendante, vous devez l'installer manuellement avant de continuer. Semblable à l'exécution de certains logiciels dans le système Windows, vous devez d'abord installer la bibliothèque dépendante telle que .Net Framework XX, et l'outil de gestion des dépendances est similaire au npm frontal. Il installera automatiquement la bibliothèque dépendante pour vous, qui est ce qu'on appelle l'outil d'installation, de mise à niveau et de désinstallation en un clic.

Dans le tableau ci-dessus, nous pouvons voir que les outils d'installation du système RedHat et du système Debian sont différents, c'est pourquoi j'ai insisté pour distinguer le système de distribution avant d'exécuter la commande. Il n'est pas possible d'exécuter yum dans Debian. Bien que nous puissions installer yum dans Debian, cela viole évidemment l'intention initiale de la conception, car Debian a déjà apt. De plus, il convient de noter que même si la bibliothèque dépendante a la même fonction, le nom du progiciel peut être différent, probablement parce qu'il a été développé par des personnes différentes. Logiciel avec la même fonction. , comme les cinq dépendances requises pour compiler Nginx :

Chemin d'installation par défaut du package RPM :

chemin d'installation signification
/etc/ Répertoire d'installation du fichier de configuration
/usr/bin/ répertoire d'installation de la commande exécutable
/usr/lib/ L'emplacement de stockage de la bibliothèque de fonctions utilisée par le programme
/usr/share/doc/ Emplacement de sauvegarde du manuel du logiciel de base
/usr/share/man/ Où enregistrer les fichiers d'aide

variable d'environnement

De plus, il convient de noter que le fichier d'instructions n'affecte généralement pas le monde entier et que nous devons modifier nous-mêmes les variables d'environnement. Si vous avez installé Java sous Windows, vous pouvez avoir l'impression qu'une fois l'installation terminée, vous ne pouvez pas utiliser les commandes Java directement dans cmd, mais vous ne pouvez les exécuter que dans le répertoire correspondant.Cependant, en définissant des variables d'environnement et en mappant les fichiers de commandes au global, vous pouvez utiliser les commandes Java dans n'importe quel dossier. Le script d'installation fourni par certaines personnes vous aidera à ajouter des instructions globales, et l'opération spécifique doit être considérée par vous-même.

J'ai déjà écrit le processus d'installation de certains logiciels couramment utilisés, vous pouvez vous référer aux deux articles suivants :

Déployez le projet de démarrage Vue+Spring avec une séparation front-end et back-end à partir de zéro sur Linux

Commandes de déploiement Linux frontal et enregistrements de processus

processus démon

Il existe de nombreuses méthodes pour le processus démon, et elles sont toutes faciles à trouver. Je n'ai pas écrit les étapes spécifiques, mais c'est très important pour le développement web, donc je dois le mentionner.

Lorsque j'ai développé l'application pour la première fois, que je l'ai téléchargée sur le serveur (beaucoup d'étapes ont été omises au milieu) et que j'ai commencé à l'utiliser correctement, j'ai pensé que tout allait bien et j'ai éteint l'outil distant, puis j'ai constaté que l'application n'était pas accessible. Après en avoir pris connaissance, j'ai réalisé que je venais de créer une tâche de premier plan, tout comme la fenêtre que vous êtes actuellement ouverte dans le système Windows. Lorsque vous fermez la fenêtre, le programme s'arrête naturellement. Cependant, il existe encore de nombreux programmes qui ne dépendent pas de la fenêtre à exécuter. L'application aussi devient une tâche en arrière-plan, il y a plusieurs façons, vous pouvez vous référer à l'article suivant :

Comment démarrer un démon Linux

autorisations

Nous disons tous que le problème d'autorisation est très important, mais lorsque nous avons recherché des informations sur Internet, nous avons constaté que de nombreuses personnes ne sont pas implacables pour modifier l'autorisation. Ici, nous prenons Nginx pour créer un journal personnalisé comme exemple. La première ligne de la configuration par défaut de Nginx est la suivante :

#user  nobody;

Cela signifie que Nginx est démarré par l'utilisateur personne, donc l'autorité maximale de Nginx est l'autorité de personne. Bien qu'il soit commenté ici, la valeur par défaut est personne, qui peut être trouvée dans le système.

Le fichier journal par défaut de Nginx est /usr/local/nginx/logs/access.logrwxrwxrwx, comme le montre la figure ci-dessous. On peut simplement dire qu'il s'agit d'une autorisation complète. N'importe qui peut lire, écrire ou supprimer. Si nous voulons que Nginx écrive des journaux personnalisés dans ce répertoire, nous obtiendrons une erreur d'absence d'autorisation, car l'utilisateur personne n'a les autorisations de lecture et d'écriture sur ce répertoire  /usr/local/nginx/logs.

J'ai trouvé une solution très courante : si personne n'a les autorisations de lecture et d'écriture, quel utilisateur a les autorisations de lecture et d'écriture ? Root doit exister, j'ai donc changé l'utilisateur Nginx en root. Cette idée semble raisonnable, mais ce type d'opération d'autorisation n'est pas nécessaire. Avec le recul, s'il n'y a pas d'autorisation de lecture et d'écriture pour le répertoire, il suffit de définir l'autorisation de lecture et d'écriture pour l'utilisateur correspondant sur le répertoire.

Revenons maintenant au paramètre d'autorisation. En fait, rwx peut être facilement deviné pour représenter la lecture (représentée par r), l'écriture (représentée par w) et l'exécution (représentée par x, pour les fichiers ou répertoires exécutables).Pourquoi il y en a trois, voir la figure ci-dessous :

Quant à savoir pourquoi la permission 777 a été mentionnée au début, et de nombreux articles vous permettront de l'exécuter  chmod 777, ici :

  • r : signifie lire, le nombre correspondant est 4 ;
  • w : signifie écrire, le nombre correspondant est 2 ;
  • x : indique l'exécution, le nombre correspondant est 1

Grâce à la combinaison de 4, 2, 1, nous pouvons obtenir les autorisations suivantes

  • 0 : aucune autorisation, utilisez - pour indiquer
  • 4 : autorisation de lecture, représentée par w
  • 5 : autorisations de lecture et d'exécution, représentées par rx
  • 6 : autorisations de lecture et d'écriture, représentées par rw
  • 7 : autorisations de lecture, d'écriture et d'exécution, représentées par rwx

Donc 777 signifie la plus haute autorité à ne pas abuser.

Avis

Il reste encore de nombreux points épars qu'il convient de noter qu'ils ne sont pas divisés en chapitres distincts.

capitalisation

Ce point est facile à négliger, mais c'est un casse-tête après avoir rencontré ce problème. Le nom de fichier système Windows auquel nous sommes habitués est insensible à la casse, c'est-à-dire qu'un fichier avec un nom a le même nom qu'un fichier avec un nom. Cependant, il est sensible à la casse sous Linux, ce qui doit faire l'objet d'une attention  a.txt particulière  A.txt .

Ports ouverts (pare-feu)

Nos applications Web exposent souvent certains ports à un accès externe.En plus d'ouvrir les ports requis dans le pare-feu interne du système, les ports correspondants doivent également être ouverts sur la plate-forme du serveur cloud. De plus, n'essayez pas d'éviter les ennuis et de désactiver complètement le pare-feu.

Format d'encodage et format de fin de ligne

  • La nouvelle ligne de Linux, il n'y a qu'un seul caractère de nouvelle ligne (LF) à la fin de chaque ligne  \net la fin \n de est marquée par
  • La nouvelle ligne de Windows, à la fin de chaque ligne se trouve un retour chariot (CR)  \r et un saut de ligne (LF)  \n et, \r\n puisque est identifiée

Par conséquent, il peut y avoir des caractères redondants lorsque les fichiers des deux côtés sont transférés l'un vers l'autre.

sudo

Dans de nombreux articles, il y aura sudodes commandes commençant par , sa fonction est d'élever temporairement l'autorité de la commande, afin qu'elle puisse obtenir la plus haute autorité, ce qui peut améliorer le taux de réussite de certaines commandes, mais si vous êtes déjà un utilisateur root, l'ajouter est inutile sudo.

traitement de texte

Si vous souhaitez éditer directement le texte sous Linux, ce sera plus compliqué que vous ne le pensez, mais vous pourrez le comprendre après quelques opérations supplémentaires.Si les conditions le permettent, j'éditerai le fichier en ftp.

Les instructions d'édition peuvent se référer à ceci

Commandes d'édition de fichiers Linux en détail

Je suppose que tu aimes

Origine blog.csdn.net/wangonik_l/article/details/131705926
conseillé
Classement