Maison >Opération et maintenance >Nginx >Analyse des exemples d'installation de Nginx sous Linux
Utilisez la méthode source binaire du système pour installer
Dans le système ubuntu/debian
sudo apt-get install nginx
ou le système redhat/centos
sudo yum install nginx
Cette méthode est la manière la plus simple et la plus rapide, mais ce n'est pas la meilleure. suivant Parlons de ce problème principal.
Avantages
Toutes les dépendances binaires d'installation ont été prises en charge, pas besoin de s'inquiéter des problèmes de compatibilité, il peut être utilisé immédiatement
Configuration de la connexion Nginx, les autorisations utilisateur n'ont pas besoin d'être traité, nous avons déjà écrit ceci pour vous Bloqué
Ne vous inquiétez pas des problèmes de maintenance et de mise à niveau des bogues nginx, obtenez simplement le dernier système directement
Simple à désinstaller, une seule commande
Journal simple maintenance, tronquer automatiquement le journal de la journée, compresser et enregistrer
Inconvénients
Impossible de choisir la version installée indépendamment
Impossible de choisir les modules compilés indépendamment
Il devient très difficile d'étendre les fonctions et les besoins à recompiler
La structure des catégories est complexe, et le fichier de configuration est dans Sous /etc/, le fichier de déploiement est dans /var/www
Le redémarrage du service et la modification de la configuration nécessitent des autorisations root
Les performances sont légèrement moins bonnes. Compilez et installez
Si vous êtes un novice sous Linux, il est fortement recommandé d'utiliser cette méthode d'installation, pas besoin de considérer les dépendances de compilation, vous pouvez l'utiliser directement après l'installation. Mais si votre serveur est utilisé dans un environnement de production et est en cours de développement et d’amélioration progressive, cette méthode n’est pas recommandée. Des modules tiers pourront être ajoutés à l'avenir, et ils doivent être compilés et installés à ce moment-là (discuté ci-dessous). Lors du redémarrage du serveur, n'utilisez pas l'utilisateur root, mais utilisez sudo pour obtenir brièvement root. Si votre serveur est utilisé pour déployer certains fichiers statiques, principalement pour certains espaces Web, et utilise généralement l'outil FTP pour déployer des fichiers, cette méthode ne pose certainement aucun problème.
Compiler et installer
Je n'écrirai pas sur les avantages et les inconvénients, j'inverse simplement ce qui précède. Pour installer en utilisant cette méthode, vous devez connaître un peu la compilation Linux, et seuls les utilisateurs Linux modérés peuvent la contrôler. J'ai vu que la plupart des tutoriels sur Internet installent les dépendances de compilation directement dans /usr/local/. Cette méthode n'est pas bonne. Si nous souhaitons désinstaller ces dépendances à l’avenir, nous trouverons cela très gênant. Vous ne pouvez pas simplement le supprimer directement sous la catégorie. Certaines distributions Linux écriront les fichiers d'installation dans les fichiers de configuration. Je ne sais pas où trouver ces fichiers de configuration. Si une version dépendante affecte un autre logiciel, comment gérer les problèmes de version. Nous voulions juste installer nginx, mais cela a causé beaucoup de problèmes.
Préparation de l'environnement de compilation
Avant de commencer, assurez-vous que votre Linux est préparé avec gcc, make, wget, g++ et d'autres logiciels.
Créez une catégorie pour stocker les fichiers téléchargés, entrez dans le répertoire pour télécharger les fichiers sources de la bibliothèque dépendants
Téléchargez openssl, qui est principalement utilisé pour le cryptage du module SSL et prend en charge https
wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
Téléchargez pcre pour implémenter les fonctions de redirection d'adresse et de réécriture d'adresse et prise en charge des instructions de localisation et des expressions régulières
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
Téléchargez le module de compression zlib gzip
wget https://zlib.net/zlib-1.2.11.tar.gz
Téléchargez nginx
wget http://nginx.org/download/nginx-1.17.1.tar.gz
Utilisez tar pour décompresser tous les fichiers
ls *.tar.gz | xargs -n1 tar xzvf
Options de compilation
Utilisez ./configure pour définir divers scripts de paramètres nginx , y compris les chemins d'accès aux fichiers source et de configuration, les options du compilateur, les méthodes de gestion des liaisons et les listes de modules. Le script fait cela en créant les makefiles requis pour compiler le code et installer l'open source nginx.
参数 | 描述 |
---|---|
–prefix=98953a78f52873edae60a617ec082494 | nginx安装目录,以及有其他配置脚本选项的路径设置的所有相对路径的基本位置。默认值/usr/local/nginx |
–sbin-path=7988e5ef09cb060996e437e0d2342881/sbin/nginx | |
–conf-path=98953a78f52873edae60a617ec082494 | nginx配置文件的名称。但是,您可以通过在nginx命令行上使用选项指定其他文件来始终在启动时覆盖此值。默认值:aac119f8a3a563a827b4e4c50481b4e7 conf / nginx.conf-c 2334ac29606bf8a170583e4f7533b1f4 |
–pid-path=98953a78f52873edae60a617ec082494 | nginx.pid文件的名称,用于存储nginx主进程的进程id 。安装后,可以使用nginx配置文件中的pid指令更改文件名的路径。默认值:aac119f8a3a563a827b4e4c50481b4e7 /logs/nginx.pid |
–error-log-path=98953a78f52873edae60a617ec082494 | error,warn和诊断数据的日志文件的名称。安装后,可以使用nginx配置文件中的error_log指令更改文件名。默认值:aac119f8a3a563a827b4e4c50481b4e7 /logs/error.log |
–http-log-path=98953a78f52873edae60a617ec082494 | http服务器请求的主日志文件的名称。安装后,始终可以使用nginx配置文件中的access_log指令更改文件名。默认值:aac119f8a3a563a827b4e4c50481b4e7 /logs/access.log |
–user=8a11bc632ea32a57b3e3693c7987c420 | nginx运行进程的拥有者。安装后,可以使用nginx配置文件中的user指令更改名称。默认:nobody |
–group=name | nginx运行进程的拥有者用户组。安装后,可以使用nginx配置文件中的user指令更改名称。默认值:–user选项设置的值 |
–with-pcre=98953a78f52873edae60a617ec082494 | pcre库源代码的路径,这是位置指令和rewrite模块中正则表达式支持所必需的 |
–with-pcre-jit | 使用“即时编译”支持(pcre_jit指令)构建pcre库 |
–with-zlib=98953a78f52873edae60a617ec082494 | zlib库的源代码路径,gzip模块需要该路径 |
–with-http_ssl_modul | 启用https支持 |
–with-http_v2_module | 开启 http/2请求支持 |
还要太多编译参数我就不一一列举,有兴趣的同学可以自己去
参看
编译安装
./configure \ --with-openssl=../openssl-1.0.2s \ --with-pcre=../pcre-8.43 \ --with-zlib=../zlib-1.2.11 \ --with-pcre-jit --user=admin \ --prefix=/home/admin/nginx \ --with-http_ssl_module \ --with-http_v2_module
输出以下信息,说明依赖没问题
configuration summary + using pcre library: ../pcre-8.43 + using openssl library: ../openssl-1.0.2s + using zlib library: ../zlib-1.2.11 nginx path prefix: "/home/admin/nginx" nginx binary file: "/home/admin/nginx/sbin/nginx" nginx modules path: "/home/admin/nginx/modules" nginx configuration prefix: "/home/admin/nginx/conf" nginx configuration file: "/home/admin/nginx/conf/nginx.conf" nginx pid file: "/home/admin/nginx/logs/nginx.pid" nginx error log file: "/home/admin/nginx/logs/error.log" nginx http access log file: "/home/admin/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"
编译
make
安装
make install
设置权限
因为linux设置普通用户,不能占用1024一下的端口,直接启动nginx会出现权限不足的错误。将nginx分配给root用户,在分配特殊权限。
sudo chown root nginx sudo chmod u+s nginx
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!