一、代理到本地静态文件

我所在的开发环境里,nginx和ftp在同一台服务器。

ftp根目录:

nginx的配置:

在nginx.conf中加入:

    server {
listen ;
server_name localhost;
location / {
root C:/FTPRoot;
index *.*;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
}
}

然后重新加载配置文件即可,参考:https://www.cnblogs.com/qianzf/p/6809427.html。

如果是linux下,配置举例:

    server {
listen ;
server_name localhost; location / {
root /usr/local/src/WEB/dist;
try_files $uri /index.html index.html;
}
}

二、nginx配置:通过端口进行负载均衡

#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 9004; location /igt {
root /usr/local/nginx/webapps;
index index.html;
}
}
upstream 8080tomcat {
server 10.11.12.61:8080 weight=1;
server 10.11.12.62:8080 weight=1;
}
server {
listen 8080;
server_name localhost; location / {
root html;
index index.html index.htm;
proxy_pass http://8080tomcat;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} } upstream 9080tomcat {
server 10.11.12.105:9080 weight=1;
server 10.11.12.106:9080 weight=1;
}
server {
listen 9080;
server_name localhost; location / {
root html;
index index.html index.htm;
proxy_pass http://9080tomcat;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} } }

这其中,根据端口会分发到不同的后端集群中。

三、nginx配置前后端分离项目

一般的项目中,前后端分离。前端是纯粹的html,直接放nginx。前端项目中,会指定后端的地址。

我们可以将后端的地址,指定为nginx的ip+后端服务的端口。

然后,在nginx中,再像上述第二节那样配置端口转发。

本例中,nginx的ip为:10.11.12.107

1、配置前端

    server {
listen 9004; location /igt {
root /usr/local/nginx/webapps;
index index.html;
}
}

前端项目的位置如下:

2、在前端项目中配置后端服务的url

3、配置负载均衡,并携带客户端真实ip

   upstream 9080tomcat{
  server 10.11.12.105:9080 weight=1;
     server 10.11.12.106:9080 weight=1;
}
    server {
listen 9080;
server_name localhost; location / {
root html;
index index.html index.htm;
proxy_pass http://9080tomcat;
//这里怎么将客户端真实的ip传给后台服务呢,按下面这样配置
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} }

然后在后端的服务里,可以这样获取(java举例:)

    public static String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}

最新文章

  1. common-dbcp2数据库连接池参数说明
  2. CentOS PPTP配置FreeRADIUS+DaloRADIUS实现高级用户控制+流量控制
  3. MyBatis知多少(8)关系型数据库
  4. Java for LeetCode 070 Climbing Stairs
  5. Boost库实现线程池学习及线程实现的异步调用
  6. 关于oracle dbms_job 定时执行的内容。
  7. javascript 动态推断html元素
  8. Qt之生成Window资源文件(.rc 文件)
  9. requests+多进程poll+pymongo实现抓取小说
  10. (译文)开始学习Vue.js特性--Scoped Slots
  11. python打造一个分析网站SQL注入的脚本
  12. POJ2248-Addition Chains
  13. mysqldump详解之--master-data
  14. NOIP 竞赛注意事项
  15. 全面理解Javascript闭包和闭包的几种写法及用途【转】
  16. python记录_day22 序列化
  17. 【LOJ#10131】暗的锁链
  18. linux常用命令全拼
  19. spark1.0属性配置以及spark-submit简单使用
  20. HTML5 APP应用实现图片上传及拍照上传功能

热门文章

  1. 初识Selenium以及Selenium常用工具的简单介绍
  2. java中一个引人深思的匿名内部类
  3. 笔记:Spring Cloud Eureka 服务发现与消费
  4. curl的使用基本流程,HTTP的get请求,post请求
  5. Python下载图片小程序
  6. JavaWeb学习笔记六 JSP
  7. (译文)学习ES6非常棒的特性-深入研究var, let and const
  8. JavaScript(第十五天)【匿名函数和闭包】
  9. I/O多路转接之poll 函数
  10. 算法第四版学习笔记之快速排序 QuickSort