Maison  >  Article  >  Opération et maintenance  >  Comment déployer le service Nginx

Comment déployer le service Nginx

王林
王林avant
2023-05-12 10:13:171462parcourir

1. Introduction à Nginx :

1.1 Qu'est-ce que Nginx ?

Nginx ("engine x") est un logiciel open source qui prend en charge les services www et les services proxy hautes performances et à haute concurrence.

a été développé par le Russe Igor Sysoev et a été utilisé à l'origine sur le grand site Web russe www.rambler.ru.

Nginx présente les caractéristiques d'une concurrence élevée et d'une faible consommation de ressources système.

Nginx peut fonctionner sur des systèmes d'exploitation tels que UNIX, Linux, DSB, Mac OS X, Solaris et Windows.

1.2 Principales fonctionnalités de Nginx

Prise en charge d'une concurrence élevée : peut prendre en charge des dizaines de milliers de connexions simultanées

Faible consommation de ressources : avec 30 000 connexions simultanées, start 10 Chaque thread consomme moins de 200 Mo de mémoire.

Peut effectuer un proxy inverse HTTP et une mise en cache accélérée, c'est-à-dire une fonction d'équilibrage de charge, une fonction de vérification de l'état intégrée pour le serveur de nœud RS

Possède la fonction de mise en cache d'un logiciel de mise en cache professionnel tels que Squid#🎜 🎜#

Supporte le modèle d'événement d'E/S réseau asynchrone

1.3 La principale application fonctionnelle du logiciel Nginx

En tant que logiciel de service Web#🎜 🎜#

Service de proxy inverse et d'équilibrage de charge

Service de mise en cache des données d'entreprise frontales

2.1 Nginx. comme scénario d'application de serveur Web#🎜🎜 #

Utilisez Nginx pour exécuter HTML, JS, CSS, de petites images et d'autres données statiques

Nginx combiné avec FastCGI pour exécuter des programmes dynamiques tels que PHP # 🎜🎜#

Nginx combiné avec Tomcat/Resin et d'autres programmes dynamiques Java de support

2.2 Comment choisir un serveur Web

Au travail, choisissez le service métier approprié logiciel selon vos besoins :

# 🎜🎜#Entreprise statique : Dans les scénarios de forte concurrence, Nginx est préféré 🎜#

Entreprise statique + dynamique : Recommander Nginx

    3 Compilez et installez Nginx
  • Il existe de nombreuses méthodes d'installation, cet article utilise la méthode de compilation et d'installation. Si un déploiement à grande échelle est requis, le package RPM peut être personnalisé en fonction des besoins de l'entreprise, puis installé via Ansible.

  • 3.1 Installer la bibliothèque pcre
  • Afficher la version actuelle du système :

    cat /etc/redhat-release
    uname -r
  • Résultat :
  • CentOS release 6.10 (Final)
    2.6.32-754.el6.x86_64

    Utilisez la méthode yum pour install pcre :

    yum -y install pcre pcre-devel
    rpm -qa pcre pcre-devel
  • Résultat :

pcre-devel-7.8-7.el6.x86_64

pcre-7.8-7.el6.x86_64 #🎜 🎜#

3.2 Installer Nginx

Vérifiez si openssl et openssl-devel sont installés :

rpm -qa openssl openssl-devel

Résultat : Sinon, utilisez yum pour install#🎜 🎜#

openssl-1.0.1e-57.el6.x86_64
openssl-devel-1.0.1e-57.el6.x86_64

Créer le répertoire de stockage du package nginx :

mkdir -p /app/nginx-1.8.1
mkdir -p /server/tools
cd /server/tools/

Télécharger le package logiciel nginx :

Adresse officielle : www.nginx.rog
wget -q http://nginx.org/download/nginx-1.8.1.tar.gz
#🎜 🎜#Créez un utilisateur nginx :

useradd nginx -s /sbin/nologin -M

Décompressez le progiciel et entrez dans le répertoire décompressé :

tar xf nginx-1.8.1.tar.gz
cd nginx-1.8.1
Compile :

Le module compilé peut être passé . /configure -- vue d'aide

./configure --user=nginx --group=nginx --prefix=/app/nginx-1.8.1/ --with-http_stub_status_module --with-http_ssl_module

Installation :

make
make install

Créer un lien logiciel : pratique à utiliser et à mettre à niveau la version

ln -s /app/nginx-1.8.1/ /app/nginx

Test avant le lancement : # 🎜🎜#

/app/nginx/sbin/nginx -t
# 🎜🎜#Result :

nginx : le fichier de configuration /app/nginx-1.8.1//conf/nginx.conf la syntaxe est oknginx : fichier de configuration /app /nginx-1.8.1//conf/nginx.conf Le test est réussi

Démarrez le service Nginx et vérifiez le port :

/app/nginx/sbin/nginx
netstat -utpln | grep 80

Résultat : #🎜 🎜#

# 🎜🎜#tcp 0 0 0.0.0.0:80 0.0.0.0:* 13689/nginx


Vérifiez le résultat du démarrage de Nginx : le contenu suivant signifie le démarrage est réussi

curl 192.168.1.31

Résultat :

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h2>Welcome to nginx!</h2>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/" rel="external nofollow" >nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/" rel="external nofollow" >nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

4. 🎜🎜#
4.1 Répertoire Nginx Description structurelle

tree /app/nginx
/app/nginx
├── client_body_temp
├── conf							#nginx配置文件目录
│   ├── fastcgi.conf				#fastcgi相关参数配置文件
│   ├── fastcgi.conf.default
│   ├── fastcgi_params				#fastcgi参数文件
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types					#媒体类型
│   ├── mime.types.default
│   ├── nginx.conf					#Nginx主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params					#scgi配置文件
│   ├── scgi_params.default
│   ├── uwsgi_params				#uwsgi配置文件
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp					#fastcgi临时数据文件
├── html							#默认站点目录
│   ├── 50x.html					#错误页面显示文件
│   └── index.html					#默认的站点首页文件
├── logs							#默认日志路径
│   ├── access.log					#默认访问日志文件
│   ├── error.log					#默认错误日志文件
│   └── nginx.pid					#Nginx的pid文件
├── proxy_temp						#临时目录
├── sbin							#Nginx命令目录
│   ├── nginx						#启动命令
│   └── nginx.old
├── scgi_temp						#临时目录
└── uwsgi_temp						#临时目录

9 directories, 22 files

4.2 Fichier de configuration principal Nginx

Aller commenter et afficher le fichier de configuration :

egrep -v "#|^$" /app/nginx/conf/nginx.conf.default
#🎜 🎜#Résultat :

worker_processes  1;                            #worker进程数量
events {                                        #事件区块开始
    worker_connections  1024;                    #单worker进程支持的最大连接
}                                                #事件区块结束
http {                                            #HTTP区块开始
    include       mime.types;                    #支持的媒体类型库
    default_type  application/octet-stream;        #默认媒体类型
    sendfile        on;                            #开启高效传输模式
    keepalive_timeout  65;                        #连接超时
    server {                                    #server区块开始
        listen       80;                        #服务端口,默认80
        server_name  localhost;                    #域名主机名
        location / {                            #location区块开始
            root   html;                        #站点根目录
            index  index.html index.htm;        #默认首页文件
        }                                        #location区块结束
        error_page   500 502 503 504  /50x.html;#对应状态码及回应
        location = /50x.html {                    #location开始回应50x.html
            root   html;                        #站点目录为html
        }                                        
    }
}                                                #HTTP区块结束

Remarque : Il peut y avoir plusieurs blocages de serveurs et d'emplacements.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer