HanXHX.nginx
Nginx 在 Debian/FreeBSD 的 Ansible 角色
在 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
:布尔值,尽可能自动配置 HTTP2nginx_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
目录加载模块。已不再支持禁用/启用。请等待进一步更新。
细致配置
注意
- 对 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:
作者信息
- 推特: @hanxhx_