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. bzoj 1040: [ZJOI2008]骑士【基环树+树形dp】

    没考虑可以连着两个不选--直接染色了 实际上是基环森林,对于每棵基环树,dfs找出一个环边,然后断掉这条边,分别对这条边的两端点做一边treedp,取max加进答案里 treedp是设f[u]为选u点 ...

  2. bzoj 4820: [Sdoi2017]硬币游戏【kmp+高斯消元】

    有点神,按照1444的做法肯定会挂 注意到它的概率是相同的,所以可以简化状态 详见http://www.cnblogs.com/candy99/p/6701221.html https://www.c ...

  3. CodeForces E. Goods transportation【最大流+dp最小割】

    妙啊 首先暴力建图跑最大流非常简单,s向每个i连流量为p[i]的边,每个i向t连流量为s[i]的边,每个i向j连流量为c的边(i<j),但是会又T又M 考虑最大流=最小割 然后dp求最小割,设f ...

  4. 11.3NOIP模拟赛

    /* 考虑贪心 把原序列排序后,对于原中位数往后所有比要更改到的值小的都改成它 正确性显然. */ #include<iostream> #include<cstdio> #i ...

  5. IIS发布问题服务器配置

    1. <validation validateIntegratedModeConfiguration="false" /> 2.Http 404.0-NotFound ...

  6. 构造 HDOJ 5414 CRB and String

    题目传送门 题意:给两个字符串s,t,可以在s字符串任意位置后面插入字符c(与前面的不同),问是否能够将s转换为t字符串 构造:首先lens > lent 或者 s[1] != t[1] 一定是 ...

  7. 贪心 Codeforces Round #309 (Div. 2) B. Ohana Cleans Up

    题目传送门 /* 题意:某几列的数字翻转,使得某些行全为1,求出最多能有几行 想了好久都没有思路,看了代码才知道不用蠢办法,匹配初始相同的行最多能有几对就好了,不必翻转 */ #include < ...

  8. Android开发学习—— 消息机制

    ###主线程不能被阻塞* 在Android中,主线程被阻塞会导致应用不能刷新ui界面,不能响应用户操作,用户体验将非常差* 主线程阻塞时间过长,系统会抛出ANR异常* ANR:Application ...

  9. .net 字符串和JSON格式的互换

    近期又做了个问卷调查,问卷调查一次性要保存一二十个题目和答案!所以嘞,博主为了偷懒,就直接把答卷内容保存成了Json格式! 好处当然是很多啦! 只需一个字段就能保存整个答卷的内容! 想想都刺激!哈哈~ ...

  10. xshell常用命令大全

    xshell常用命令大全 (1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *. ...