nginx代理实现静态资源访问的示例代码


Posted in Servers onJuly 07, 2022

一. 目标:

为了通过nginx请求静态资源(css、图片等),通过nginx代理进行页面预览。

二. 实现效果:

通过浏览器输入nginx代理地址以打开页面方式访问本地html文件,也可以通过访问代理路由访问接口实现页面预览功能.
注:我演示的是在本地windows开发环境下的配置

三. 具体配置

1. nginx配置本地静态工程代理

找到nginx配置文件nginx.conf,配置nginx代理

server{
listen       80;

#前端门户工程
location / {
    alias   D:/workspace/sc-multipl-static-web-project/;
    index  index.html;
}

说明:
D:/workspace/sc-multipl-static-web-project/ 是你的前端工程文件路径

保存配置文件并重启nginx,浏览器输入 localhost:80 验证

2. win10配置本地域名实现域名访问

域名访问实际上是通过对应ip地址,再通过ip访问服务的,如果我们没有开通互联网域名,可以通过配置本地域名映射模拟域名访问的(只在本机有效)
打开C:\Windows\System32\drivers\etc,找到hosts文件,如果没有则自己新增一个,以管理员身份打开编辑,输入

127.0.0.1 www.chen123.com

再打开nginx配置文件

server{
    listen       80;
    server_name  www.chen123.com;
    ssi on;
    ssi_silent_errors on;
    #前端门户工程
    location / {
        alias   D:/workspace/sc-multipl-static-web-project/;
        index  index.html;
    }
    
   }

保存配置文件并重启nginx,浏览器输入 localhost:chen123 验证

3.nginx配置页面预览路由

首先,你要先实现一个页面预览接口,返回格式为String类型,内容其实就是html的文本内容
再打开nginx配置文件

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    #cms页面预览路由
    upstream cms_server_pool {
        server 127.0.0.1:31001 weight=10;
    }

    server{
    listen       80;
    server_name  www.xuecheng.com;
    ssi on;
    ssi_silent_errors on;
    #前端门户工程
    location / {
        alias   D:/workspace/sc-multipl-static-web-project/;
        index  index.html;
    }
    #页面预览
    location /cms/preview/ {
        proxy_pass http://cms_server_pool/cms/preview/;
    }
    
   }
}

http://cms_server_pool/cms/preview/ 就是你要实现的页面预览接口,通过配置路由实现跳转到真实地址,

upstream cms_server_pool {
        server 127.0.0.1:31001 weight=10;
        #如果有多个服务器,可以写在下面,例如
        #server 127.0.0.1:31002 weight=10;
    }

保存配置文件并重启nginx,浏览器输入 http://cms_server_pool/cms/preview 验证

我本地的nginx配置如下

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    #gzip  on;
    #cms页面预览路由
    upstream cms_server_pool {
        server 127.0.0.1:31001 weight=10;
    }

    server{
    listen       80;
    server_name  www.xuecheng.com;
    ssi on;
    ssi_silent_errors on;
    #前端门户工程
    location / {
        alias   D:/workspace/sc-multipl-static-web-project/;
        index  index.html;
    }
    #页面预览
    location /cms/preview/ {
        proxy_pass http://cms_server_pool/cms/preview/;
    }
   }
}

到此这篇关于nginx代理实现静态资源访问的示例代码的文章就介绍到这了,更多相关nginx 静态资源访问内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
为什么 Nginx 比 Apache 更牛逼
Mar 31 Servers
Nginx服务器如何设置url链接
Mar 31 Servers
如何在centos上使用yum安装rabbitmq-server
Mar 31 Servers
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
Sep 25 Servers
详解Nginx 被动检查服务器的存活状态
Oct 16 Servers
Apache Hudi的多版本清理服务彻底讲解
Mar 31 Servers
Vertica集成Apache Hudi重磅使用指南
Mar 31 Servers
nginx搭建NFS网络文件系统
Apr 14 Servers
Python安装及建立虚拟环境的完整步骤
Jun 25 Servers
Nginx 502 bad gateway错误解决的九种方案及原因
Aug 14 Servers
源码安装apache脚本部署过程详解
Sep 23 Servers
使用 DataAnt 监控 Apache APISIX的原理解析
设置IIS Express并发数
Linux中sftp常用命令整理
Jun 28 #Servers
TaiShan 200服务器安装Ubuntu 18.04的图文教程
Jun 28 #Servers
Linux中各个目录的作用与内容
Windows Server 2008配置防火墙策略详解
nginx之queue的具体使用
You might like
PHP函数学习之PHP函数点评
2012/07/05 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
JavaScript的Cookies
2008/01/16 Javascript
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
vue2.0安装style/css loader的方法
2018/03/14 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
在Python中增加和插入元素的示例
2018/11/01 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
python中setuptools的作用是什么
2020/06/19 Python
css sprite简单实例
2016/05/23 HTML / CSS
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
企划专员岗位职责
2013/12/09 职场文书
车间组长岗位职责
2013/12/20 职场文书
优秀食品类广告词
2014/03/19 职场文书
小学校园文化建设汇报材料
2014/08/19 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
上学路上观后感
2015/06/16 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang
golang协程池模拟实现群发邮件功能
2021/05/02 Golang