日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Nginx >内容正文

Nginx

Nginx反向代理实践

發(fā)布時(shí)間:2023/12/20 Nginx 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx反向代理实践 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

##前言 上一篇解釋了Nginx的反向代理模塊的用法,本篇主要以實(shí)踐為主。本次演示并為實(shí)現(xiàn)Nginx高可用。僅以演示Nginx反向代理為準(zhǔn)。

##實(shí)驗(yàn)環(huán)境: 三臺(tái)服務(wù)器一臺(tái)服務(wù)器作為前端反向代理,剩下兩臺(tái)服務(wù)器為tomcat服務(wù)器。

  • 角色 服務(wù)器IP地址 域名 OS版本
  • 前端Nginx反向代理 192.168.1.141 CentOS7.2
  • 后端tomcat服務(wù)器 192.168.1.142 www.a.com CentOS7.2
  • CentOS7.2 192.168.1.143 www.b.net CentOS7.2

##拓?fù)鋱D ##1、配置Nginx官方Y(jié)UM源

前端Nginx服務(wù)器配置,本次演示使用yum去安裝,如果需要源碼編譯安裝請(qǐng)參照之前發(fā)的Nginx安裝。

[root@Bj-1-141 ~]# cd /etc/yum.repos.d/ [root@Bj-1-141 yum.repos.d]# vim nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1

##2、安裝nginx-1.8.1版本

前端nginx服務(wù)器安裝

[root@Bj-1-141 ~]# yum -y install nginx-1.8.1

##3、配置nginx反向代理

###(1) 修改主配置文件

[root@Bj-1-141 ~]# cd /etc/nginx/ [root@Bj-1-141 nginx]# vim nginx.conf user nginx; worker_processes 4; worker_rlimit_nofile 65535; worker_cpu_affinity 0001 0010 0100 1000;error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;events {worker_connections 10240; }http {include /etc/nginx/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 /var/log/nginx/access.log main;sendfile on;tcp_nodelay on;#tcp_nopush on;keepalive_timeout 30;gzip on;gzip_comp_level 6;gzip_http_version 1.0;gzip_disable msie6;gzip_min_length 1k;gzip_types text/plain text/css text/xml application/x-javascript application/xml application/json;# 定義a.com域名的緩存目錄,緩存zone為acacheproxy_cache_path /var/cache/nginx/a.com levels=2:1 keys_zone=acache:10m max_size=1g;# 定義b.net域名的緩存目錄,緩存zone為bcacheproxy_cache_path /var/cache/nginx/b.net levels=2:1 keys_zone=bcache:10m max_size=1g;include /etc/nginx/conf.d/*.conf; }

###(2) 添加虛擬主機(jī)配置

[root@Bj-1-141 nginx]# cd conf.d/ [root@Bj-1-141 conf.d]# vim www.a.com.conf upstream www_a {server 192.168.1.142:8080 weight=1 max_fails=3; }server {listen 80;server_name www.a.com;index index.html index.htm index.jsp;access_log /data/logs/www.a.com/access.log main;location / {proxy_pass http://www_a;proxy_cache acache;proxy_cache_key $request_uri;proxy_cache_valid 200 301 302 1m;proxy_cache_valid 404 1m;proxy_set_header Host $host;proxy_set_header X-Forward-For $remote_addr;proxy_read_timeout 60s;add_header X-Cache $upstream_cache_status;} }[root@Bj-1-141 conf.d]# vim www.b.net.conf upstream www_b {server 192.168.1.143:8080 weight=1 max_fails=3; }server {listen 80;server_name www.b.net;index index.html index.htm index.jsp;access_log /data/logs/www.b.net/access.log main;location / {proxy_pass http://www_b;proxy_cache bcache;proxy_cache_key $request_uri;proxy_cache_valid 200 301 302 1m;proxy_cache_valid 404 1m;proxy_set_header Host $host;proxy_set_header X-Forward-For $remote_addr;proxy_read_timeout 60s;add_header X-Cache $upstream_cache_status;} }[root@Bj-1-141 conf.d]# mkdir -pv /data/logs/{www.a.com,www.b.net} mkdir: created directory ‘/data’ mkdir: created directory ‘/data/logs’ mkdir: created directory ‘/data/logs/www.a.com’ mkdir: created directory ‘/data/logs/www.b.net’ You have new mail in /var/spool/mail/root [root@Bj-1-141 conf.d]# mkdir -pv /var/cache/nginx/{a.com,b.net} mkdir: created directory ‘/var/cache/nginx/a.com’ mkdir: created directory ‘/var/cache/nginx/b.net’ [root@Bj-1-141 conf.d]# chown -R nginx.nginx /var/cache/nginx/# 檢查配置文件語(yǔ)法 [root@Bj-1-141 nginx]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

##4、配置后端Tomcat服務(wù)器 兩臺(tái)后端服務(wù)器同時(shí)安裝配置tomcat服務(wù)。

# 安裝配置jdk [root@bj-1-142 ~]# tar xf jdk-8u121-linux-x64.tar.gz -C /usr/local/ [root@bj-1-142 ~]# ln -sv /usr/local/jdk1.8.0_121/ /usr/local/jdk "/usr/local/jdk" -> "/usr/local/jdk1.8.0_121/" [root@bj-1-142 ~]# vim /etc/profile.d/java.sh export JAVA_HOME=/usr/local/jdk export JRE_HOME=/usr/local/jdk/jre/ export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar# 安裝配置tomcat [root@bj-1-142 ~]# tar xf apache-tomcat-8.0.41.tar.gz -C /usr/local/ [root@bj-1-142 ~]# cd /usr/local/ [root@bj-1-142 local]# mv apache-tomcat-8.0.41/ apache-tomcat-8080 [root@BJ-1-143 local]# cd apache-tomcat-8080/webapps/ [root@BJ-1-143 webapps]# rm -fr ./* [root@BJ-1-143 webapps]# mkdir ROOT [root@BJ-1-143 webapps]# cd ROOT/ # 此處使用的war包為京峰教育開(kāi)源貢獻(xiàn)的一個(gè)war包,非常感謝京峰教育的提供。 [root@BJ-1-143 ROOT]# unzip edu.war # 啟動(dòng)tomcat服務(wù) [root@BJ-1-143 ROOT]# cd ../../ [root@BJ-1-143 apache-tomcat-8080]# ./bin/catalina.sh start

注意:為了區(qū)分兩個(gè)域名請(qǐng)求的結(jié)果不一樣,故意讓兩個(gè)站點(diǎn)其中一個(gè)圖片不一樣。

直接訪問(wèn)192.168.1.142:8080查看結(jié)果: ##5、啟動(dòng)nginx服務(wù)

[root@Bj-1-141 ~]# systemctl start nginx.service [root@Bj-1-141 ~]# ss -tnl|grep 80 LISTEN 0 128 *:80 *:*

配置本地hosts文件將www.a.com和www.b.net域名都解析至192.168.1.141nginx服務(wù)器上。

192.168.1.141 www.a.com www.b.net

瀏覽器中請(qǐng)求www.a.com查看結(jié)果

瀏覽器中請(qǐng)求www.b.net查看結(jié)果

至此一個(gè)非常簡(jiǎn)單的Nginx反向代理就結(jié)束了。工作中后端的服務(wù)器不只一臺(tái),多臺(tái)后端服務(wù)器時(shí)只要在upstream中添加多個(gè)server就可以了。另外也可以在tomcat服務(wù)器上安裝nginx由nginx轉(zhuǎn)發(fā)至127.0.0.1:8080。

轉(zhuǎn)載于:https://my.oschina.net/jiangshanlinux/blog/1514288

總結(jié)

以上是生活随笔為你收集整理的Nginx反向代理实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。