当前位置: 首页 > news >正文

docker-compose安装nginx

基于docker-compose安装nginx

目录

一、目录结构

1、docker-compose.yml

2、nginx.conf

3、default.conf

4、index.html

二、访问测试


一、目录结构

1、docker-compose.yml

version: '3'
services:nginx:image: registry.cn-hangzhou.aliyuncs.com/zhengqing/nginx:1.21.1                 # 镜像`nginx:1.21.1`container_name: nginx               # 容器名为'nginx'restart: unless-stopped                                       # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器volumes:                            # 数据卷挂载路径设置,将本机目录映射到容器目录- "./nginx/conf/nginx.conf:/etc/nginx/nginx.conf"- "./nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf"- "./nginx/html:/usr/share/nginx/html"- "./nginx/log:/var/log/nginx"environment:                        # 设置环境变量,相当于docker run命令中的-eTZ: Asia/ShanghaiLANG: en_US.UTF-8ports:                              # 映射端口- "80:80"

2、nginx.conf

user  nginx;
worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;#gzip  on;# include /etc/nginx/conf.d/*.conf;server {listen       80;server_name  petty.icuapi.com; # 服务器地址或绑定域名#charset koi8-r;#access_log  /var/log/nginx/host.access.log  main;# =========================================================# ================== ↓↓↓↓↓↓ start ↓↓↓↓↓↓ ==================# =========================================================location / {root   /usr/share/nginx/html;#try_files $uri $uri/ @router;index  index.html index.htm;try_files $uri $uri/ /index.html; # 解决页面刷新 404 问题#proxy_pass http://zhengqingya.gitee.io; # 代理的ip地址和端口号#proxy_connect_timeout 600; #代理的连接超时时间(单位:毫秒)#proxy_read_timeout 600; #代理的读取资源超时时间(单位:毫秒)}#location @router {#rewrite ^.*$ /index.html last; # 拦截80端口后的所有请求地址到登录页面 -> 相当于后端的拦截器#}#   location ^~ /api {  # ^~/api/表示匹配前缀为api的请求#       proxy_pass  http://www.zhengqingya.com:5000/api/;  # 注:proxy_pass的结尾有/, -> 效果:会在请求时将/api/*后面的路径直接拼接到后面
##       #  proxy_set_header作用:设置发送到后端服务器(上面proxy_pass)的请求头值#       #   【当Host设置为 $http_host 时,则不改变请求头的值;#       #     当Host设置为 $proxy_host 时,则会重新设置请求头中的Host信息;#       #     当为$host变量时,它的值在请求包含Host请求头时为Host字段的值,在请求未携带Host请求头时为虚拟主机的主域名;#       #     当为$host:$proxy_port时,即携带端口发送 ex: $host:8080 】#       proxy_set_header Host $host;
##       proxy_set_header X-Real-IP $remote_addr; # 在web服务器端获得用户的真实ip 需配置条件①    【 $remote_addr值 = 用户ip 】#       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 在web服务器端获得用户的真实ip 需配置条件②#       proxy_set_header REMOTE-HOST $remote_addr;#       # proxy_set_header X-Forwarded-For $http_x_forwarded_for; # $http_x_forwarded_for变量 = X-Forwarded-For变量#   }#   location ^~ /blog/ {#       proxy_pass  http://zhengqingya.gitee.io/blog/;  # ^~/blog/表示匹配前缀是blog的请求,proxy_pass的结尾有/, 则会把/blog/*后面的路径直接拼接到后面,即移除blog
##       proxy_set_header Host $proxy_host; # 改变请求头值 -> 转发到码云才会成功#       proxy_set_header  X-Real-IP  $remote_addr;#       proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;#       proxy_set_header X-NginX-Proxy true;#   }# =========================================================# ================== ↑↑↑↑↑↑ end ↑↑↑↑↑↑ ==================# =========================================================#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   /usr/share/nginx/html;}}
}

3、default.conf

server {listen       80;server_name  localhost;#charset koi8-r;#access_log  /var/log/nginx/host.access.log  main;location / {root   /usr/share/nginx/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   /usr/share/nginx/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;#}
}

4、index.html

<!DOCTYPE html>
<html>
<head><title>Welcome to nginx!</title><style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.</p><p>For online documentation and support please refer to<a href="http://nginx.org/">nginx.org</a>.<br/>Commercial support is available at<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>

二、访问测试

直接用你nginx配置的ip或者域名进行访问即可。

相关文章:

docker-compose安装nginx

基于docker-compose安装nginx 目录 一、目录结构 1、docker-compose.yml 2、nginx.conf 3、default.conf 4、index.html 二、访问测试 一、目录结构 1、docker-compose.yml version: 3 services:nginx:image: registry.cn-hangzhou.aliyuncs.com/zhengqing/nginx:1.21.1…...

报错处理:MySQL无法启动

报错环境&#xff1a; Linux MySQL 具体报错&#xff1a; Cant connect to local MySQL server through socket /var/run/mysqld/mysqld.sock 排错思路&#xff1a; 当尝试启动MySQL服务时&#xff0c;如果出现无法连接到MySQL服务的错误&#xff0c;可能是由于MySQL服务未正确…...

Vue中表单手机号验证与手机号归属地查询

下面是一篇关于Vue中如何进行表单手机号验证与手机号归属地查询的Markdown格式的文章&#xff0c;包含代码示例。 Vue中表单手机号验证与手机号归属地查询 手机号验证和归属地查询是许多Web应用程序中常见的功能之一。在Vue.js中&#xff0c;我们可以轻松地实现这两个功能。本…...

初高(重要的是高中)中数学知识点综合

1. 集合 1.1 集合的由来和确定性 确定对象构成的整体称为集合&#xff08;组成集合的元素必须是确定的 &#xff09;&#xff0c;每个集合内的对象个体成为元素(Element)。确定性&#xff1a; 给定一个集合&#xff0c;任何一个对象是不是这个集合内的元素&#xff0c;就已经确…...

Fiddler 系列教程(二) Composer创建和发送HTTP Request跟手机抓包

Fiddler Composer介绍 Composer的官方帮助文档&#xff1a;http://www.fiddler2.com/fiddler/help/composer.asp Fiddler的作者把HTTP Request发射器取名叫Composer(中文意思是&#xff1a;乐曲的创造者), 很有诗意 Fiddler Composer的功能就是用来创建HTTP Request 然后发送…...

淘宝平台开放接口API接口

淘宝平台开放接口API接口是指淘宝平台提供给第三方开发者的一组接口&#xff0c;用于实现与淘宝平台的数据交互和功能扩展。通过API接口&#xff0c;第三方开发者可以获取淘宝平台上的商品信息、订单信息、用户信息等数据&#xff0c;也可以实现商品的发布、订单的创建和支付等…...

缓存夺命连环问

1. 为什么要用缓存&#xff1f; 用缓存&#xff0c;主要有两个用途&#xff1a;高性能、高并发。 高性能 假设这么个场景&#xff0c;你有个操作&#xff0c;一个请求过来&#xff0c;吭哧吭哧你各种乱七八糟操作 MySQL&#xff0c;半天查出来一个结果&#xff0c;耗时 600m…...

模型生成自动化测试用例

自动产生的测试用例本就应该由程序自动执行&#xff0c;这其实也就是NModel推荐的模式。先回过头来看看文章中制作的模型&#xff0c;模型里面将登录、注销、用户名以及密码等要素都抽象出来了&#xff0c;而NModel是以这些抽象出来的动作&#xff08;登录、注销&#xff09;和…...

归并排序-面试例子

小数和问题 描述 在一个数组中&#xff0c;一个数左边比它小的数的总和&#xff0c;叫数的小和&#xff0c;所有数的小和累加起来&#xff0c;叫数组小和。求数组小和。 例子 5 2 6 1 7 小和原始的求法是&#xff1a;任何一个数左边比它小的数累加起来。 5左边比它小数累加…...

docker 生成镜像的几个问题

docker 生成镜像的几个问题 根据jdk8.tar.gz 打包Jdk8 镜像失败运行镜像报错差不多是网络ip错误,在网上说重启docker即可解决运行mysql5.7.25 镜像失败向daemon.json文件添加内容导致docker重启失败docker run 命令常用参数根据jdk8.tar.gz 打包Jdk8 镜像失败 首选做准备工作…...

云计算时代的采集利器

大家好&#xff01;在今天的知识分享中&#xff0c;我们将探讨一个在云计算环境中的爬虫应用利器——独享IP。如果你是一名爬虫程序员&#xff0c;或者对数据采集和网络爬虫有浓厚的兴趣&#xff0c;那么这篇文章将向你展示独享IP在云计算环境下的应用价值。 1. 什么是独享IP&…...

【Unity编辑器扩展】| Inspector监视器面板扩展

前言【Unity编辑器扩展】| Inspector监视器面板扩展一、ContextMenu和ContextMenuItem二、Custom Editors 自定义编辑器三、Property Drawer 属性绘制器总结前言 前面我们介绍了Unity中编辑器扩展的一些基本概念及基础知识,还有编辑器扩展中用到的相关特性Attribute介绍。后面…...

Redis配置

关系型数据库和非关系型数据库 ①了解关系和非关系 关系型数据库 一个结构化的数据库&#xff0c;创建在关系模型基础上&#xff0c;一般面向于记录&#xff0c;包括Oracle、MySQL、SQL Server、Microsoft Access、DB2、postgreSQL等 非关系型数据库 除了主流的关系型数据库…...

CSDN每日一练 |『小艺照镜子』『Ctrl+X,Ctrl+V』『括号上色』2023-09-11

CSDN每日一练 |『小艺照镜子』『Ctrl+X,Ctrl+V』『括号上色』2023-09-11 一、题目名称:小艺照镜子二、题目名称:Ctrl+X,Ctrl+V三、题目名称:括号上色一、题目名称:小艺照镜子 时间限制:1000ms内存限制:256M 题目描述: 已知字符串str。 输出字符串str中最长回文串的长度…...

React 全栈体系(四)

第二章 React面向组件编程 六、组件的生命周期 1. 效果 需求:定义组件实现以下功能&#xff1a; 让指定的文本做显示 / 隐藏的渐变动画从完全可见&#xff0c;到彻底消失&#xff0c;耗时2S点击“不活了”按钮从界面中卸载组件 <!DOCTYPE html> <html lang"e…...

各种UI库使用总结

各种UI库使用总结 工作了这么年&#xff0c;使用了一些UI库&#xff0c;简单的总结一下&#xff0c;UI库也是五花八门&#xff0c;根据自己的产品&#xff0c;应用场景吧&#xff0c;没有绝对合适的&#xff0c;各有各的应用场景吧&#xff01; QT 这几年前后在一些嵌入式上…...

2023Web前端开发面试手册

​​​​​​​​ HTML基础 1. HTML 文件中的 DOCTYPE 是什么作用&#xff1f; HTML超文本标记语言: 是一个标记语言, 就有对应的语法标准 DOCTYPE 即 Document Type&#xff0c;网页文件的文档类型标准。 主要作用是告诉浏览器的解析器要使用哪种 HTML规范 或 XHTML规范…...

一文了解数据科学Notebook

编者按&#xff1a; 主要介绍什么是Notebook&#xff0c;Notebook在数据科学领域的应用的重要性与优势&#xff0c;以及数据科学家/算法团队在选择Notebook时需考虑哪些关键因素。同时&#xff0c;基于Notebook的筛选考量维度&#xff0c;对常见的Notebook进初步对比分析&#…...

2020年12月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:数组指定部分逆序重放 将一个数组中的前k项按逆序重新存放。例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。 时间限制:1000 内存限制:65536 输入 输入为两行: 第一行两个整数,以空格分隔,分别为数组元素的个数n(1 < n…...

关于ChatGPT的个人的一些观点

问题 1 Q: 你认为ChatGPT是一款非常有用的工具吗&#xff1f; A: 我认为ChatGPT是一款非常有用的工具。它可以帮助人们解决各种问题&#xff0c;包括技术问题、心理问题、生活问题等等。同时&#xff0c;ChatGPT也可以成为人们分享想法和交流的平台&#xff0c;增强人与人之间…...

Java-Callgraph2:Java静态分析工具终极指南

Java-Callgraph2&#xff1a;Java静态分析工具终极指南 【免费下载链接】java-callgraph2 Programs for producing static call graphs for Java programs. 项目地址: https://gitcode.com/gh_mirrors/ja/java-callgraph2 Java-Callgraph2是一款功能强大的Java静态分析工…...

不想做程序员了,听说网络安全前景好,现在转行还来得及吗?

不想做程序员了&#xff0c;听说网络安全前景好&#xff0c;现在转行还来得及吗&#xff1f; 我去年四月份被裁员&#xff0c;找了两个月工作&#xff0c;面试寥寥无几&#xff0c;就算有也都是外包&#xff0c;而且外包也没面试通过。我经历了挫败&#xff0c;迷茫&#xff0…...

深入 Spring Boot Logback 集成:手把手教你自定义彩色日志模板,告别千篇一律的默认样式

深入 Spring Boot Logback 集成&#xff1a;手把手教你自定义彩色日志模板&#xff0c;告别千篇一律的默认样式 在开发过程中&#xff0c;日志是我们最亲密的伙伴之一。它记录着应用的每一次心跳&#xff0c;每一个异常&#xff0c;每一次重要的状态变化。然而&#xff0c;面对…...

ARM Cortex-A72/A720架构解析与调试优化实践

1. ARM Cortex-A72/A720架构深度解析作为ARMv8-A架构的典型代表&#xff0c;Cortex-A72和A720处理器广泛应用于移动设备和嵌入式系统。我曾参与多个基于这两款核心的SoC开发项目&#xff0c;今天将结合官方文档和实战经验&#xff0c;深入剖析其关键特性和调试技巧。1.1 指令集…...

KISS原则在大模型时代的生死线:DeepSeek工程化落地中被忽略的4类隐性复杂度(附NASA级简洁度评分表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;KISS原则在大模型时代的生死线&#xff1a;从哲学信条到工程铁律 为何越“聪明”的系统越需要极简设计 当大模型参数突破千亿、推理链路横跨数十个微服务、提示工程嵌套七层模板时&#xff0c;KISS&am…...

Vivado XADC IP核 配置与接口实战解析

1. XADC IP核基础入门 XADC&#xff08;Xilinx Analog-to-Digital Converter&#xff09;是Xilinx FPGA芯片内置的高精度模拟数字转换模块&#xff0c;它能实时监测芯片内部的电压、温度以及外部模拟信号。在Vivado开发环境中&#xff0c;我们可以通过XADC Wizard IP核快速配置…...

DLSS Swapper完整指南:如何5分钟提升游戏性能50%?

DLSS Swapper完整指南&#xff1a;如何5分钟提升游戏性能50%&#xff1f; 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 您是否曾经为游戏卡顿而烦恼&#xff1f;是否在寻找提升帧率的方法却不知从何入手&#xff1f;…...

GIS国土工具实战:从地类分析到坐标转换,一站式解决项目难题

1. GIS国土工具如何解决项目痛点 第一次接触国土整治项目时&#xff0c;我被各种数据格式搞得焦头烂额。早上9点收到甲方发来的50个地块的shp文件&#xff0c;下午3点就要提交带坐标的txt报备文件&#xff0c;中间还要做地类分析和影像核对。手动操作&#xff1f;光是想到要一个…...

终极指南:PersistentWindows如何彻底解决Windows多显示器窗口管理难题

终极指南&#xff1a;PersistentWindows如何彻底解决Windows多显示器窗口管理难题 【免费下载链接】PersistentWindows fork of http://www.ninjacrab.com/persistent-windows/ with windows 10 update 项目地址: https://gitcode.com/gh_mirrors/pe/PersistentWindows …...

从Referrer Policy入手:剖析Chrome中strict-origin-when-cross-origin对POST请求的拦截与应对

1. 当POST请求突然"沉默"&#xff1a;一个前端开发者的困惑 最近在调试一个前后端分离项目时&#xff0c;我遇到了一个诡异的现象&#xff1a;前端代码明明成功调用了后端接口&#xff0c;但响应数据却始终为空。打开Chrome开发者工具&#xff0c;控制台里赫然显示着…...