···目录···········································

  • 终极目标
  • 明确思路
  • 域名解析
  • 破解域名
  • 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映射关系。

破解域名

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

去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{server  127.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,最简单的方法就是双击一下,但是你们是计算机高手啊,怎么可以用这么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,支持老铁一波。
你学废了吗

Nginx反向代理及域名解析访问本地项目相关推荐

  1. nginx反向代理二级目录 导致vue项目静态文件css js访问不到

    2022年5月30日19:06:00 nginx vue项目配置 server {listen 9888;server_name 127.0.0.1;error_log /data/log/nginx ...

  2. nginx 反向代理跨域访问配置_nginx反向代理配置去除前缀

    使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务.设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法: 方法一:加& ...

  3. Nginx反向代理跨域访问气象局天气接口

    nginx设置如下,客户端直接访问本地服务器83端口,通过http://localhost:83/wmaps/xml/baoding.xml实现对国家气象局天气实况的实时访问. nginx.conf设 ...

  4. nginx反向代理时配置访问密码

    在有些情况下,我们需要对服务器上的某些资源进行限流或者禁止陌生人访问,我们可以通过nginx配置来对url添加访问密码. nginx 开启访问验证 在 nginx 下,提供了 ngx_http_aut ...

  5. 通过Nginx反向代理实现IP访问分流

    根据特定IP来实现分流 将IP地址的最后一段最后一位为0或2或6的转发至test-01.com来执行,否则转发至test-02.com来执行. upstream test-01.com {server ...

  6. Nginx 反向代理 负载均衡 动静分离 高可用 原理

    1.Nginx简介 1.1 概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理服务器,特点是占有内存少,并发能力强,能经受高负载的考验,有报告表明能 ...

  7. Nginx反向代理相关事宜

    第一章:Nginx概述 1.1.Nginx概述 Nginx("engine x")是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上Nginx的并发能力确 ...

  8. nginx反向代理-多端口映射

    2019独角兽企业重金招聘Python工程师标准>>> 代码解释  1.1 http:www.baidu.test.com默认是80,访问"/"利用反向代理,然后 ...

  9. Nginx——反向代理

    通过Nginx来实现反向代理,具体配置实例如下所示: 一.反向代理实例一 1.目标 在浏览器地址栏输入www.test.com,可跳转到linux系统tomcat的主页面中. 2.前置工作 (1)在l ...

最新文章

  1. 授权管理【学习笔记】《卓有成效的管理者》 第二章 掌握自己的时间
  2. Windos下navcat连接虚拟机中的mysql
  3. Struts2输入校验之validate输入校验方式
  4. SAP License:SAP CWM功能及限制
  5. Uber的微服务架构实践
  6. java eclipse计算器_用eclipse制作计算器。
  7. 【软技能】完全写作指南--简历
  8. 11-新闻发布系统数据库-新闻数据操作
  9. EnterpriseArchitect画图工具-活动图使用(一)
  10. 计算机组成原理笔记——DMA方式
  11. 三星android安装到sd卡,三星怎么安装sd卡 三星手机怎么安装sim卡
  12. unity3d 中添加视频
  13. Mac安装IE浏览器
  14. 嵌入式软件是怎么分类的?
  15. java 如何转化成机器指令_Java代码到底是如何编译成机器指令的
  16. 停止无效学习,4种高效学习方法,快速提升自己
  17. 深度学习及并行化实现概述
  18. Xcode Instruments之概述
  19. JavaScript:世界上最被误解的语言
  20. 【推荐】2022年区块链行业研究报告投资策略产业发展前景市场行情分析(附件中为网盘地址,报告持续更新)

热门文章

  1. mysql 查询分析器_mysql查询分析工具|mysql查询分析器(MySQL Query Browser)下载v1.1.20 官方版_ IT猫扑网...
  2. 无线华为能连苹果不能连接到服务器,华为网络正常app连不上网络
  3. ArcGIS制作矢量动图
  4. js正则表达式 part1 - Kaiqisan
  5. 小鹏汽车领投 这家车规级MEMS激光雷达公司完成数亿元Pre-C轮融资
  6. vue 符号..._如何在Windows 8.1上输入和使用表情符号
  7. 公司接口裸奔10年了,有必要用API接口签名验证吗?
  8. 雷电3菊链功能_雷电三接口小科普,看完再说你是否需要雷电三!
  9. PhpSpreadsheet读取单元格内容的坑
  10. Flutter免费视频第二季-常用组件讲解