Loading... ## Nginx <div class="tip inlineBlock warning"> **理论教学** </div> > 配置`Nginx`的反向代理,项目上有多台服务器`80`端口等都被占用了,`tomcat`启动不起来,都需要一台`Nginx`代理出去。使用`Nginx+Tomcat`实现此项目的反向代理,至于`Nginx,tomcat`如何搭建百度一大把。请自己百度下。此案例是在一台服务器上面实现,一台虚拟机安装了两个`tomcat`使用不同的端口。 ## 虚拟机环境 - 服务器ip:192.168.161.189 - Nginx端口:80 - Tomcat1端口:8070 - Tomcat2端口:8080 一台服务器安装了两个`Tomcat`使用不同端口实现代理 <div class="tip inlineBlock warning"> 测试搭建的nginx是否正常访问 </div>  <div class="tip inlineBlock warning"> 测试一下搭建的tomcat </div>  ## 配置反向代理 **1**、编辑配置文件`vim Nginx.conf` 在`server`段里面的`location`加上`proxy_pass http://ip:端口` 、添加完成后保存,并重启`nginx` 重启命令`/etc/init.d/nginx -s reload `  **2**、使用浏览器进行访问代理的地址,不加端口,简单的反向代理已经完成  ## 配置多个代理 编辑`vim Nginx.conf` 配置多个反向代理实现方式,是通过不同的端口代理访问。复制一个`server`段,将两个`server`段`nginx`的端口更改,使用`nginx`的不同端口访问。 <div class="tip inlineBlock warning"> 第一个server段配置tomcat1(192.168.161.189:8070) </div>  <div class="tip inlineBlock warning"> 第二个server段配置(192.168.161.189:8080) </div>  配置完成后,重启`nginx` **1**、先访问`nginx`代理的第一个`tomcat1`  **2**、访问`nginx`代理的第二个`tomcat2`  以上就是通过`nginx`的不同端口代理多个地址,若还要代理更多通过`nginx`的不同端口,增加`server`段就行。 <div class="tip inlineBlock warning"> **实践配置** </div> **这是我在本地代理了7个tomcat项目的nginx.conf配置** ### nginx.conf全部内容 ``` #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; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80 default_server; listen [::]:80 default_server; server_name jotyy.top; #第一个项目,本地8080端口 location /qyznsb { proxy_pass http://127.0.0.1:8080; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第二个项目,本地8081端口 location /qyjxkh { proxy_pass http://127.0.0.1:8081; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第三个项目,本地8082端口 location /qyjxkh { proxy_pass http://127.0.0.1:8082; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第四个项目,局域网其他服务器8080端口 location /qyzwdt { proxy_pass http://10.27.82.231:8080; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第五个项目,局域网其他服务器8082端口 location /qyzwfw { proxy_pass http://10.27.82.231:8082; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第六个项目,局域网其他服务器8083端口 location /qyxnpg { proxy_pass http://10.27.82.231:8083; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第七个项目,局域网其他服务器8084端口 location /oa { proxy_pass http://10.27.82.231:8084; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} ``` ### server端配置内容 ``` server { listen 80 default_server; listen [::]:80 default_server; server_name jotyy.top; #第一个项目,本地8080端口 location /qyznsb { proxy_pass http://127.0.0.1:8080; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第二个项目,本地8081端口 location /qyjxkh { proxy_pass http://127.0.0.1:8081; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第三个项目,本地8082端口 location /qyjxkh { proxy_pass http://127.0.0.1:8082; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第四个项目,局域网其他服务器8080端口 location /qyzwdt { proxy_pass http://10.27.82.231:8080; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第五个项目,局域网其他服务器8082端口 location /qyzwfw { proxy_pass http://10.27.82.231:8082; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第六个项目,局域网其他服务器8083端口 location /qyxnpg { proxy_pass http://10.27.82.231:8083; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #第七个项目,局域网其他服务器8084端口 location /oa { proxy_pass http://10.27.82.231:8084; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } #error_page 404 /404.html; ``` Last modification:December 24th, 2020 at 02:32 pm © 禁止转载 Support 如果你想请我喝奶茶的话 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat
经验+15 金币+15
学习了
好无聊,我看了300遍就关了(。•ˇ‸ˇ•。)૭