当前位置: 首页 > article >正文

在 Docker 中安装并配置 Nginx

要在 Docker 中安装并配置 Nginx,您可以按照以下步骤进行:

  1. 拉取 Nginx 镜像:

    首先,从 Docker Hub 拉取最新版本的 Nginx 镜像:

    docker pull nginx
    
  2. 创建本地目录以挂载配置文件和静态资源:

    为了方便管理和持久化 Nginx 的配置文件、日志和静态资源,建议在主机上创建以下目录:

    mkdir -p ~/nginx/conf
    mkdir -p ~/nginx/logs
    mkdir -p ~/nginx/www
    

    其中:

    • ~/nginx/conf:用于存放 Nginx 的配置文件。

    • ~/nginx/logs:用于存放 Nginx 的日志文件。

    • ~/nginx/www:用于存放静态资源文件。

  3. 创建 Nginx 配置文件:

    ~/nginx/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;
    
        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  /var/log/nginx/host.access.log  main;
    
            location / {
                root   /usr/share/nginx/html;
                index  index.html index.htm;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   /usr/share/nginx/html;
            }
        }
    }
    

    请根据实际需求修改配置文件。

  4. 运行 Nginx 容器并挂载配置:

    使用以下命令运行 Nginx 容器,并将上述创建的目录挂载到容器中:

    docker run -d \
      --name mynginx \
      -p 80:80 \
      -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
      -v ~/nginx/logs:/var/log/nginx \
      -v ~/nginx/www:/usr/share/nginx/html:ro \
      nginx
    

    此命令的含义如下:

    • -d:后台运行容器。

    • --name mynginx:为容器指定名称为 mynginx

    • -p 80:80:将主机的 80 端口映射到容器的 80 端口。

    • -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro:将主机的 Nginx 配置文件挂载到容器内,并设置为只读。

    • -v ~/nginx/logs:/var/log/nginx:将主机的日志目录挂载到容器内。

    • -v ~/nginx/www:/usr/share/nginx/html:ro:将主机的静态资源目录挂载到容器内,并设置为只读。

  5. 验证 Nginx 是否成功运行:

    在浏览器中访问 http://localhost,如果看到 Nginx 的欢迎页面,说明部署成功。

通过上述步骤,您已在 Docker 中成功安装并配置了 Nginx。


http://www.kler.cn/a/576534.html

相关文章:

  • Service 无法访问后端 Pod,如何逐步定位问题
  • C++ `bitset` 入门指南
  • 蓝桥杯P17153-班级活动 题解
  • Elastic如何获取当前系统时间
  • 【算法方法总结·四】字符串操作的一些技巧和注意事项
  • Chrome 扩展开发:Chrome 扩展的作用和开发意义(一)
  • Ollama 框架本地部署教程:开源定制,为AI 项目打造专属解决方案!
  • 网络与网络安全
  • 每天记录一道Java面试题---day28
  • 3.6 登录认证
  • el-table一格两行;概率;find
  • 面向服务的架构风格
  • P63 C++当中的计时
  • Vim复制内容到系统剪切板
  • 深入HarmonyOS NEXT开发中的ArkData操作SQLite数据库
  • 如何收集 Kubernetes 集群的日志
  • 在 k8s中查看最大 CPU 和内存的极限
  • Vue-flow中动态流程图的实现
  • C++学习——栈(一)
  • 江科大51单片机笔记【9】DS1302时钟可调时钟(下)