1 在本地测试1

  众所周知,nginx是一个反向代理的服务器,主要功能即为实现负载均衡和动静分离。在别的我别的文章有详细的nginx(Windows)相关介绍教程。

由于自己安装的nginx在本地的计算机上,想实现对nginx.conf 配置文件的修改实现转发到远程服务器,见下图标记处,为我在配置文件添加的内容,

  首先在本地启动nginx【即在nginx根目录双击nginx.exe ,可以在任务管理器中查看是否有nginx.exe进程,如果有说明开启成功】,然后根据上图中的location,在浏览器访问http://localhost/ap/ 【因为是本地且server_name =  localhost,如果是在远程服务器使用nginx,则localhost改为服务器对应的域名或ip地址】,会请求转发到百度的首页。如果是想访问到上图中http://XXXX.pub:20180/wlsweb, 则需要修改配置location = /ap/wlsweb/ 或location /ap/wlsweb/【经我自行测试 = 可有可不有】。且后面的/不能省去。注意修改完配置文件,关闭nginx的进程,重新启动nginx,配置爱文件才会重新加载生效。最后说一点,对应nginx的启动和关闭也有想过命令,有兴趣的可以网上查询相关命令进行操作。

2 本地测试2

    在本地没有域名的时候,可以修改本地系统文件进行域名和ip地址的配置进行虚拟。

  1)打开电脑磁盘在系统的目录下找到hosts文件,我的是在C:\Windows\System32\drivers\etc目录下,你的应该在X:\Windows\System32\drivers\etc下。

  

  打开hosts文件在其下面添加域名和ip地址,由于是虚拟的,域名可以自行拟定,我是写的xiha.com  ,当然你可以haha.com等,对于ip地址的添加是计算机连接网络的ip地址,打开win+r组合件运行输入cmd进入dos命令窗口输入ipconfig进行查找。具体内容看下图。

       

我在hosts文件中添加的内容为10.23.57.227  xiha.com.

  2)nginx的相关配置文件。配置文件是在nginx根目录下的conf文件夹下的nginx.conf文件。内容如下:

#user  nobody;
worker_processes ; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections ;
} 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 ;
keepalive_timeout ; #gzip on;
  upstream tserver{
      server 10.23.57.227:8080;#localhost也可以 注意10.23.57.227 为电脑连接外网的ip地址。
   #server 10.23.57.227:8080/aaa/index.html/
}
  server {
listen 80;
erver_name xiha.com;
     location / {
       index index.html index.htm;
proxy_pass http://tserver;#代理,转发到集群;
}
  }
server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://tserver;#代理,转发到集群,优先执行proxy_pass;
}
location /ap/ {
#proxy_pass http://sandbox.criot.zhangda.pub:28180/wlsweb/;
proxy_pass https://www.baidu.com/;
} #error_page /.html; # redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:;
# 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 ;
# listen somename:;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#} # HTTPS server
#
#server {
# listen 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;
# }
#} }  

 上面配置文件中的红色部分是我在原配置文件上所添加的 内容,对于集群的配置可以配置多,个反向代理服务器也可也配置多个。

对于集群的配置:

  upstream tserver{
        server 10.23.57.227:8080;#localhost也可以 注意10.23.57.227 为电脑连接外网的ip地址。
   #server 10.23.57.227:8080/aaa/index.html/
}

其中的tserver名字也可以自行拟定,但是需要与下面红色标记处的proxy_pass值一样。经测试,server 10.23.57.227:8080/aaa/index.html/这样的格式不行,只支持ip地址+端口号。

反向代理的配置 :

server {
listen ;
erver_name xiha.com;
     location / {
       index index.html index.htm;
proxy_pass http://tserver;#代理,转发到集群;
}
}

对于nginx.conf可以配置多个server和upstream,我配置了2个server同时监听80端口,当在nginx启动的时候,访问server_name:localhost 和 xiha.com,都成功转发到

10.23.57.227:8080,成功访问到tomcat页面,因为我本地端口8080是对应的Tomcat,因此要确保tomcat服务启动。见下图,成功访问到Tomcat。当你出现不同的错误的时候,要去看目录logs文件夹下error.log文件中的内容。

nginx配置文件+本地测试请求转发到远程服务器+集群的更多相关文章

  1. 微信内嵌浏览器sessionid丢失问题,nginx ip_hash将所有请求转发到一台机器

    现象微信中打开网页,图形验证码填写后,经常提示错误,即使填写正确也会提示错误,并且是间歇性出现. 系统前期,用户使用主要集中在pc浏览器中,一直没有出现这样的问题.近期有部分用户是在微信中访问的,才出 ...

  2. 10分钟学会windows中iis搭建服务器集群实现负载均衡和nginx代理转发

    前言 我们之前聊过 10分钟搭建服务器集群--Windows7系统中nginx与IIS服务器搭建集群实现负载均衡:https://www.cnblogs.com/xiongze520/p/103087 ...

  3. 本地idea开发mapreduce程序提交到远程hadoop集群执行

    https://www.codetd.com/article/664330 https://blog.csdn.net/dream_an/article/details/84342770 通过idea ...

  4. Windows系统 本地文件如何复制到远程服务器

    很多人在使用远程服务器的时候往往要将本地的文件传输到远程服务器内,方法有很多种,下面介绍下如何使用Windows自带的远程桌面连接程序将文件复制到远程服务器内. 1.首先,点击windows开始按钮, ...

  5. nginx 的安装、优化、服务器集群

    一.安装 下载地址:http://nginx.org  找到 stable 稳定版 安装准备:nginx 依赖于pcre(正则)库,如果没有安装pcre先安装 yum install pcre pcr ...

  6. Nginx详解-服务器集群

    Nginx是什么 代理服务器:一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器.  一个完整的代理请求过程为:客户端首先 ...

  7. Nginx+Keepalived+Tomcat高可用负载均衡,Zookeeper集群配置,Mysql(MariaDB)搭建,Redis安装,FTP配置

    JDK 安装步骤 下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html rpm ...

  8. nginx+apache+php+mysql服务器集群搭建

    由于需要搭建了一个基本的服务器集群.具体的配置方案先不说了,到有时间的时候再介绍.下面介绍下整 个方案的优点. 我总共准备了四台阿里云的主机,架设分别是A,B1,B2,C,A在集群的最前面,B1和B2 ...

  9. nginx+tomcat+memcached搭建服务器集群及负载均衡

    在实际项目中,由于用户的访问量很大的原因,往往需要同时开启多个服务器才能满足实际需求.但是同时开启多个服务又该怎么管理他们呢?怎样实现session共享呢?下面就来讲一讲如何使用tomcat+ngin ...

随机推荐

  1. USACO Training3.3 A Game【区间Dp】 By cellur925

    题目传送门 一股浓浓的博弈论香气...然而本蒟并不会博弈论. 开始用双端队列+假的dp水过了24pts水数据. 其实是布星的,两人都绝顶聪明会深谋远虑不像我只看眼前,所以上述算法错误. 正解:区间dp ...

  2. VS2010编译错: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403...的解决方法

        最近拿到一个别人的工程,是使用VS.net创建的,而我的机器上只有vs2010,于是用自带的转换工具将它转换成vs2010的工程,转换之前我就很担心,怕转换完后会出问题,但是没有办法,我实在是 ...

  3. [POI2007]山峰和山谷Grz

    Description FGD小朋友特别喜欢爬山,在爬山的时候他就在研究山峰和山谷.为了能够让他对他的旅程有一个安排,他想知道山峰和山谷的数量.给定一个地图,为FGD想要旅行的区域,地图被分为\(n\ ...

  4. import android.support.v4或者import android.support.v7提示导入错误解决办法

    转自:  http://blog.csdn.net/forandever/article/details/37655139 在使用Eclipse开发andriod程序时,程序中提示import and ...

  5. PHP autoload实践

    本文目的 本文简要的描述了PHP提供的autoload机制,以及在scake中使用实践.用于减少不必要的文件包含,提高php系统性能. 什么是__autoload php是脚本语言,不同于c++只需要 ...

  6. APP增量更新

    增量更新的概念: 当我们手机上安装的app版本与服务器的最新版本不一致的时候,传统做法是重新下载安装一个最新版的apk文件,不过这种方式比较耗流量,不利于用户体验.增量更新就是只下载当前app版本与最 ...

  7. Spring @Resource、@Autowired、@Qualifier区别

    @Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入: @Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualif ...

  8. InChatter系统之服务客户端的开发

    今天终于开始客户端的开发了,客户端完成以后,我们将可以进行简单的交流.开发完成的程序只是一个很简单的雏形,在本系统完成以后,以及完成的过程中,大家都可以下载源码,在此基础上融入自己的想法和尝试,可以按 ...

  9. Elasticsearch の 查询类型

    查询类型SearchType Es中一共有四种查询类型:QUERY_AND_FETCH.QUERY_THEN_FETCH.DFS_QUERY_AND_FETCH.DFS_QUERY_THEN_FETC ...

  10. mvc框架 与vuex的介绍

    应用级的状态集中放在store中: 改变状态的方式是提交mutations,这是个同步的事物: 异步逻辑应该封装在action中. const vuex_store = new Vuex.store( ...