HanXHX.nginx

Nginx 在 Debian/FreeBSD 的 Ansible 角色

Ansible Galaxy GitHub Workflow Status (master branch)

在 Debian/FreeBSD 上安装和配置 Nginx。

功能:

  • SSL/TLS 加强支持
  • 管理站点/位置的基本认证
  • 代理 + 上游
  • 快速 PHP 配置
  • 预配置站点模板(适用于多种应用)
  • 自动配置 SSL/TLS 网站的 HTTP2
  • 管理动态模块(安装和加载)
  • 部署自定义的 facts.d 站点配置
  • 支持使用代理协议监听
  • 使用 acme.sh 生成证书(让我们加密)-- 实验性功能

支持的操作系统:

操作系统 工作 稳定(积极支持)
Debian Jessie (8) 查看最新支持的版本 (1.5.0)
Debian Stretch (9) 查看最新支持的版本 (1.9.0)
Debian Buster (10)
Debian Bullseye (11)
Debian Bookworm (12) 暂无支持 :)
FreeBSD 11 不适用
FreeBSD 12 不适用
Ubuntu 20.04
Ubuntu 22.04

要求

  • Ansible >=2.11
  • 如果将 nginx_backports 设置为 true,必须在启动此角色之前安装 backports 仓库。

角色变量

打包

Debian:

  • nginx_apt_package:APT nginx 包(尝试:apt-cache search ^nginx)
  • nginx_backports:从 backport 仓库安装 nginx(布尔值)

FreeBSD:

  • nginx_pkgng_package:PKGNG nginx 包(应为 "nginx" 或 "nginx-devel")

共享

  • nginx_root:文件存放的根目录
  • nginx_log_dir:日志目录(如果更改,请别忘记更改 logrotate 配置)
  • nginx_resolver:DNS 解析器列表(默认:OpenDNS)
  • nginx_error_log_level:默认日志级别
  • nginx_auto_config_httpv2:布尔值,尽可能自动配置 HTTP2
  • nginx_fastcgi_fix_realpath:布尔值,使用 realpath 进行 fastcgi(修复 symlink 和 PHP opcache 的问题)
  • nginx_default_hsts:字符串,默认发送的 HSTS 头

Nginx 配置

  • nginx_user
  • nginx_worker_processes
  • nginx_pid:守护进程 pid 文件
  • nginx_events_*:事件块中的所有变量
  • nginx_http_*:http 块中的所有变量
  • nginx_custom_core:指令列表(用于核心,将数据放入 /etc/nginx/nginx.conf
  • nginx_custom_http:指令列表(将数据放入 /etc/nginx/conf.d/custom.conf
  • nginx_module_packages:要安装的模块包列表(Debian)
  • nginx_load_modules:要加载的模块列表(完整路径),仅适用于 FreeBSD

其他

  • nginx_debug_role:如果需要查看 no_log 任务的输出,请设置为 true

关于模块

Debian backports 从 /etc/nginx/modules-enabled 目录加载模块。已不再支持禁用/启用。请等待进一步更新。

细致配置

站点配置

PHP 配置

上游配置

SSL/TLS 配置

基本认证

FreeBSD

acme.sh

注意

  • 对 Debian/Ubuntu 的主动支持。
  • FreeBSD 的支持为实验性。目前我只测试了 10.2(但可能在其他版本上也能工作)。

依赖关系

请参考: requirements.yml

如果您需要在 Vagrant 上本地开发此角色

在使用 Vagrant 之前,请运行一次:

ansible-galaxy install -p ./tests/ HanXHX.php,master

如果您需要使用 molecule 本地开发此角色

查看 molecule 目录中的可用场景。

使用 debian-12 场景:

molecule -v -c molecule/_shared/base.yml verify -s debian-12

示例播放簿

请查看 tests/test.yml

许可证

GPLv2

捐赠

如果这段代码帮助了您或者您在项目中使用了它,请随意请我喝一杯 :beers:

  • 比特币: 1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
  • 以太坊: 63abe6b2648fd892816d87a31e3d9d4365a737b5
  • 莱特币: LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
  • 门罗币: 45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ

没有加密货币?:star: 这个项目也是一种感谢的方式! :sunglasses:

作者信息

安装
ansible-galaxy install HanXHX.nginx
许可证
gpl-2.0
下载
6.1k
拥有者
CEO/CTO/SRE triplestack.fr / daemonit.com