【阿里云】使用docker安装nginx后可以直接访问

一、创建目录

powershell 复制代码
mkdir -p config/{cert,conf.d} html logs

二、上传nginx.conf的配置文件

powershell 复制代码
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;

    # 新增 server 块以监听 80 端口
    server {
        listen 80;
        server_name _;  # 这里可以是你的域名,或者使用 "_" 来匹配所有未指定的主机名

        # 设置默认首页文件和站点根目录
        root /usr/share/nginx/html;
        index index.html index.htm;

        # 处理静态文件请求
        location / {
            try_files $uri $uri/ =404;
        }

        # 可选:重定向到 HTTPS (如果你有 SSL/TLS 证书)
        # return 301 https://$host$request_uri;
    }
}

三、配置docker-compose.yml文件

powershell 复制代码
version: '3.8'

services:
  nginx:
    image: nginx:1.23.3
    restart: unless-stopped
    container_name: nginx1.23.3
    ports:
      - "80:80"
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./config/nginx.conf:/etc/nginx/nginx.conf
      - ./config/conf.d/:/etc/nginx/conf.d/
      - ./config/cert/:/etc/nginx/cert/
      - ./html/:/usr/share/nginx/html/
      - ./logs/:/var/log/nginx/
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost"]
      interval: 30s
      timeout: 10s
      retries: 3

四、配置docker镜像加速源

powershell 复制代码
vim /etc/docker/daemon.json
powershell 复制代码
{
    "registry-mirrors": [
        "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
        "https://docker.m.daocloud.io",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://your_preferred_mirror",
        "https://dockerhub.icu",
        "https://docker.registry.cyou",
        "https://docker-cf.registry.cyou",
        "https://dockercf.jsdelivr.fyi",
        "https://docker.jsdelivr.fyi",
        "https://dockertest.jsdelivr.fyi",
        "https://mirror.aliyuncs.com",
        "https://dockerproxy.com",
        "https://mirror.baidubce.com",
        "https://docker.m.daocloud.io",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn",
        "https://docker.mirrors.ustc.edu.cn",
        "https://mirror.iscas.ac.cn",
        "https://docker.rainbond.cc"
    ]
}

五、编写HTML

html 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>docker-compose搭建nginx</title>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>

六、结果

相关推荐
顺风尿一寸3 分钟前
Nginx源码分析:变量系统的设计与请求生命周期中的日志记录
nginx
Sheffield20 小时前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield1 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽1 天前
win10下运行Start Broker and Proxy报错解决
docker
用户13573999256602 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h2 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔2 天前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab3 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
天朝八阿哥3 天前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code
十二7403 天前
前端缓存踩坑实录:从版本号管理到自动化构建
前端·javascript·nginx