nginx配置挂载html

news2024/12/24 10:08:58

目标

很多软件的官方文档,在国内打开很慢,每次都得等很久,看到官方同时提供了html的包,所以想着挂载到本地nginx下,查看会方便很多。

下载官方html文档包,解压到documentation_htmls下
想添加新的文档也是一样,放到这个目录下就下,刷新页面后就能在页面上访问了

配置nginx conf文件

这里主要需要配置的是default.conf,这个location 配置实现了自动加载/usr/share/nginx/html目录下的文件夹到root的页面下

> vim default.conf
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    location / {
        root /usr/share/nginx/html;
        autoindex_exact_size off;
        autoindex_localtime on; 
        autoindex on;
        charset utf-8,gbk;
        default_type text/plain; 
    }
    ...
}

docker启动nginx

version: '3'
services:
  web:
    container_name: doc 
    image: nginx:latest
    ports:
      - 8080:80
    volumes:
      - ./documentation_htmls:/usr/share/nginx/html
      - ./conf/nginx.conf:/etc/nginx/nginx.conf
      - ./conf/default.conf:/etc/nginx/conf.d/default.conf

问题及解决

通过配置解决了启动后出现一些问题

问题1

原始nginx配置无法自动加载目录问题:
配置 autoindex on;后解决

问题2

中文加载乱码问题
配置charset utf-8,gbk; 解决

问题3

yml json md 等文件无法渲染,在浏览器中会变成直接下载问题
配置default_type text/plain; 解决
虽然md没渲染成正常的md格式,但是text/plain也算勉强能看,再想更好的渲染效果,需要配置一些渲染服务,或者nginx的渲染模型
json格式的渲染,也可以不用text/plain,选择用application/json类型的渲染返回json结果,在default.conf配置中 新增一项即可,
不会与上面的 location / {...}配置冲突,返回结果其实在浏览器上看是一样的

    location ~* \.json$ {
        default_type application/json;
        root /usr/share/nginx/html;
    }

效果

最终显示效果如下:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1620015.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字人技术:VASA-1阅读笔记

论文地址:https://www.microsoft.com/en-us/research/project/vasa-1/ DiT约束条件 引入了5个约束条件,包括主要注视方向、头部到摄像头的距离、情绪偏移量、为了增加帧间平滑性,还增加了前K帧的语音特征和生成的运动特征,具体如…

交通气象站解析

TH-GQX8交通气象站专为交通气象服务而设计,是一种典型的综合多要素交通监测站。其核心功能在于实时监测能见度、天气现象及道面状况,并同时测量相关的基本气象参数。它的主要目的是及时发现各路段及关键点的各种异常交通环境因素变化和气象状况&#xff…

C语言实现双人贪吃蛇项目(基于控制台界面)

一.贪吃蛇 贪吃蛇是一款简单而富有乐趣的游戏,它的规则易于理解,但挑战性也很高。它已经成为经典的游戏之一,并且在不同的平台上一直受到人们的喜爱和回忆。 二.贪吃蛇的功能 游戏控制:玩家可以使用键盘输入设备来控制蛇的移动方…

JavaScript系列------1

1. JavaScript组成 ECMAScript JS 语言基础。比如:变量、分支语句、循环语句、对象等等。 Web APIs DOM(页面文档对象模型): 操作文档,比如对页面元素进行移动、大小、添加删除等操作 BOM(浏览器对象模型): 操作浏览器,比如页面弹窗&#x…

【前端面试常问】什么是前端工程化

🌟【前端面试常问】前端工程化🌟 📚 什么是前端工程化? 🎉 前端工程化,简而言之,是通过整合先进的工具链和最佳实践,将前端开发过程实现标准化、自动化和高效化的过程,…

如何利用美国站群服务器通过CN2线路优化中美之间的数据传输?

如何利用美国站群服务器通过CN2线路优化中美之间的数据传输? 随着全球化进程的不断推进,跨国企业和国际市场的拓展对数据传输速度和稳定性提出了更高的要求。特别是对于中美之间的数据传输,由于地理位置遥远和网络环境不同,优化数据传输变得…

机器人自动驾驶时间同步进阶

0. 简介 之前时间同步也写过一篇文章介绍机器人&自动驾驶中的时间同步。在最近的学习中发现一些额外需要阐述学习的内容,这里就再次写一些之前没写到的内容。 1. NTP NTP 是网络时间协议,用来同步网络中各计算机时间的协议,把计算机的时…

QT常量中有换行符解决方法--使用中文显示乱码或者编译报错

QT6.3常量中有换行符 方法1:(不能与方法2混用) cpp文件顶部添加: #pragma execution_character_set("utf-8") 方法2:(不能与方法1混用) int ret2QMessageBox::information(this,QSt…

Java | Leetcode Java题解之第45题跳跃游戏II

题目&#xff1a; 题解&#xff1a; class Solution {public int jump(int[] nums) {int length nums.length;int end 0;int maxPosition 0; int steps 0;for (int i 0; i < length - 1; i) {maxPosition Math.max(maxPosition, i nums[i]); if (i end) {end maxP…

Qt 菜单栏上手教程:QMenuBar QMenu QToolbar

引言 在Qt框架中&#xff0c;QMenuBar、QMenu、QToolbar和QAction都是用于构建应用程序界面中的用户交互元素。 QMenuBar 是什么&#xff1a;QMenuBar是一个用于创建横向菜单栏的类。在桌面应用程序中&#xff0c;它通常位于窗口的顶部。应用场景&#xff1a;当您需要一个包含…

清华大学灵境智能技术交叉创新群体博士后,综合年收入30-60万

清华大学灵境智能技术交叉创新群体现面向全球招聘优秀博士后研究人员&#xff0c;以进一步推动三维生成、三维重建、多模态智能交互、控制交互演化、知识工程及情感计算等领域的研究。我们诚邀有志于从事交叉学科研究的青年才俊加入我们的团队&#xff0c;共同探索智能技术的前…

智慧中药煎配系统:自动化煎药管理,传统中医焕发现代魅力-亿发

传统中医药服务迎来了全新的发展契机。亿发中药煎配系统&#xff0c;利用现代通信技术和自动控制技术&#xff0c;结合智能制造、大数据和物联网等现代化信息技术&#xff0c;革新中药煎制的方式&#xff0c;实现了100%数字化和全流程信息追溯&#xff0c;从根本上保障了药效和…

【Git系列】rebase的使用场景

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

解密 Grupo MasMovil 使用 ClickHouse 监控无线网络

本文字数&#xff1a;4151&#xff1b;估计阅读时间&#xff1a;11 分钟 作者&#xff1a;Rodrigo Aguirregabiria Herrero, Grupo MasMovil 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 我们很高兴与大家分享来自西班牙最大的电信…

跟裤裤一起探索结构体的奥秘!

目录 1.结构体类型的声明 2.结构体变量的创建和初始化 2.1结构体成员的直接访问 2.2结构体成员的间接访问 2.3结构体变量的创建和初始化 3.结构的自引用 4.结构体内存对齐 4.1对齐规则 ​4.2为什么存在内存对齐&#xff1f; 4.3修改默认对齐数 5.结构体传参 6.结构…

GUI测试首推!TestComplete 帮助有效缩短 40-50% 测试时长!

TestComplete 是一款自动化UI测试工具&#xff0c;这款工具目前在全球范围内被广泛应用于进行桌面、移动和Web应用的自动化测试。 TestComplete 集成了一种精心设计的自动化引擎&#xff0c;可以自动记录和回放用户的操作&#xff0c;方便用户进行UI&#xff08;用户界面&…

Pyside6:多行按钮点击判断序号

在Pyside开发过程中会遇到这么个问题&#xff1a;当多个按钮在很多行中&#xff0c;需要在点击槽函数中确认按钮的行。 普通的按钮点击信号如下&#xff1a; clicked() 该信号并未有任何参数&#xff0c;无法得到有效的信息&#xff0c;那么如何完成点击哪个确定是哪个按钮呢…

分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测

分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测 目录 分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.RIME-BP霜冰优化BP神经网络多特征分类预测&#xff08;Matlab实现完整源码和数据&a…

Linux SDIO-WiFi 协议栈

Linux SDIO-WiFi 协议栈 1. 简介2. BCMDHD2.1 WiFi模组2.2 驱动初始化&#xff08;dhd_module_init&#xff09; 3. Broadcom fullmac WLAN 1. 简介 2. BCMDHD BCMDHD&#xff1a;Broadcom Dongle Host DriverSIP&#xff1a;System In Package 2.1 WiFi模组 2.2 驱动初始化…

条件生成对抗网络(cGAN)在AI去衣技术中的应用探索

随着深度学习技术的飞速发展&#xff0c;生成对抗网络&#xff08;GAN&#xff09;作为其中的一个重要分支&#xff0c;在图像生成、图像修复等领域展现出了强大的能力。其中&#xff0c;条件生成对抗网络&#xff08;cGAN&#xff09;通过引入条件变量来控制生成模型的输出&am…