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 中的两种限流方式
Mar 31 Servers
Nginx+SpringBoot实现负载均衡的示例
Mar 31 Servers
Nginx本地目录映射实现代码实例
Mar 31 Servers
NGINX 权限控制文件预览和下载的实现原理
Jan 18 Servers
Nginx设置HTTPS的方法步骤 443证书配置方法
Mar 21 Servers
Vertica集成Apache Hudi重磅使用指南
Mar 31 Servers
详解使用内网穿透工具Ngrok代理本地服务
Mar 31 Servers
openstack云计算keystone组件工作介绍
Apr 20 Servers
如何让你的Nginx支持分布式追踪详解
Jul 07 Servers
ubuntu端向日葵键盘输入卡顿问题及解决
Dec 24 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四种基础算法代码实例
2013/10/29 PHP
php安装swoole扩展的方法
2015/03/19 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
jQuery 选择器详解
2015/01/19 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
干货分享:让你分分钟学会javascript闭包
2015/12/25 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
pytorch 修改预训练model实例
2020/01/18 Python
python中JWT用户认证的实现
2020/05/18 Python
HTML5 本地存储和内容按需加载的思路和方法
2011/04/07 HTML / CSS
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
名词解释型面试题(主要是网络)
2013/12/27 面试题
个人欠款担保书
2014/05/20 职场文书
干部作风建设工作总结
2014/10/29 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android
Python标准库pathlib操作目录和文件
2021/11/20 Python