Maison > Opération et maintenance > Nginx > le corps du texte

Comment créer un proxy inverse pour le serveur Nginx

WBOY
Libérer: 2023-05-15 08:40:05
avant
1624 Les gens l'ont consulté

Partie 1 : Installation #2 Installez pcre pour que le proxy inverse nginx prenne en charge la réécriture pour les besoins futurs

  /usr/sbin/groupadd www 
  /usr/sbin/useradd -g www www
Copier après la connexion
3 Installez le proxy inverse nginx

  wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.8.tar.gz 
  tar zxvf pcre-7.8.tar.gz 
  cd pcre-7.8/ 
  ./configure 
  make && make install
Copier après la connexion

Notez le --with ci-dessus -cc-opt='-o2' --with-cpu-opt=opteron Il s'agit d'une optimisation du compilateur Actuellement, l'option la plus couramment utilisée est -02 au lieu de 3. Ce qui suit correspond au modèle de processeur.

Partie 2 : Configuration et optimisation Fichier de configuration

1 Fichier de configuration nginx.conf :

#🎜 🎜 #

  wget http://sysoev.ru/nginx/nginx-0.7.58.tar.gz 
  tar zxvf nginx-0.7.58.tar.gz 
  cd nginx-0.7.58/ 
  ./configure --user=www --group=www --prefix=/usr/
  local/webserver/nginx --with-http_stub_status_module 
  --with-http_ssl_module --with-cc-opt='-o2' --with-cpu-opt
  =opteron 
  make && make install
Copier après la connexion

2 fichier de configuration en amont.conf (c'est aussi la méthode de configuration pour charger

  user www www; 
  worker_processes 4; 
  # [ debug | info | notice | warn | error | crit ] 
  error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; 
  pid /usr/local/webserver/nginx/nginx.pid; 
  #specifies the value for maximum file descriptors that 
  can be opened by this process. 
  worker_rlimit_nofile 51200; 
  events 
  { 
  use epoll; 
  worker_connections 51200; 
  } 
  http 
  { 
  include mime.types; 
  default_type application/octet-stream; 
  source_charset gb2312; 
  server_names_hash_bucket_size 256; 
  client_header_buffer_size 256k; 
  large_client_header_buffers 4 256k; 
  #size limits 
  client_max_body_size 50m; 
  client_body_buffer_size 256k; 
  client_header_timeout 3m; 
  client_body_timeout 3m; 
  send_timeout 3m; 
  #参数都有所调整.目的是解决代理过程中出现的一些502 499错误  
  sendfile on; 
  tcp_nopush on; 
  keepalive_timeout 120; #参数加大,以解决做代理时502错误 
  tcp_nodelay on; 
  include vhosts/upstream.conf; 
  include vhosts/bbs.linuxtone.conf;  
  }
Copier après la connexion
3 fichier de configuration du site

  upstream.conf 
  upstream bbs.linuxtone.com { 
  server 192.168.1.4:8099; 
  }
Copier après la connexion
Les paramètres ont été ajustés. Le but est de résoudre quelque 502 499 erreurs survenues lors du processus de proxy
  bbs.linuxtone.conf 
  server 
  { 
  listen 80; 
  server_name bbs.linuxtone.conf; 
  charset gb2312; 
  index index.html index.htm; 
  root /date/wwwroot/linuxtone/; 
  location ~ ^/nginxstatus/ { 
  stub_status on; 
  access_log off; 
  } 
  location / { 
  root /date/wwwroot/linuxtone/; 
  proxy_redirect off ; 
  proxy_set_header host $host; 
  proxy_set_header x-real-ip $remote_addr; 
  proxy_set_header remote-host $remote_addr; 
  proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; 
  client_max_body_size 50m; 
  client_body_buffer_size 256k; 
  proxy_connect_timeout 30; 
  proxy_send_timeout 30; 
  proxy_read_timeout 60; 
  proxy_buffer_size 256k; 
  proxy_buffers 4 256k; 
  proxy_busy_buffers_size 256k; 
  proxy_temp_file_write_size 256k; 
  proxy_next_upstream error timeout invalid_header http_500 
  http_503 http_404; 
  proxy_max_temp_file_size 128m; 
  proxy_pass http://bbs.linuxtone.com; 
  }
Copier après la connexion

Commandes communes# 🎜🎜# Jetons un coup d'œil à quelques instructions courantes pour le proxy inverse nginx

proxy_pass commandSyntax

  #add expires header for static content 
  location ~* \.(jpg|jpeg|gif|png|swf)$ { 
  if (-f $request_filename) { 
  root /date/wwwroot/linuxtone/; 
  expires 1d; 
  break; 
  } 
  } 
  log_format access '$remote_addr - $remote_user [$time_local] "$request" ' 
  '$status $body_bytes_sent "$http_referer" ' 
  '"$http_user_agent" $http_x_forwarded_for'; 
  access_log /exp/nginxlogs/bbs.linuxtone_access.log access; 
  }
Copier après la connexion
#🎜🎜 #Fonction#🎜 🎜#Cette directive est utilisée pour définir le port ou le socket du serveur proxy et l'url

proxy_redirect directive
Syntax

  proxy_pass  [url | upstream]
Copier après la connexion
# 🎜🎜# Fonction

Cette commande est utilisée pour modifier "l'emplacement" et le "rafraîchir" dans l'en-tête de réponse du serveur proxySupplémentaire :
Je ne maîtrise pas le fonctionnement de cette commande , et tout est désactivé dans les paramètres actuels. Oui, si vous en savez quelque chose, merci de laisser un message sur le blog pour me guider

proxy_next_upstream command

#🎜. 🎜#Syntaxe

Copier le code Le code est le suivant :

proxy_next_upstream [error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off]#🎜🎜 #
Function
Cette commande est utilisée pour définir quand Dans le pool de serveurs proxy d'équilibrage de charge en amont, si un serveur du backend est inaccessible ou renvoie un code de réponse d'erreur spécifié, vous pouvez utiliser cette directive pour transférer le requête au serveur suivant du pool

Description du paramètre


erreur : Si une erreur se produit lors de la connexion au serveur, lors de l'envoi d'une requête, ou lors de la lecture du message de réponse
timeout : Si lors de la connexion au serveur, lors de la transmission d'une requête, Timeout lors de la lecture du message de réponse du serveur backend
invalid_header : Le serveur backend renvoie une réponse vide ou incorrecte

http_[500|502|503|504 |404] : Le serveur backend renvoie la réponse spécifiée. Code d'état

désactivé : interdire le transfert de la requête vers le prochain serveur backend
proxy_set_header command

Syntaxe

  proxy_redirect  [off | default | redirect replacement]
Copier après la connexion
#🎜🎜 #Fonction

Cette directive permet de redéfinir ou d'ajouter des lignes d'en-tête aux informations de requête transmises au serveur proxy. Sa valeur peut être du texte, une variable ou une combinaison de texte et de variables#. 🎜🎜#

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!