Docker安装nginx和基本配置

简介: Docker安装nginx和基本配置


一、拉取镜像,创建容器

🍀1、拉取 nginx 镜像

docker pull nginx:1.17.8

🍀2、查看所有镜像

docker images

🍀3、根据镜像创建和运行 nginx 容器

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

🖊docker run:运行并创建容器

🖊\ :命令换行符(用于增加可读性)

🖊--name:给创建的 Nginx 容器 起个名字

🖊-p:p 指代的英文是【port】;该参数用于做宿主机端口和容器内端口的映射;【:】左边是宿主机端口,【:】右边是容器内端口

🖊-d:d 指代的英文是【detach】;该参数用于让容器后台运行

🖊nginx:1.17.8:镜像名

🍀4、查看所有容器

docker ps -a

二、修改展示页面

🍀1、宿主机创建 nginx 相关的目录(用于和容器内的目录做挂载)

mkdir /home/local/nginx/www
mkdir /home/local/nginx/logs
mkdir /home/local/nginx/conf

🍀2、拷贝 Nginx 容器内部的默认配置文件到本地目录 /home/local/nginx/conf

docker cp \
f322a35a5f37:/etc/nginx/nginx.conf \
/home/local/nginx/conf

🍀3、删除运行中的容器

docker rm -f f322a35a5f37

🍀4、在 www 文件夹放入 index.html 文件(下面是示例)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HelloWorld</title>
  <link rel="icon" href="./favicon.ico" type="image/x-icon">
    <style>
    #words-content {
      width: 999px;
      background: #f2f2f2;
      margin: 18px auto;
      text-align: center;
      font-size: 28px;
      ont-family: "楷体", KaiTi, STKaiti, KaiTi_GB2312, serif;
      padding: 18px;
      transition: 1s all;
    } 
    #words-content:hover {
      border-radius: 22px;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    }
    .deleted {
            text-decoration: line-through;
      font-size: 22px;
        }
    .green {
      color: #68be1f;
    }
    #title {
      font-size: 39px;
      font-weight: 700;
      margin-bottom: 20px;
      color: #0078d7;
    }
    </style>
</head>
<body>   
    <div id="words-content">
      <div id="title">你好!世界</div>
    <div>
      <i>我们日夜忙碌,我们追逐名利,我们行色匆匆,我们看重得失...</i>
    </div>
    <div style="margin: 18px 0">
      我们越来越<span class="deleted">孤独</span>,
      越来越<span class="deleted">寂寞</span>,
      越来越<span class="deleted">幸苦</span>。
      <div>生活中百分百会有<span class="deleted">困难</span>!</div>
    </div>
    <div id="encourage">
      <div>始终坚信你是<span class="green">最棒的</span>!</div>
      <div>始终坚信你会<span class="green">成功</span>!</div>
      <div>You will be extraordinarily <span class="green">lucky</span>!👍</div>
      <div>Everything around you will be extremely <span class="green">nice</span>!👍</div>
      <div>You will lead a <span class="green">handsome</span> life everyone longs to have!👍</div>
    </div>
  </div>
</body>
</html>

🍀5、创建并影响容器,同时宿主机目录和容器内目录挂载

docker run \
--name nginx \
-p 80:80 \
-d \
-v /home/local/nginx/www:/usr/share/nginx/html \
-v /home/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/local/nginx/logs:/var/log/nginx \
nginx:1.17.8

三、基本配置

🍀1、在 www 目录创建两个目录(每个目录代表一个前端项目)

🍀2、修改 hosts 文件,把域名和宿主机IP进行绑定

vim /etc/hosts

🍀3、修改 conf 目录中的 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;
  
  # 配置aboutme.gqok.xyz服务
  server {
    listen  80;
    server_name aboutme.gqok.xyz;
    root  /usr/share/nginx/html/aboutme.gqok.xyz;
    location / {
      root /usr/share/nginx/html/aboutme.gqok.xyz;
      index index.html index.htm index.php;
    }
  }
  
  # 配置test.gqok.xyz服务
  server {
    listen  80;
    server_name test.gqok.xyz;
    root  /usr/share/nginx/html/test.gqok.xyz;
    location / {
      root /usr/share/nginx/html/test.gqok.xyz;
      index index.html index.htm index.php;
    }
  }
}

四、配置反向代理

# 配置test.gqok.xyz服务
  server {
    listen  80;
    server_name test.gqok.xyz;
    root  /usr/share/nginx/html/test.gqok.xyz;
    location / {
      root /usr/share/nginx/html/test.gqok.xyz;
      index index.html index.htm index.php;
      if (!-e $request_filename) {
      # 配置反向代理
        proxy_pass http://gqok.xyz:9527;  
      }
    }
  }
相关文章
kde
|
1月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
kde
711 4
|
2月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
297 1
|
1月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
109 5
|
2月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
348 3
docker 安装 Postgres 17.6
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
333 5
|
1月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
328 2
|
2月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
257 18
|
2月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
320 17
|
3月前
|
数据建模 应用服务中间件 PHP
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
本示例演示如何通过Docker挂载同一宿主目录至Nginx与PHP容器,实现PHP项目运行环境配置。需注意PHP容器中监听地址修改为0.0.0.0:9000,并调整Nginx配置中fastcgi_pass指向正确的IP与端口。同时确保Nginx容器中/var/www/html权限正确,以避免访问问题。
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信