Maison > Article > Opération et maintenance > Comment créer un proxy inverse pour le serveur Nginx
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
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
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 configuration1 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
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; }3 fichier de configuration du site
upstream.conf upstream bbs.linuxtone.com { server 192.168.1.4:8099; }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; }
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; }#🎜🎜 #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]# 🎜🎜# 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
#🎜. 🎜#Syntaxe
proxy_next_upstream [error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off]#🎜🎜 #
FunctionCette 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
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
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]#🎜🎜 #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!