nginx配置文件+本地测试请求转发到远程服务器+集群
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配置文件+本地测试请求转发到远程服务器+集群的更多相关文章
- 微信内嵌浏览器sessionid丢失问题,nginx ip_hash将所有请求转发到一台机器
现象微信中打开网页,图形验证码填写后,经常提示错误,即使填写正确也会提示错误,并且是间歇性出现. 系统前期,用户使用主要集中在pc浏览器中,一直没有出现这样的问题.近期有部分用户是在微信中访问的,才出 ...
- 10分钟学会windows中iis搭建服务器集群实现负载均衡和nginx代理转发
前言 我们之前聊过 10分钟搭建服务器集群--Windows7系统中nginx与IIS服务器搭建集群实现负载均衡:https://www.cnblogs.com/xiongze520/p/103087 ...
- 本地idea开发mapreduce程序提交到远程hadoop集群执行
https://www.codetd.com/article/664330 https://blog.csdn.net/dream_an/article/details/84342770 通过idea ...
- Windows系统 本地文件如何复制到远程服务器
很多人在使用远程服务器的时候往往要将本地的文件传输到远程服务器内,方法有很多种,下面介绍下如何使用Windows自带的远程桌面连接程序将文件复制到远程服务器内. 1.首先,点击windows开始按钮, ...
- nginx 的安装、优化、服务器集群
一.安装 下载地址:http://nginx.org 找到 stable 稳定版 安装准备:nginx 依赖于pcre(正则)库,如果没有安装pcre先安装 yum install pcre pcr ...
- Nginx详解-服务器集群
Nginx是什么 代理服务器:一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器. 一个完整的代理请求过程为:客户端首先 ...
- Nginx+Keepalived+Tomcat高可用负载均衡,Zookeeper集群配置,Mysql(MariaDB)搭建,Redis安装,FTP配置
JDK 安装步骤 下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html rpm ...
- nginx+apache+php+mysql服务器集群搭建
由于需要搭建了一个基本的服务器集群.具体的配置方案先不说了,到有时间的时候再介绍.下面介绍下整 个方案的优点. 我总共准备了四台阿里云的主机,架设分别是A,B1,B2,C,A在集群的最前面,B1和B2 ...
- nginx+tomcat+memcached搭建服务器集群及负载均衡
在实际项目中,由于用户的访问量很大的原因,往往需要同时开启多个服务器才能满足实际需求.但是同时开启多个服务又该怎么管理他们呢?怎样实现session共享呢?下面就来讲一讲如何使用tomcat+ngin ...
随机推荐
- bzoj 3751: [NOIP2014]解方程【数学】
--我真是太非了,自己搞了7个质数都WA,从别人那粘5个质数就A了-- 就是直接枚举解,用裴蜀定理计算是否符合要求,因为这里显然结果很大,所以我们对多个质数取模看最后是不是都为0 #include&l ...
- C++this详解
以前对this指针误解挺多的,在这里单独写一篇进行总结,有不对之处,欢迎指正批评! 一.问题 1.一个类中的不同对象在调用自己的成员函数时,其实它们调用的是同一段函数代码,那么成员函数如何知道要访问哪 ...
- Java之简单的四则运算
简单的四则运算 请你编写程序实现能处理两个数的+.-.*./.%的表达式程序.数据的输入/输出全部使用标准输入/输出,输入数据的第一行为你需要计算表达式的个数,从第2行开始,每一行为你计算的一个表达式 ...
- python爬虫爬取汽车页面信息,并附带分析(静态爬虫)
环境: windows,python3.4 参考链接: https://blog.csdn.net/weixin_36604953/article/details/78156605 代码:(亲测可以运 ...
- [POI2007]大都市meg
Description 在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了.不过,她经常回忆起以前在乡间漫步的情景.昔日,乡下有依次编号为1..n ...
- 51nod 1088 最长回文子串
1088 最长回文子串 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串. 输入一 ...
- java 字符串的比较compareTo
import java.util.Scanner; public class Demo01 { public static void main(String[] args) { Scanner ...
- 449 Serialize and Deserialize BST 序列化和反序列化二叉搜索树
详见:https://leetcode.com/problems/serialize-and-deserialize-bst/description/ C++: /** * Definition fo ...
- 开源一个Mac漂亮的小工具 PPRows for Mac, 在Mac上优雅的计算你写了多少行代码
开源一个Mac漂亮的小工具 PPRows for Mac, 在Mac上优雅的计算你写了多少行代码. 开源地址: https://github.com/jkpang/PPRows
- JS filters-table简单过滤-Version 1
初级版本: 输入框可检索,空格检索忽略 radio点击后会过滤 最后的两个输入框可根据age范围检索过滤 三个单独的功能,不能协同工作 <!DOCTYPE html> <html&g ...