设为首页 收藏本站
查看: 1128|回复: 0

[经验分享] nginx反代

[复制链接]

尚未签到

发表于 2018-11-15 12:07:21 | 显示全部楼层 |阅读模式
  需求:同一主机上跑多个web站点,使用httpd+php-fpm无法满足需要;
  解决方案:加一个nginx,接入所有用户访问,根据用户访问的主页不同,反代后端不同站点;
  前端:nginx
  后端:
  同一主机多个web站点
  www.bbtw.net
  www.shxinsheng.wang
  new.khcm.net
  安装过程略,主要描述反代过程:
  nginx主配置文件:
  ]# egrep -v '^[[:space:]]*#|^$' /etc/nginx/nginx.conf
  user nginx;
  worker_processes auto;
  error_log /var/log/nginx/error.log;
  pid /run/nginx.pid;
  include /usr/share/nginx/modules/*.conf;
  events {
  worker_connections 1024;
  }
  http {
  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_nopush          on;
  tcp_nodelay         on;
  keepalive_timeout   65;
  types_hash_max_size 2048;
  include             /etc/nginx/mime.types;
  default_type        application/octet-stream;
  include /etc/nginx/conf.d/*.conf;
  server {
  listen       80 default_server;
  listen       [::]:80 default_server;
  server_name  _;
  root         /usr/share/nginx/html;
  include /etc/nginx/default.d/*.conf;
  location / {
  }
  error_page 404 /404.html;
  location = /40x.html {
  }
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
  }
  }
  }
  采用每个站点一个配置文件,放在/etc/nginx/conf.d/目录下:
  www.bbtw.net站点,配置文件为bbt.conf;
  www.shxinsheng.wang站点,配置文件为xyk.conf;
  new.khcm.net站点,配置文件为khcm.conf
  ]# cat /etc/nginx/conf.d/bbt.conf
  server {
  listen       80;
  server_name www.bbtw.net;
  port_in_redirect   on;
  keepalive_timeout  15;
  location / {
  proxy_set_header Connection '';
  proxy_http_version 1.1;
  chunked_transfer_encoding off;
  client_max_body_size 10m;
  proxy_store off;
  proxy_redirect     off;
  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_buffering off;
  proxy_pass http://127.0.0.1:81$request_uri;
  }
  }
  ]# cat /etc/nginx/conf.d/xyk.conf
  server {
  listen       80;
  server_name www.shxinsheng.wang;
  charset utf-8;
  #error_log  /var/log/nginx/jenkins.error.log;
  port_in_redirect   on;
  keepalive_timeout  15;
  location / {
  proxy_set_header Connection '';
  proxy_http_version 1.1;
  chunked_transfer_encoding off;
  client_max_body_size 10m;
  proxy_store off;
  proxy_redirect     off;
  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_buffering off;
  proxy_pass http://127.0.0.1:8082$request_uri;
  }
  }
  ]# cat /etc/nginx/conf.d/khcm.conf
  server {
  listen       80;
  server_name new.khcm.net;
  charset utf-8;
  #error_log  /var/log/nginx/jenkins.error.log;
  port_in_redirect   on;
  keepalive_timeout  15;
  location / {
  proxy_set_header Connection '';
  proxy_http_version 1.1;
  chunked_transfer_encoding off;
  client_max_body_size 10m;
  proxy_store off;
  proxy_redirect     off;
  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_buffering off;
  proxy_pass http://127.0.0.1:82$request_uri;
  }
  }
  httpd主配置文件:
  ]# egrep -v '^[[:space:]]*#|^$' /etc/httpd/conf/httpd.conf
  ServerRoot "/etc/httpd"
  Listen 82
  Include conf.modules.d/*.conf
  User apache
  Group apache
  ServerAdmin root@localhost
  
  AllowOverride none
  Require all denied
  
  
  AllowOverride None
  Require all granted
  
  
  Options Indexes FollowSymLinks
  AllowOverride None
  Require all granted
  
  
  DirectoryIndex  index.html
  
  
  Require all denied
  
  ErrorLog "logs/error_log"
  LogLevel warn
  
  LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
  LogFormat "%h %l %u %t \"%r\" %>s %b" common
  
  LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
  
  CustomLog "logs/access_log" combined
  
  
  ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
  
  
  AllowOverride None
  Options None
  Require all granted
  
  
  TypesConfig /etc/mime.types
  AddType application/x-compress .Z
  AddType application/x-gzip .gz .tgz
  AddType text/html .shtml
  AddOutputFilter INCLUDES .shtml
  
  
  MIMEMagicFile conf/magic
  
  EnableSendfile on
  IncludeOptional conf.d/*.conf
  httpd虚拟主机配置文件:
  ]# cat /etc/httpd/conf.d/vhost.conf
  DirectoryIndex index.php
  Listen 8081
  Listen 8082
  Listen 8083
  Listen 81
  
  ServerName www.shxinsheng.wang
  DocumentRoot /var/www/wwwroot
  ProxyRequests off
  ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/wwwroot/$1
  
  Options None
  AllowOverride None
  Require all granted
  
  
  
  ServerAdmin root
  DocumentRoot /usr/share/phpMyAdmin
  
  Options FollowSymLinks
  AllowOverride None
  Require all granted
  
  
  
  ServerName www.bbtw.net
  DocumentRoot /var/www/banbiantian
  ProxyRequests off
  ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/banbiantian
  
  Options None
  AllowOverride None
  Require all granted
  
  
  
  ServerName new.khcm.net
  DocumentRoot /var/www/khcm
  ProxyRequests off
  ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/khcm
  
  Options None
  AllowOverride None
  Require all granted
  
  
  启动nginx、httpd、php-fpm即可


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-635416-1-1.html 上篇帖子: nginx + tomcat cluster-guo 下篇帖子: NGINX 重定向
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表