Docker安装Nginx并修改Nginx配置文件

news2025/3/1 11:54:38

一、Docker安装Nginx

1、首先在虚拟机上要确保你已经启动了docker。

在这里插入图片描述

2、其次登录DockerHub官网,然后搜索nginx,,然后在虚拟机里面输入docker pull nginx,就可以下载nginx的镜像了。

在这里插入图片描述

3、注意下载完以后要使用docker images指令查看一下是否下载成功了!

在这里插入图片描述

4、启动nginx,输入如下语句,然后回车,在这里对各个参数我简单说一下。

(1)–name:确定容器的名字。

(2)-d 指定容器是后台运行。

(3)-p 容器暴露端口号。

(4)nginx 指定镜像,因为我们这里下载的是nginx的最新版,所以可以不用加版本号,但是如果下载的不是最新版,则需要加版本号,举个例子nginx:1.2.45,大概是这样啊!

docker run \
--name ng \
-d \
-p 80:80 \
nginx

5、这时候大家可以使用docker -ps -a,来查看自己的容器是否已经运行!

在这里插入图片描述

二、修改docker的配置文件:

1、这里修改docker的配置文件,核心就是就利用-v参数,对其进行数据卷的绑定。

2、但是你怎样知道nginx的配置文件是什么样子的,你怎样知道nginx的配置文件在哪里呢,这里就需要访问dockerHub的官网,去找寻答案了!我们通过官网的查看发现,nginx的html文件的路径在/usr/share/nginx/html中,nginx的配置文件主要在/etc/nginx/nginx.conf中!

在这里插入图片描述

在这里插入图片描述

3、因此,在这里我们可以利用docker中的cp指令将其copy出来,然后在进行数据卷的绑定!!

(1)首先创建相应的文件夹:

mkdir -p \
/tmp/nginx/html \
/tmp/nginx/conf 

(2)其次复制配置文件和文件夹到宿主机指定目录,注意,这里一定要保证你的nginx容器已经运行起来了!!

docker cp ng:/etc/nginx/nginx.conf /tmp/nginx/conf/

(3)然后你就可以去查看/tmp/nginx/conf中的,如下图所示:


user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
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;
     
}  
}

(4)删除之前的nginx的容器,输入docker rm -f ng,即可!

(5)重新创建一个nginx的容器,输入如下代码块:

docker run \
--name ng \
-d \
-v /tmp/nginx/html:/usr/share/nginx/html \
-v /tmp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-p 80:80 \
nginx

(6)启动之后,我们就可以修改配置文件了!

三、重新定义nginx配置文件:

1、如果我想要重新定义一个server,那怎么办?

在这里插入图片描述

原因:注意一定要将include /etc/nginx/conf.d/.conf这一行先注释掉,原因是因为/etc/nginx/conf.d/.conf里面有一个default.conf默认配置,如果不注释,那么还是会先走默认配置!

2、解决跨域问题,怎么办,有两种办法:

(1)第一种办法:在重新定义的server里面继续写。

  server {
	listen 80;
	server_name testVite;
	location / {
	root   /usr/share/nginx/index12;
	index  index.html index.htm;
	}
	 location /api/ {
		proxy_pass http://192.168.37.1:8086/;
	}
}

(2)第二种方法,不要重新定义server,而是在nginx的default.conf文件里面写,那么这种办法需要重新走一遍这一篇博客的上述流程,先把default文件利用cp指令copy出来,然后利用重新创建nginx的容器,利用-v参数进行挂载,然后进行跨域配置!相当于在重新练习一遍,也可以哈,加深一下印象!!!!

具体大家可以参照这一篇博客:
https://blog.csdn.net/qq_43878324/article/details/122816736

在这里插入图片描述

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

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

相关文章

市场调查与分析[市场调查员][抽样技术方案][抽样方法][F检验]

正大杯比赛最新参考题(预测含必考) - 知乎 目录 A市场调查员 B抽样技术方案 一、调查目的、范围、对象及内容 二、抽样方案设计的原则与特点 三、样本区、县的选取 3.1全国区、县的调查总体 3.2区、县分层 (1)地域 (2)区、县类别 四、各阶…

怎么复习信息系统项目管理师?

废话不多说~ 正文开始~ 一、备考前期准备 1、合理规划时间,把握备考节奏 大家在网上经常会看到,考软考高级很简单,说是1个月就可以。 确实现实中存在大神,况且运气还占据一定比例,人家能上,咱真的不一…

鼎医信息加入PolarDB开源数据库社区

近日,上海鼎医信息技术有限公司签署阿里巴巴开源CLA(Contribution License Agreement, 贡献许可协议), 正式与阿里云PolarDB 开源数据库社区牵手。 过去 5 年,阿里云针对 PolarDB 进行了诸多创新,通过采用存储计算分离、软硬一体化设计&#…

SREWorks v1.3 版本发布 | 插件机制发布

在v1.2版本发布之后,SREWorks团队着手开始了v1.3版本的迭代。此次v1.3版本融合了较多用户需求,以及对底座机制进行了较大调整和优化,故发版时间长了很多。下面让我们切入正题,来看看这些大变化究竟是哪些? 1. 插件机制…

Web3——开发第一个智能合约

学习写第一个智能合约,下面连接是集成开发环境 https://github.com/smartcontractkit/full-blockchain-solidity-course-js#lesson-2-welcome-to-remix-simple-storage 点击 “Remix” 来到Remix IDE,这就是我们要写代码的地方,集成开发环境…

一文入门mybatis-plus

mybatis-plus mybatis-plus官网 MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生. 可以说呢,在MP基础上还可…

一次想不到的 Bootstrap 类加载器带来的 Native 内存泄露分析

最近我们线上有同学反馈,java 服务在接入了支持预发的 javaagent 以后会出现缓存的内存增长,去掉 agent 启动以后内存增长正常。于是分析了一下这个问题,写了这篇文章。 备注:JVM 堆内存最大 1000M 主要会涉及下面这些内容&#…

防火墙基础技术

目录 一、内容概述 二、防火墙概述 防火墙的应用 防火墙的本质 防火墙的发展历程 防火墙特征 防火墙分类 包过滤防火墙: 包过滤防火墙的缺点: 代理防火墙: 代理防火墙的缺点: 状态检测防火墙: 状态检测防火…

【Linux修炼手册:基本指令(下)】

目录 1 man指令(重要) 2 more指令 3 less指令(重要) 4 head指令和tail指令 5 时间相关的指令 6 Cal指令 7 find指令:(灰常重要) -name 8 grep指令 9 zip/unzip指令 10 其他常见命令 1…

SiPM使用总结

1、SiPM的电子模型 首先我们来看一下二极管的雪崩电子模型,电子模型和雪崩时的电流波形如下图所示, 电流上升的快慢是由电容的充放电速度决定的,充电的时常数TdRS*Cd,放电的时常数 TqRq*Cd,这里Rq>>Rs&#xf…

《Hidden Markov Map Matching Through Noise and Sparseness》读书笔记

摘要 Our test shows how the algorithm breaks down as the sampling rate of the GPS is reduced. We also test the effect of increasing amounts of additional measurement noise in order to assess how well our algorithm could deal with the inaccuracies of other…

甘露糖修饰阿奇霉素|mannose-Azithromycin|甘露糖-聚乙二醇-阿奇霉素

甘露糖修饰阿奇霉素|mannose-Azithromycin|甘露糖-聚乙二醇-阿奇霉素 甘露糖修饰阿奇霉素,溶于大部分有机溶剂,如:DCM、DMF、DMSO、THF等等。在水中有很好的溶解性,取用一定要干燥,避免频繁的溶解和冻,提供…

2022年11月华南师范大学自考本科计算机信息管理系统加考实践题目

《 管理信息系统 》课程试卷 答卷提交说明: 在access环境下填写SQL命令完成以下实践的题目,并返回执行结果的截图,答卷的答题格式如下,包括三部分:题目,SQL文本代码,代码运行截图&#xf…

负载均衡架构

整体架构 设计关键点 4级负载架构 3级负载架构 2级负载架构 技术剖析 DNS 应用 地理位置和机房级别的负载均衡 优点 标准协议 缺点 能力有限,不够灵活DNS劫持DNS缓存 HTTP-DNS 应用场景 App、客户端 优缺点 可以根据业务和团队技术灵活定制非标协议、不通…

企业微信汇报怎么定时提醒?如何导出?

汇报工作的重要性在哪里? 作为职场人,能够准确及时的和自己的领导汇报自己的工作,不仅仅是我们工作的一部分,也是我们和领导工作沟通的一种十分重要的形式。汇报工作的重要性主要体现在: ● 可以让你的领导知道你日常…

算法刷题日志——贪心

文章目录分发糖果根据身高重建队列分发糖果 相邻的学生中,评分高的学生必须获得更多的糖果 ,所以需要分别从左往右和从右往左遍历,然后取两次遍历结果的最大值就是最少糖果的数目了。 class Solution {public int candy(int[] ratings) {int[…

xgplayer西瓜视频插件引用后因视频格式引起问题?

起因是我的医疗公众号项目为了应对新需求引入了西瓜视频插件,但后台配置视频文件后有的可以正常展示,有的却是黑屏。我这边的安卓和ios端app都嵌套了我写的h5页面。 初步调查: 个别课程在手机上看着确实不能播放,在电脑上播放是…

大麦 Android 选座场景性能优化全解析

作者:于世雷(蓝彻) 通常情况下移动端APP由于受到设备性能所限一般较少有场景会处理超量数据,更多的是将复杂数据处理交付给服务端。本质上降低终端强数据处理是很有必要的,降低CPU使用率、减少内存抖动可以大幅提升APP使用体验。但是有时移动…

Node.js学习记录

一、Node.js简介 浏览器中JavaScript在浏览器中的运行环境(代码正常运行需要的环境), Node.js后端的运行环境,通过Node.js可以实现用JavaScript后端开发 Node.js是一个基于Chrome V8引擎的JavaScript运行环境 二、fs文件系统模块 …

腾讯云短信告警

腾讯云短信告警 密钥获取地址:https://console.cloud.tencent.com/cam/capi #!/bin/python #-*- coding: utf-8 -*-import json, sys from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import ClientProfile from tenc…