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

2023-10-27

一、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

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker安装Nginx并修改Nginx配置文件 的相关文章

随机推荐

  • FLASK框架应用实例

    一 项目简介 Flask是Python编写的轻量级Web开发框架 因其良好的可扩展性 意味着 你可以写出你自己随心所欲的代码 其使用jinja模板引擎和Werkzeug WSGI 套件 在安全性方面效果明显 详细文档收藏地址 https d
  • 操作系统 -- 内存管理(分配与回收)

    目录 内存的分配方式 连续内存分配 单一连续分配 过时 固态分区分配 动态分区分配 动态分区分配算法 首次适应算法 最佳适应算法 最坏适应算法 邻近适应算法 非连续内存分配 基础定义 地址转换 十进制地址 二进制地址 页表 地址转变过程 地
  • C++基础知识(一)

    C 基础知识 一 文章目录 C 基础知识 一 1 前言 2 编译器环境 3 第一个C 程序 4 数据类型 5 存储类 1 前言 1979年 C 初生萌芽 在1983年的时候 正式改名为C 本贾尼 斯特劳斯特卢普 Bjarne Stroust
  • OpenMP学习笔记

    一 OpenMP简介 1 内存共享并行模型 机器必须多处理器 核 共享内存 底层架构可以是UMA和NUMA UMA NUMA 2 Fork Join模型 重复fork join操作 3 OpenMP特性 OpenMP仅通过线程来完成并行 O
  • Redis(二):基础之五种常见数据结构与使用方法

    五种常见数据结构与使用方法 一 字符串String Redis 中的字符串是一种 动态字符串 这意味着使用者可以修改 它的底层实现有点类似于 Java 中的 ArrayList 有一个字符数组 从源码的 sds h sdshdr 文件 中可
  • 【20170924】C语言每日一练

    程序1 题目 有数字1 2 3 4 能组成多少个互不相同且无重复数字的三位数 都是多少 include
  • docker容器内存分配

    1 和CPU控制一样 docker也提供了若干参数来控制容器的内存使用配额 可以控制容器的swap大小 可用内存大小等各种内存方面的控制 主要有以下参数 memory swappiness 控制进程将物理内存交换到swap分区的倾向 默认系
  • Python selenium(一般不使用,原因:打开浏览器,虽然简单但是性能低)

    selenium使用 1 创建浏览器对象 driver webdriver xxx 2 发送请求 driver get url driver对象常用的属性和方法 1 driver page source 当前标签页浏览器渲染后的页面源代码
  • ESP8266学习笔记(二)

    上篇文章提到了如何使用USB转TTL模块调试ESP8266模块以及该模块的几种工作方式 此篇将会介绍如何实现ESP8266模块与单片机的通信 功能介绍 esp8266模块与stm32单片机的串口三之间互相通信 本人测试的是esp8266模块
  • 【100天精通python】Day37:GUI界面编程_PyQt 从入门到实战(上)_PyQt6基本组件、事件和信号槽、界面设计

    目录 专栏导读 1 PyQt6 简介 1 1 安装 PyQt6 和相关工具 1 2 PyQt6 基础知识 1 2 1 Qt 的基本概念和组件 1 2 2 创建和使用 Qt 窗口 标签 按钮等基本组件 1 2 3 布局管理器 垂直布局 水平布
  • Qt信号槽连接在有默认形参下的情况思考

    写下这个给自己备忘 比如函数 void test int a 0 你在调用端如论是test 3 或者test 都可以正确调用到这个函数 但是 如果放到Qt中的信号槽的话 这个还是值得讲一讲的 不然的话 可能会引起相应的误会 其实说到底 Qt
  • 互联网JAVA面试常问问题(二)

    一 线程有几种创建方式 这是一道比较常见的java线程问题 一般就是两种线程创建方式 继承Thread类 实现Runnable接口 继承Thread类 public class MyThread extends Thread private
  • Android资源文件中颜色使用的总结

    本文对Android颜色的使用做总结 重点介绍颜色在资源文件中的创建和颜色的选择器的创建和使用 一 在xml中使用颜色资源文件和颜色选择器文件 一 颜色资源文件的创建 1 创建资源文件 如图所示 2 编辑colors xml资源文件 如图所
  • halcon 与PLC串口通信解决方案

    OpSystem environment OS if OpSystem Windows NT open serial COM1 SerialHandle else open serial dev tty SerialHandle endif
  • vite项目中导入图片后报找不到模块处理方法

    vite项目 typescript的项目中 导入图片后报找不到模块处理方法 问题 在使用ts书写代码时 导入本地文件夹中图片 会出现报错 找不到模块 但是又能正常使用该图片 这样的报错启动项目是没有问题 但是最后打包会报错 所以不得不处理
  • MPP架构、常见OLAP引擎分析

    MPP架构 常见OLAP引擎分析 一 MPP架构 1 SMP 2 NUMA 3 MPP 二 批处理架构和MPP架构 三 MPP架构的OLAP引擎 1 只负责计算 不负责存储的引擎 1 Impala 2 Presto 2 既负责计算 又负责存
  • 性能测试报告全解析:如何编写一份专业的性能测试报告!

    一 背景 性能测试是软件开发过程中非常重要的一环 它可以帮助开发人员和质量保障人员评估软件在不同负载下的表现 找出瓶颈并优化性能 从而提高用户的满意度 而一份专业的性能测试报告 则是评估软件性能的重要成果之一 因此今天我们将分享一份完整的性
  • 解决ThinkPHP3.2 将Debug 关闭 设置为False 报页面错误 请稍后再试

    1 最近系统要上线 就把Index php中的debug 关闭 设置成false 结果出现如下的错误 2 修改config php文件 加入 SHOW ERROR MSG gt TRUE 后 显示错误信息 又报如下的错 这才是真正的错误信息
  • Windows Server 2022 下 Hyper-V NAT外网访问配置

    Windows Server 2022 下 Hyper V NAT外网访问配置 一 前言 二 安装 配置虚拟网卡 三 角色安装 四 路由和远程访问服务配置 五 DHCP服务器配置 六 DNS服务器配置 七 Hyper V配置 八 结果 本篇
  • Docker安装Nginx并修改Nginx配置文件

    一 Docker安装Nginx 1 首先在虚拟机上要确保你已经启动了docker 2 其次登录DockerHub官网 然后搜索nginx 然后在虚拟机里面输入docker pull nginx 就可以下载nginx的镜像了 3 注意下载完以