Maison  >  Article  >  développement back-end  >  Installez rapidement Nginx et configurez ses paramètres de base

Installez rapidement Nginx et configurez ses paramètres de base

不言
不言original
2018-07-11 14:34:271818parcourir

Cet article présente principalement la configuration de la configuration rapide de Nginx et ses paramètres de base. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

La configuration rapide de Nginx et. Paramètres de base Paramètres

1. Introduction à Nginx

1 Brève description de Nginx

Nginx est un middleware et un service proxy HTTP open source, performant et fiable.

2. Services HTTP communs

  • httpd - Apache

  • IIS - Microsoft

  • GWE - Google

  • tomcat - Sun

2 Pourquoi choisir Nginx

1. Multiplexage epoll

Qu'est-ce que le multiplexage d'E/S

Les opérations d'E/S de plusieurs descripteurs peuvent être effectuées simultanément et séquentiellement dans un seul thread. C'est ce qu'on appelle le multiplexage d'E/S. « multiplexage » fait ici référence à la réutilisation du même thread.

Qu'est-ce qu'epoll

La mise en œuvre du multiplexage IO : select, poll, epoll
select

Principe de base :
Les descripteurs de fichiers surveillés par la fonction select sont divisés en trois catégories, à savoir writefds, readfds et exceptfds. Après l'appel, la fonction select se bloquera jusqu'à ce qu'un descripteur soit prêt (les données sont lisibles, inscriptibles ou sauf), ou qu'il expire (le délai d'attente spécifie le temps d'attente, et il peut être défini sur null s'il revient immédiatement), et le la fonction revient. Lorsque la fonction select revient, vous pouvez trouver le descripteur prêt en parcourant fdset.

sélectionnez Inconvénients :
1 Il existe une limite maximale sur le nombre de descripteurs de fichiers qui peuvent être surveillés.
2. Le balayage linéaire est inefficace.

epoll

Principe de base :
epoll prend en charge le déclenchement horizontal et le déclenchement par front. La plus grande fonctionnalité est le déclenchement par front, qui indique uniquement le déclenchement par front. processus Quel fd vient d'être prêt et ne sera notifié qu'une seule fois. Une autre fonctionnalité est qu'epoll utilise la méthode de notification de préparation "événement" pour enregistrer le fd via epoll_ctl. Une fois le fd prêt, le noyau utilisera un mécanisme de rappel de type rappel pour activer le fd, et epoll_wait pourra recevoir la notification.

Avantages d'epoll :
1 Il n'y a pas de limite sur le nombre maximum de connexions simultanées, et la limite supérieure de FD pouvant être ouverts est bien supérieure à 1024 (1 Go de mémoire. peut surveiller environ 100 000 ports).
2. L'efficacité est améliorée, ce n'est pas une méthode d'interrogation et l'efficacité ne diminuera pas à mesure que le nombre de FD augmente.
3. Copie de mémoire, utilisez la mémoire de mappage de fichiers mmap() pour accélérer le passage des messages avec l'espace du noyau ; c'est-à-dire qu'epoll utilise mmap pour réduire la surcharge de copie.

2. Léger

Peu de modules fonctionnels

Modularité du code

3. 🎜>

L'affinité CPU est un moyen de lier le cœur du processeur au processus de travail Nginx, en fixant chaque processus de travail pour qu'il s'exécute sur un seul processeur et en réduisant les échecs de cache du processeur, pour de meilleures performances.

4. sendfile

3. Configuration rapide et paramètres de base de Nginx (CentOS7)

1. Installation avec yum [Référence]

Créer fichier et entrez le contenu suivant /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1
Les valeurs facultatives sont OS et centos. rhel
est la version du système, par exemple, OSRELEASE et 6 représentent respectivement les versions 6.x et 7.x. 7

Exécuter Installer nginxyum install -y nginx

Exécuter Vérifier la version de nginxnginx -v

[root~]# nginx -v
nginx version: nginx/1.14.0
2. Compiler les paramètres Explication détaillée

Afficher les paramètres de compilation lors de l'installation de nginx

nginx -V
[root~]# nginx -V
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled

configure arguments: 
--prefix=/etc/nginx 
--sbin-path=/usr/sbin/nginx 
--modules-path=/usr/lib64/nginx/modules 
--conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log 
--pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp 
--user=nginx 
--group=nginx 
--with-compat 
--with-file-aio 
--with-threads 
--with-http_addition_module 
--with-http_auth_request_module 
--with-http_dav_module 
--with-http_flv_module 
--with-http_gunzip_module 
--with-http_gzip_static_module 
--with-http_mp4_module 
--with-http_random_index_module 
--with-http_realip_module 
--with-http_secure_link_module 
--with-http_slice_module 
--with-http_ssl_module 
--with-http_stub_status_module 
--with-http_sub_module 
--with-http_v2_module 
--with-mail 
--with-mail_ssl_module 
--with-stream 
--with-stream_realip_module 
--with-stream_ssl_module 
--with-stream_ssl_preread_module 
--with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' 
--with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'

Explication détaillée des paramètres d'installation et de compilation [Référence]

<.>Définir l'utilisateur et le groupe d'utilisateurs pour démarrer le processus NginxStatut du client Nginx
Option de compilation Fonction
- -prefix=/etc/nginx Répertoire des fichiers de configuration
--sbin-path=/ usr/sbin/nginx Nom et répertoire du fichier exécutable
--modules-path=/usr/lib64/nginx /modules Répertoire d'installation du module dynamique nginx
--conf-path=/etc/nginx/nginx.conf Le nom et le répertoire du fichier de configuration principal
--error-log-path=/var/log/ nginx/error.log Nom et répertoire du fichier journal d'erreurs global
--http-log-path=/var /log/nginx /access.log Le nom et le répertoire du fichier journal des requêtes principal du serveur HTTP
--pid-path= /var/run/nginx.pid Le répertoire où se trouve nginx.pid Il s'agit du fichier ID de processus qui stocke le processus principal
--lock-path=/var/run/nginx.lock Le répertoire où se trouve nginx.lock
-- http-client-body-temp-path=/var/cache/nginx/client_temp--http-proxy-temp- path=/var/cache/nginx/proxy_temp
编译选项 作用
--prefix=/etc/nginx 配置文件目录
--sbin-path=/usr/sbin/nginx 可执行文件名称和所在目录
--modules-path=/usr/lib64/nginx/modules nginx动态模块的安装目录
--conf-path=/etc/nginx/nginx.conf 主配置文件名称和所在目录
--error-log-path=/var/log/nginx/error.log 全局错误日志文件名称和所在目录
--http-log-path=/var/log/nginx/access.log HTTP服务器的主请求日志文件的名称和所在目录
--pid-path=/var/run/nginx.pid nginx.pid所在目录,这是储存主进程的进程ID文件
--lock-path=/var/run/nginx.lock nginx.lock所在目录
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp
执行对应模块时nginx所保留的临时文件
--user=nginx
--group=nginx
设定Nginx进程启动的用户和用户组
--with-http_random_index_module 目录中随机选择一个随机主页
--with-http_stub_status_module Nginx客户端状态
--with-http_sub_module HTTP内容替换
--with-cc-opt=<parameters> 设置额外的参数将被添加到CFLAGS变量
--with-ld-opt=<parameters> 设置附加参数,链接系统库
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp

-- http-uwsgi-temp-path=/var/cache/nginx /uwsgi_temp

--http-scgi-temp-path=/var/cache/nginx/scgi_temp

Ce que fait nginx lors de l'exécution du module correspondant Fichiers temporaires réservés
--user=nginx--group=nginx
--with-http_random_index_module Sélectionnez-en un au hasard dans le répertoire Page d'accueil aléatoire
--with-http_stub_status_module
--with-http_sub_module Remplacement du contenu HTTP
--with-cc-opt= <parameters> La définition de paramètres supplémentaires sera ajoutée à la variable CFLAGS
--with-ld-opt= <parameters> Définir des paramètres supplémentaires et lier les bibliothèques système
3. Explication détaillée du répertoire d'installation
rpm -ql nginx
[root~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/win-utf
/etc/nginx/mime.types
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx
/usr/lib64/nginx/modules
/etc/nginx/modules
/usr/sbin/nginx
/usr/sbin/nginx-debug
/usr/share/doc/nginx-1.14.0
/usr/share/doc/nginx-1.14.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx
/usr/libexec/initscripts/legacy-actions/nginx
/usr/libexec/initscripts/legacy-actions/nginx/check-reload
/usr/libexec/initscripts/legacy-actions/nginx/upgrade
Afficher l'emplacement d'installation de tous les fichiers nginx
默认路径 类型 作用
/etc/logrotate.d/nginx 配置文件 Nginx日志轮转,用于logrotate服务的日志切割
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
目录、配置文件 nginx主配置文件
/etc/nginx/fastcgi_params
/etc/nginx/uwsig_params
/etc/nginx/scgi_params
配置文件 cgi配置相关,fastcgi配置
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/win-utf
配置文件 编码转换映射转化文件
/etc/nginx/mime.types 配置文件 设置http协议的Content-Type与扩展名对应关系
/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
配置文件 用于配置出系统守护进程管理器管理方式
/usr/lib64/nginx/modules
/etc/nginx/mudules
目录 Nginx模块目录
/usr/sbin/nginx
/usr/sbin/nginx-debug
命令 Nginx服务的启动管理的终端命令
/usr/share/doc/nginx-1.14.0
/usr/share/doc/nginx-1.14.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
文件、目录 Nginx手册和帮助文件
/var/cache/nginx 目录 Nginx缓存目录
/var/log/nginx 目录 Nginx日志目录
Fichier de configurationconfiguration cgi liée, configuration fastcgi tr>
Chemin par défaut Type Fonction
/etc/logrotate.d/nginx Rotation du journal Nginx, utilisé pour la coupe du journal du service logrotate
/etc/nginx /etc/nginx/nginx.conf/etc/nginx/conf.d<code>/etc/nginx/conf.d/default.conf Répertoire, fichier de configuration fichier de configuration principal nginx
/etc/nginx/fastcgi_params /etc/nginx/uwsig_params/etc/nginx /scgi_params Fichier de configuration
/etc/nginx/ koi-utf/etc/nginx/koi-win/etc/nginx/win-utf Fichier de configuration Fichier de conversion de mappage de conversion d'encodage
/etc/nginx/mime.types Fichier de configuration Définissez le Content-Type du protocole http pour qu'il corresponde à l'extension Relation
/usr/lib/systemd/system/ nginx-debug.service/usr/lib/systemd/system /nginx.service/etc/sysconfig/nginx /etc/sysconfig/nginx-debug Fichier de configuration est utilisé pour configurer la méthode de gestion du gestionnaire de démons système
/usr/lib64/nginx/modules/etc/nginx/mudules Répertoire Répertoire du module Nginx
/ usr/sbin/nginx/usr/sbin/nginx-debug Commande Commande de terminal pour la gestion du démarrage du service Nginx
/usr/share/doc/nginx-1.14. 0/usr/share/doc/nginx-1.14.0/COPYRIGHT/usr/share/man/man8/nginx.8.gz Fichier, répertoire Manuel Nginx et fichiers d'aide
/var/cache/nginx code> Répertoire Répertoire de cache Nginx td>
/var/log/nginx Répertoire Répertoire des journaux Nginx

4. Commandes Nginx courantes

命令 解释
nginx [-c <配置文件>] 以指定的配置文件启动nginx
nginx -s quit 正常停止nginx,Nginx在退出前完成已经接受的连接请求。
nginx -s stop 快速停止nginx,不管有没有正在处理的请求。
nginx -s reload [-c <配置文件>] 重载配置文件
nginx -s reopen 重新打开日志文件
nginx -v 查看版本
nginx -V 查看安装时的编译参数
nginx -t [-c <配置文件>] 检查配置文件语法是否正确

nginx -s  reload La commande charge le fichier de configuration modifié Une fois la commande émise, les événements suivants se produisent

.
  1. Le processus maître de Nginx vérifie l'exactitude du fichier de configuration. S'il est erroné, un message d'erreur est renvoyé et nginx continue d'utiliser le fichier de configuration d'origine pour fonctionner (car le travailleur n'est pas affecté)

  2. Nginx démarre un nouveau processus de travail et utilise un nouveau fichier de configuration

  3. Nginx alloue de nouvelles requêtes au nouveau processus de travail

  4. Nginx attend le précédent Une fois toutes les demandes du processus de travail renvoyées, fermez le processus de travail concerné

  5. Répétez le processus ci-dessus jusqu'à ce que tous les anciens processus de travail sont fermés

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois. !

Recommandations associées :

Planificateur de chargement Nginx + double partage de charge et de session Tomcat + base de données backend MySQL

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn