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
Nginx est un middleware et un service proxy HTTP open source, performant et fiable.
httpd - Apache
IIS - Microsoft
GWE - Google
tomcat - Sun
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.
La mise en œuvre du multiplexage IO : select, poll, epoll
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.
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.
/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 sontOS
etcentos
.rhel
est la version du système, par exemple,OSRELEASE
et6
représentent respectivement les versions 6.x et 7.x.7
yum install -y nginx
nginx -v
[root~]# nginx -v nginx version: nginx/1.14.0
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'
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
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
|
Ce que fait nginx lors de l'exécution du module correspondant Fichiers temporaires réservés | ||||||||||||||||||||||||||||||||
--user=nginx --group=nginx
| Définir l'utilisateur et le groupe d'utilisateurs pour démarrer le processus 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 | Statut du client Nginx|||||||||||||||||||||||||||||||||
--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 |
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
默认路径 | 类型 | 作用 |
---|---|---|
/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日志目录 |
Chemin par défaut | Type | Fonction |
---|---|---|
/etc/logrotate.d/nginx
| Fichier de configurationRotation 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 | configuration cgi liée, configuration fastcgi|
/etc/nginx/ koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
|
Fichier de configuration | Fichier de conversion de mappage de conversion d'encodage | tr>
/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 |
命令 | 解释 |
---|---|
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 .
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é)
Nginx démarre un nouveau processus de travail et utilise un nouveau fichier de configuration
Nginx alloue de nouvelles requêtes au nouveau processus de travail
Nginx attend le précédent Une fois toutes les demandes du processus de travail renvoyées, fermez le processus de travail concerné
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 :
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!