Maison  >  Article  >  développement back-end  >  Explication détaillée de l'installation et de la configuration de nginx sous Linux

Explication détaillée de l'installation et de la configuration de nginx sous Linux

高洛峰
高洛峰original
2017-02-07 16:52:263753parcourir

1. Installez et configurez nginx sous Linux

Lors de l'installation de nginx pour la première fois, tous les problèmes qui surviennent au cours du processus seront résolus étape par étape.

L'outil utilisé est secureCRT pour se connecter et se connecter au serveur.

Commande 1.1 rz, une boîte de dialogue apparaîtra, sélectionnez le package compressé nginx à télécharger.

#rz

1.2 Décompresser

[root@vw010001135067 ~]# cd /usr/local/
[root@vw010001135067 local]# tar -zvxf nginx-1.10.2.tar.gz

1.3 Entrez dans le dossier nginx et exécutez la commande ./configure

[root@vw010001135067 local]# cd nginx-1.10.2
[root@vw010001135067 nginx-1.10.2]# ./configure

L'erreur est signalée comme suit :

checking for OS
 + Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... not found
 
./configure: error: C compiler cc is not found

Cette erreur se produit. Ensuite, le package gcc n'est pas installé.

1.3.1 Installer gcc

Afficher gcc

[root@vw010001135067 nginx-1.10.2]# whereis gcc
gcc:

Installer gcc

[root@vw010001135067 nginx-1.10.2]# yum -y install gcc

Vérifiez à nouveau après une installation réussie

[root@vw010001135067 nginx-1.10.2]# whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz

gcc est installé.

1.3.2 Continuer l'exécution de ./configure

[root@vw010001135067 nginx-1.10.2]# ./configure
checking for OS
 + Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... found
......
checking for PCRE library ... not found
checking for PCRE library in /usr/local/ ... not found
checking for PCRE library in /usr/include/pcre/ ... not found
checking for PCRE library in /usr/pkg/ ... not found
checking for PCRE library in /opt/local/ ... not found
 
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

L'erreur ci-dessus se produit. Installez pcre-devel

[root@vw010001135067 nginx-1.10.2]# yum install pcre-devel

1.3.3 et exécutez à nouveau./configure

error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.

S'il y a cette erreur, exécutez

yum install zlib-devel

1.3.4 Aucune erreur n'est signalée après l'exécution de ./configure

[root@vw010001135067 nginx-1.10.2]# ./configure
checking for OS
 + Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
.......
Configuration summary
 + using system PCRE library
 + OpenSSL library is not used
 + md5: using system crypto library
 + sha1: using system crypto library
 + using system zlib library
 
 nginx path prefix: "/usr/local/nginx"
 nginx binary file: "/usr/local/nginx/sbin/nginx"
 nginx modules path: "/usr/local/nginx/modules"
 nginx configuration prefix: "/usr/local/nginx/conf"
 nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
 nginx pid file: "/usr/local/nginx/logs/nginx.pid"
 nginx error log file: "/usr/local/nginx/logs/error.log"
 nginx http access log file: "/usr/local/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"

1.4 Si vous souhaitez utiliser la fonction openssl , fonction sha1. Ensuite, installez openssl, sha1

[root@vw010001135067 nginx-1.10.2]# yum install openssl openssl-devel
[root@vw010001135067 nginx-1.10.2]# install perl-Digest-SHA1.x86_64

1.4.1 Activer l'exécution du module SSL./configure –with-http_ssl_module

[root@vw010001135067 nginx-1.10.2]# ./configure --with-http_ssl_module

1.4 .2 Activez la page "État du serveur" et exécutez ./configure –with-http_stub_status_module

[root@vw010001135067 nginx-1.10.2]# ./configure --with-http_stub_status_module

Les deux commandes ci-dessus peuvent être démarrées en même temps

[root@vw010001135067 nginx-1.10.2]# ./configure --with-http_stub_status_module --with-http_ssl_module

1.5 La configuration ci-dessus a réussi

Exécutez la commande make, exécutez la commande make install

[root@vw010001135067 nginx-1.10.2]# make
[root@vw010001135067 nginx-1.10.2]# make install

À ce stade, l'exécution de nginx a réussi

1.6 Configurer les variables d'environnement

Ajouter la configuration à /etc/profile

Ouvrir le fichier de configuration

[root@vw010001135067 nginx-1.10.2]# vi /etc/profile

Ajouter

#nginx configure
export NGINX_HOME=/usr/local/nginx-1.10.2
export PATH=$PATH:$NGINX_HOME/sbin

J'ai commencé à le remplir comme ci-dessus, mais il n'a pas pu être trouvé lors de l'utilisation de nginx -v. J'ai remarqué que l'adresse de ma configuration nginx_home ci-dessus est fausse. Trouvez d'abord l'adresse d'installation de nginx

[root@vw010001135067 nginx-1.10.2]# whereis nginx
nginx: /usr/local/nginx

L'adresse est vraiment fausse, remplacez ce qui précède par

#nginx configure
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

Compilez, enregistrez, quittez et exécutez

[root@vw010001135067 nginx-1.10.2]# source /etc/profile


pour rendre la configuration efficace.

1.7 Voir la version nginx

[root@vw010001135067 nginx]# nginx -v
nginx version: nginx/1.10.2

L'ensemble du processus a été réussi !

2. Modifiez nginx.conf

2.1 Démarrez nginx

Mon service nginx est sur http://10.1.135.67/ Une fois la configuration réussie, démarrez nginx maintenant.

[root@vw010001135067 nginx]# cd /usr/local/nginx
[root@vw010001135067 nginx]# nginx -c conf/nginx.conf

Démarrez avec succès, ouvrez http://10.1.135.67/ dans le navigateur, le numéro de port par défaut est 80.

Explication détaillée de linstallation et de la configuration de nginx sous Linux

Comme la figure ci-dessus, nginx fonctionne déjà normalement.

2.2 Configurer le service Tomcat

Maintenant, mon service Tomcat est au 10.1.29.15 et doit être transféré via nginx. Ouvrez ensuite nginx.conf et modifiez le fichier de configuration. Comme suit, ajoutez :

#user nobody;
worker_processes 1;
 
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
 
#pid  logs/nginx.pid;
 
 
events {
 worker_connections 1024;#最大连接数,默认为512
 accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
 multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off
 #use epoll;  #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport 
}
 
 
http {
 #文件扩展名与文件类型映射表
 include  mime.types;
 
 #默认文件类型,默认为text/plain 
 default_type application/octet-stream;
 
 #自定义格式
 log_format main &#39;$remote_addr - $remote_user [$time_local] "$request" &#39;
      &#39;$status $body_bytes_sent "$http_referer" &#39;
      &#39;"$http_user_agent" "$http_x_forwarded_for"&#39;; 
 
 #combined为日志格式的默认值
 access_log logs/access.log main;
 
 #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块
 sendfile  on;
 sendfile_max_chunk 100k; #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
 
 #tcp_nopush  on;
 
 #连接超时时间,默认为75s,可以在http,server,location块。
 keepalive_timeout 65;
 
 #gzip on;
 
 upstream upload {
  server 10.1.29.15:8080;
 }
 
 error_page 404 https://www.baidu.com; #错误页
 
 server {
  keepalive_requests 120; #单连接请求上限次数。
  listen  80; #监听端口
  server_name localhost; #监听地址 
 
  #charset koi8-r;
 
  #access_log logs/host.access.log main;
 
  location ~ ^.*?/upload/[^/]*?$ {
   proxy_connect_timeout 15;
   proxy_send_timeout 15;
   proxy_read_timeout 15;
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header Connection "";
   proxy_pass http://upload; #请求转向upload 定义的服务器列表
   client_max_body_size 1024m;
} 
 }
}
Après la configuration, enregistrez le fichier de configuration et redémarrez nginx

[root@vw010001135067 nginx]# nginx -s reload

Si l'appel du projet de téléchargement dans le navigateur a réussi

Explication détaillée de linstallation et de la configuration de nginx sous Linux

Comme le montre la figure, le projet est accessible correctement et la configuration est réussie !

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. J'espère également que tout le monde soutiendra le site Web PHP chinois.

Pour des articles plus détaillés sur l'installation et la configuration de nginx sous Linux, veuillez faire attention au site Web PHP 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