Nginx反向代理及域名解析访问本地项目
···目录···········································
- 终极目标
- 明确思路
- 域名解析
- 破解域名
- 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反向代理及域名解析访问本地项目相关推荐
- 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 ...
- nginx 反向代理跨域访问配置_nginx反向代理配置去除前缀
使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务.设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法: 方法一:加& ...
- Nginx反向代理跨域访问气象局天气接口
nginx设置如下,客户端直接访问本地服务器83端口,通过http://localhost:83/wmaps/xml/baoding.xml实现对国家气象局天气实况的实时访问. nginx.conf设 ...
- nginx反向代理时配置访问密码
在有些情况下,我们需要对服务器上的某些资源进行限流或者禁止陌生人访问,我们可以通过nginx配置来对url添加访问密码. nginx 开启访问验证 在 nginx 下,提供了 ngx_http_aut ...
- 通过Nginx反向代理实现IP访问分流
根据特定IP来实现分流 将IP地址的最后一段最后一位为0或2或6的转发至test-01.com来执行,否则转发至test-02.com来执行. upstream test-01.com {server ...
- Nginx 反向代理 负载均衡 动静分离 高可用 原理
1.Nginx简介 1.1 概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理服务器,特点是占有内存少,并发能力强,能经受高负载的考验,有报告表明能 ...
- Nginx反向代理相关事宜
第一章:Nginx概述 1.1.Nginx概述 Nginx("engine x")是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上Nginx的并发能力确 ...
- nginx反向代理-多端口映射
2019独角兽企业重金招聘Python工程师标准>>> 代码解释 1.1 http:www.baidu.test.com默认是80,访问"/"利用反向代理,然后 ...
- Nginx——反向代理
通过Nginx来实现反向代理,具体配置实例如下所示: 一.反向代理实例一 1.目标 在浏览器地址栏输入www.test.com,可跳转到linux系统tomcat的主页面中. 2.前置工作 (1)在l ...
最新文章
- 授权管理【学习笔记】《卓有成效的管理者》 第二章 掌握自己的时间
- Windos下navcat连接虚拟机中的mysql
- Struts2输入校验之validate输入校验方式
- SAP License:SAP CWM功能及限制
- Uber的微服务架构实践
- java eclipse计算器_用eclipse制作计算器。
- 【软技能】完全写作指南--简历
- 11-新闻发布系统数据库-新闻数据操作
- EnterpriseArchitect画图工具-活动图使用(一)
- 计算机组成原理笔记——DMA方式
- 三星android安装到sd卡,三星怎么安装sd卡 三星手机怎么安装sim卡
- unity3d 中添加视频
- Mac安装IE浏览器
- 嵌入式软件是怎么分类的?
- java 如何转化成机器指令_Java代码到底是如何编译成机器指令的
- 停止无效学习,4种高效学习方法,快速提升自己
- 深度学习及并行化实现概述
- Xcode Instruments之概述
- JavaScript:世界上最被误解的语言
- 【推荐】2022年区块链行业研究报告投资策略产业发展前景市场行情分析(附件中为网盘地址,报告持续更新)
热门文章
- mysql 查询分析器_mysql查询分析工具|mysql查询分析器(MySQL Query Browser)下载v1.1.20 官方版_ IT猫扑网...
- 无线华为能连苹果不能连接到服务器,华为网络正常app连不上网络
- ArcGIS制作矢量动图
- js正则表达式 part1 - Kaiqisan
- 小鹏汽车领投 这家车规级MEMS激光雷达公司完成数亿元Pre-C轮融资
- vue 符号..._如何在Windows 8.1上输入和使用表情符号
- 公司接口裸奔10年了,有必要用API接口签名验证吗?
- 雷电3菊链功能_雷电三接口小科普,看完再说你是否需要雷电三!
- PhpSpreadsheet读取单元格内容的坑
- Flutter免费视频第二季-常用组件讲解