我们服务器的 NGINX 是 运行,但需要更多的配置。我能做什么?

NGINX we server is running, but requires more configurations. what can i do?

我只是在玩 docker,并尝试使用 docker 在本地启动基本 html 文件。服务器已启动且 运行 但未在网站上显示 html 文本。我需要什么配置才能显示 html 文本?

我遇到的错误:

“如果您看到此页面,则 nginx Web 服务器已成功安装并正常工作。需要进一步配置。”

这是我的代码:

index.html:

<h1>Hello world</h1>
<p1>docker</p1>

docker文件:

FROM nginx
COPY C:\Users\X12X\Desktop\docker test

docker-compose.yml:

version: '2'
services:
    app:
        shm_size: 128m
        build: .
        image: nginx
        volumes:
            - C:\Users\X12X\Desktop\docker test
        ports:
            - "8080:80"

我是 docker 的新手,我不确定我需要做什么样的配置才能在 localhost/8080 网页上显示 HTML 文本

您需要 server block 将您的 NGINX 指向 /test 文件夹,或者挂载您的 index.html 文件在默认位置:/usr/share/nginx/html

  1. 使用默认的 NGINX 位置 /usr/share/nginx/html,你只需要这个 docker_compose.yml (您不需要 Dockerfile):

    version: '2'
    services:
      app:
        image: nginx
        volumes:
          - C:\Users\X12X\Desktop\docker:/usr/share/nginx/html
        ports:
          - "8080:80"
    
  2. 添加服务器块:

    1. 您需要覆盖默认的服务器块配置文件,在/etc/nginx/conf.d/default.conf:

      server {
        listen 80 default_server;
        server_name _;
        index index.html;
      
        server_name_in_redirect off;
      
        root  /test;
      } 
      
    2. 您需要将此配置文件挂载到配置文件夹/etc/nginx/conf.d/以及index.html

      version: '2'
      services:
        app:
          image: nginx
          volumes:
            - C:\Users\X12X\Desktop\docker:test
            - C:\Users\X12X\Desktop\docker\default.conf:/etc/nginx/conf.d/default.conf 
          ports:
            - "8080:80"
      

Docker文件:

FROM nginx
COPY index.html /usr/share/nginx/html

Docker-编写文件:

version: '2'
services:
    app:
        build:
          context: .
          dockerfile: Dockerfile
        ports:
            - "8080:80"

构建上下文在这里非常重要。在您的 docker 文件的 COPY 命令中,源路径必须在您的构建上下文中。

这是构建上下文目录的内容:

还记得 运行 docker-在分离模式下组合(docker-组合 -d)。