参考资料

  1. r-base 是 R 语言的官方基础镜像,包含了 R 编程语言的核心功能。
  2. OwnCloud/Server 是一个开源自托管文件同步和共享平台
  3. spiped(Secure Pipe Daemon)是一个用于创建加密管道的工具
  4. Oracle Linux 是由 Oracle 公司提供的企业级 Linux 发行版
  5. SimpleMindMap 是一款开源的思维导图工具
  6. docker镜像(Image)是什么?
  7. 青龙面板(QingLong)是一款开源的、基于Web的定时任务管理平台
  8. Docker Desktop的安装步骤

Nginx 简介

Nginx 是一款高性能的开源 Web 服务器、反向代理服务器和负载均衡器,由 Igor Sysoev 开发。它采用事件驱动的异步架构,支持高并发连接,广泛用于静态资源服务、API 网关和动态内容加速。

特点

  1. 高性能:事件驱动模型,支持高并发(单机可处理数万并发连接)。

  2. 低内存消耗:高效的内存管理机制。

  3. 反向代理与负载均衡:支持 HTTP、TCP/UDP 负载均衡。

  4. 热部署:支持不重启服务更新配置或二进制文件。

  5. 模块化设计:支持动态模块加载(如 HTTP/2、gRPC)。

  6. 高扩展性:通过 Lua 脚本(OpenResty)或第三方模块扩展功能。

最新更新内容及时间

  • 最新稳定版:1.25.3(截至 2023 年 10 月)

    • 新增:对 QUIC 和 HTTP/3 的实验性支持。

    • 修复:内存泄漏和 SSL 相关漏洞。

    • 详情见 官方更新日志

镜像下载地址

官网地址

文档地址


Docker 安装示例

# 拉取官方镜像
docker pull nginx:latest

# 运行容器(映射 80 端口)
docker run -d -p 80:80 --name my-nginx nginx

# 挂载自定义配置和静态文件
docker run -d -p 80:80 -v /path/to/nginx.conf:/etc/nginx/nginx.conf -v /path/to/html:/usr/share/nginx/html nginx

YAML 配置示例(适用于 Kubernetes)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.25
        ports:
        - containerPort: 80
        volumeMounts:
        - name: nginx-config
          mountPath: /etc/nginx/nginx.conf
          subPath: nginx.conf
      volumes:
      - name: nginx-config
        configMap:
          name: nginx-config

常见错误及解决

  1. 403 Forbidden

    • 原因:权限不足或根目录配置错误。

    • 解决:检查 root 路径权限,确保用户(如 nginx)有读取权限。

  2. 502 Bad Gateway

    • 原因:反向代理的后端服务不可达。

    • 解决:检查 proxy_pass 地址和后端服务状态。

  3. Address already in use

    • 原因:端口被占用。

    • 解决:终止占用端口的进程或修改 Nginx 监听端口。

  4. worker_connections exceed open file resource limit

    • 原因:系统文件描述符限制。

    • 解决:修改 /etc/security/limits.conf,增加 nofile 值。

  5. SSL 证书错误

    • 原因:证书路径或权限问题。

    • 解决:检查 ssl_certificatessl_certificate_key 路径,确保证书文件可读。


配置片段示例

# 反向代理配置
server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://backend-server;
        proxy_set_header Host $host;
    }
}

# 静态文件服务
server {
    listen 80;
    root /var/www/html;
    index index.html;
}

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。