首页天道酬勤nginx反向代理动态域名,nginx反向代理web配置

nginx反向代理动态域名,nginx反向代理web配置

admin 08-18 07:37 297次浏览

···目录··········································· 终极目标明确思路域名解析破解域名Nginx反向代理解决端口问题完成测试注意事项

终极目标

首先啊,明确我们要做什么。

我现在访问本地的项目是这样的。

http://localhost:8020/

我不想这样,我觉得这样一点也体现不出来我的B格。

我想改成这个样子。

www.xiaolaoben.com

怎么做到呢?往下瞅瞅吧!

明确思路

www.baidu.com,访问的是百度,为什么不是IP地址加端口号访问百度啊,为什么用域名?

如果用IP地址加端口号访问百度,IP是多少,端口号是多少?

这就涉及到域名解析的知识。

域名解析

我们访问百度的时候,输入的www.baidu.com,在请求传送中,是被解析成一个或多个IP的,有的同学问了,为什么会有多个IP,百度穷的只有一台服务器,支撑数亿次访问,你信吗?

域名解析共分为两步

1、本地域名解析:

浏览器在本机hosts文件中,查找域名映射的IP地址,如果有映射,就返回IP,没有映射,进行域名服务器解析。

你的计算机,注意要说计算机,不要说电脑,B格不能丢。。。

你的计算机中的hosts文件地址为:

C:/Windows/System32/drivers/etc/hosts

2、域名服务器解析

域名服务器,是什么,大家应该听说过,申请域名,购买域名这个发家致富的方法,举个例子,2000年,你申请几个域名

www.baidu.com

www.jd.com //注意,京东的不是www.jingdong.com。哇,好奇怪

www.taobao.com

www.aliyun.com

嘿嘿,那你就老牛了,绝了,简直上天了!

简而言之,域名解析器有对应的域名和IP映射关系。

破解域名

你有钱的话,可以去买一个域名,也不贵,便宜的几十,贵的几百。突然就想到了秋天的第一杯奶茶商标注册,秋天的第一个柚子,秋天的第一个包包,我的第一包rydbm呢?

去C盘找到你的文件,进去修改如下。

C:/Windows/System32/drivers/etc/hosts

Nginx反向代理解决端口问题

现在域名没问题了,啥意思

就是说,你访问www.xiaolaoben.com就相当于你的localhost了。

有的同学想,这不就可以了吗,已经实现了啊。

哈哈,人才,www.xiaolaoben.com:8020。这样访问也不错哈。

访问百度就这样访问:www.baidu.com:8090。perfect,成功访问。

**注意:**当我们访问www.baidu.com等任意一个域名的时候,端口默认都是80端口。包括阿里云等服务器,开放的端口必有80端口,浏览器访问localhost,默认访问的是localhost:80。

也就是说,我们访问的是80端口,但是我们真实想访问的是8020端口,这里使用Nginx反向代理来实现这个功能。

反向代理思路:用户访问请求时,放到到达Nginx,Nginx根据自定义的路由规则进行请求的转发,从而实现路由功能。

即用户访问的不是真实的服务器,而是代理服务器。

完成测试

1、下载nginx安装包,网上随便找个绿色免安装的,跟tomcat一样。

2、自定义nginx配置。

3、启动nginx服务器。




下边很关键,这里多说两句。

nginx.conf文件里边,我们加了这句话,我们可以直接在配置文件里边写的,但是因为太乱了,所以我们新建了一个文件夹。

那么我们自定义的文件夹里的配置文件怎么写呢,参考nginx.conf,将注释以及一些乱七八糟的去掉,看看长什么样。

include vhost/*.conf; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # 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; #} } include vhost/*.conf; server { listen 80; server_name localhost; location / { //这里指,url路径匹配到/时,进入nginx根目录下静态资源文件夹html. root html; index index.html index.htm; } #location ~ \.php$ {//这里指,url路径匹配到/xiao,/lao,/niu时,代理,到下边的路径。 # proxy_pass http://127.0.0.1; /proxy就是代理。 #} }

所以应该知道,自定义匹配规则怎么写了吧。
方法一:

server {listen 80;server_name www.xiaolaoben.com;location / { proxy_pass http://localhost:8020;proxy_connect_timeout 600;proxy_read_timeout 5000;}}

方法二(小老犇版):

upstream xiao-laoben{server127.0.0.1:8020;//upstream策略,负载均衡。 //对应机器。 //如果你有另外的机器往下加。}server {listen 80;server_name www.xiaolaoben.com;location / { proxy_pass http://xiao-laoben; proxy_connect_timeout 600;proxy_read_timeout 5000;}}

修改完毕,接下来启动nginx就可以了,注意,只要你修改了配置文件,一定要重新启动。

命令行启动:

start nginx.exe 启动

nginx.exe -s stop 关闭

nginx.exe -s reload 重启

注意事项

强调:都看到了上边有个nginx.exe,最简单的方法就是双击一下,但是你们是计算机cjdds啊,怎么可以用这么low的方式呢,(不要用这种方式,你双击启动了,你关的时候,去任务管理器多麻烦,并且如果你关不掉,再用命令行会报错)。
报错:

nginx: [error] CreateFile() "D:\software\nginx-1.14.0-windows\nginx-1.14.0/logs/nginx.pid" failed (2: The system cannot find the file specified)

解决:
双击启动这种方式不会在logs/目录下创建nginx.pid文件,命令行就没问题了,只要你碰到这种错误,问题不大,想办法将你的nginx杀干净就好了。最简单的方法,重启电脑,哈哈哈。

访问一下,www.xiaolaoben.com。没毛病,success,学会的掌声。
最终成果:

······································································
创作不易,半夜三更,当你们跟女朋友们或者五指山玩耍时,博主在努力的敲文字≧◇≦,若有帮助,请双击666,支持老铁一波。
你学废了吗

java基于springboot+vue+elementui的地方特色美食分享网站 前后端分离E/com.facebook.appevents.RestrictiveDataManager:updateRulesFromSetting失败请求数监控和命中率监控删除Cookie的解决方法C#中staticvoidMain(string[]args)参数示例详解C++的STL Vector怎么使用iOS开发上下滑动UIScrollview隐藏或者显示导航栏的实例预售期签【GPU云主机 UHost】驱动安装指南:Ubuntu 14.04 环境配置之检查GPU设备识别js实现列表自动滚动循环播放
nginx反向代理无效,nginx代理域名无法访问 nginx 代理ip 和域名
相关内容