Nginx 教程

Nginx 教程 Nginx 简介 Nginx 源码架构分析 Nginx 编译安装 Nginx(Tengine) 编译安装 Nginx(OpenResty) 编译安装 Nginx 配置简述 Nginx Docker 容器化配置

Nginx 核心配置指令

Nginx 核心配置指令 Nginx 配置文件 Nginx 进程配置指令 Nginx 端口监听:listen Nginx 主机名server_name Nginx 处理HTTP请求 Nginx 路由匹配规则:localhost Nginx 重定向配置:rewrite Nginx 根目录配置:root Nginx 访问路径别名:alias Nginx 文件判断:try_files Nginx 零复制:sendfile Nginx 日志记录配置

Nginx HTTP模块

Nginx 镜像模块 Nginx 请求头控制模块 Nginx IP访问控制模块 Nginx 用户cookie模块 Nginx 并发连接数限制模块 Nginx 首页处理模块 Nginx 请求频率限制模块 Nginx 页面缓存时间配置 Nginx gzip压缩及相关配置

Nginx Web服务

Nginx 静态资源服务器搭建 Nginx 文件下载服务器搭建 Nginx 伪动态SSI服务器 Nginx HTTPS服务器搭建 Nginx FastCGI模块配置简述 Nginx PHP服务器环境搭建 Nginx 基于FastCGI负载均衡 Nginx CGI网关接口 Nginx uWSGI模块配置 Nginx Python项目部署 Nginx 伪流媒体服务器搭建 Nginx HTTP2模块配置简述 Nginx WebDAV模块配置简述

Nginx 代理服务器

Nginx HTTP代理服务器 Nginx stream模块简述 Nginx TCP/UDP代理简述 Nginx 基于SSL的TCP代理服务器 Nginx gRPC代理服务器

Nginx 缓存

Nginx Web缓存配置 Nginx 代理缓存配置 Nginx Memcached 缓存模块 Nginx 反向代理缓存服务器配置 Nginx 客户端缓存控制

Nginx 负载均衡

Nginx 负载均衡模块 Nginx 负载均衡策略 Nginx 长连接负载均衡 Nginx upstream容错机制 Nginx upstream动态更新 Nginx TCP/UDP负载均衡

Nginx 日志管理监控

Nginx 日志分析简述 Nginx 访问日志配置 Nginx 错误日志配置 Nginx 日志归档配置 Nginx 日志分析工具 ELK Nginx 监控工具 Prometheus

Nginx 集群

LVS(Linux虚拟服务器)简介 Keepalived 配置简述 Nginx 集群负载搭建 Nginx 集群配置管理规划 Nginx 配置归档工具GitLab Nginx 配置修改工具Ansible Jenkins 安装与配置简述 Nginx 集群配置管理实例

Nginx 在 k8s 的应用

Kubernetes(k8s)系统简述 Kubernetes(k8s)集群部署 Kubernetes(k8s)网络通信 Nginx Ingress 简介 Nginx Ingress 安装部署 Nginx Ingress 配置映射 Nginx Ingress 注解


Jenkins安装与配置简述

Jenkins 是基于 Java 开发的一个开源的持续集成项目,其提供了一个可扩展的可对代码持续集成、发布(代码编译、打包、部署)及交付的 Web 化操作平台。Jenkins 拥有超过 1000 个插件,使其支持包括 SVN、Git 等多种版本的管理工具(SCM)的代码管理,也可以快速实现 Java、Node.js、.Net 等语言项目的编译构建,并支持包括 Docker 在内的多种形式的部署交付。通过 Jenkins 的 Web 化管理界面,依赖各种强大的插件功能,可以使 Nginx 的配置变更管理变得更加便捷和安全。

使用 Jenkins 官方提供的 Docker 镜像,可以很方便地搭建 Jenkins 工作环境,搭建过程如下:

1) 初始化系统环境

主机的操作系统为 CentOS 7.6,初始化 Docker 环境如下:
yum install -y yum-utils                        # 安装yum工具
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo                               # 安装Docker安装源
yum install -y docker-ce docker-compose # 安装Docker和docker-compose
systemctl enable docker                 # 将Docker注册为自启动服务
systemctl start docker

2) 编写docker-compose脚本

将脚本保存为jenkinsci.yaml
jenkinsci:
    image: 'jenkinsci/blueocean'
    restart: always
    hostname: 'jenkinsci'
    container_name: jenkinsci
    environment:
        - PATH=/opt/apps/apache-maven-3.5.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        - JAVA_OPTS="-Duser.timezone=Asia/Shanghai"
        - JENKINS_SLAVE_AGENT_PORT=50000
    ports:
        - '8086:8080'
        - '50000:50000'

3) 数据持久化

Jenkins 需要持久化的是 Jenkins 的运行目录,该目录包含其运行的所有配置文件,具体如下:
docker cp jenkinsci:/var/jenkins_home /opt/data/apps/jenkinsci/
chown -R 1000:1000 /opt/data/apps/jenkinsci/jenkins_home
echo "
    volumes:
        - '/opt/data/apps/jenkinsci/jenkins_home:/var/jenkins_home'
        - '/opt/data/apps/jenkinsci/apps:/opt/apps'
" >>jenkinsci.yaml

docker stop jenkinsci
docker rm jenkinsci
docker-compose -f jenkinsci.yaml up -d

4) 初始化配置及插件

Jenkins 启动后,在浏览器中访问 http://IP:8086 即可进入初始化安装界面,使用初始化密码登录,选择安装推荐插件即可。

通过以下指令获取初始化密码:

docker exec -it jenkinsci2 cat /var/jenkins_home/secrets/initialAdminPassword

Jenkins 是以任务(Job)为管理单元的,常用的任务类型有自由风格、Maven 项目、文件夹和流水线(pipeline)四种,本样例中仅使用自由风格任务类型。自由风格及流水线任务按照工作流程被划分为多个阶段,Jenkins 负责维护和管理任务在每个阶段的执行,并通过工作流的状态,按照任务的设定推动任务工作流的完成。自由风格任务的 6 个阶段配置如下表所示。

阶段配置名称 英文名称 阶段配置作用
全局配置 General 用以任务维护相关的配置,如时间戳格式、构建历史管理、构建参数等配置
代码仓库配置 SCM 用以配置代码仓库类型及代码仓库地址和账号
自动触发构建的条件配置 Build Triggers 用以设置自动触发当前任务的外部条件
构建环境配置 Build Environment 设置构建前的环境变量等配置
构建操作配置 Build 设置用以构建的工具或构建的脚本
构建后动作配置 Post-build Actions 设置构建后的相关动作,如生成构建报告、构建归档或触发其他构建等