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;  
      }
    }
  }
相关文章
|
5天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
17天前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
nginx配置反向代理404问题
|
12天前
|
应用服务中间件 网络安全 PHP
八个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
Nginx 是一个高效的 HTTP 服务器和反向代理,擅长处理静态资源、负载均衡和网关代理等任务。其配置主要通过 `nginx.conf` 文件完成,但复杂设置可能导致错误。本文介绍了几个开源的 Nginx 可视化配置系统,如 Nginx UI、VeryNginx、OpenPanel、Ajenti、Schenkd nginx-ui、EasyEngine、CapRover 和 NGINX Agent,帮助简化和安全地管理 Nginx 实例。
|
22天前
|
缓存 负载均衡 应用服务中间件
Nginx配置
【10月更文挑战第22天】在实际配置 Nginx 时,需要根据具体的需求和环境进行调整和优化。同时,还需要注意配置文件的语法正确性和安全性。
38 7
|
19天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
53 2
|
21天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
24 4
|
21天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
51 2
|
22天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
32 3
|
22天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
30 3
|
9天前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。