bbatsche.nginx

Ansible Nginx Passenger 角色

构建状态 许可证 角色名称 发布版本 下载次数

该角色将安装 Nginx 服务器以及用于服务 Node、Python 或 Ruby 的 Phusion Passenger 绑定。它还可以为指定的域名设置和配置网站。

要求

该角色利用了 Linux 文件系统 ACL 和一个名为“web-admin”的组来授予访问配置目录的权限。你可以手动配置这些步骤,也可以安装 bbatsche.Base 角色。

角色变量

  • env_name — 该服务器是否在“开发”、“生产”或其他类型的环境中。默认值为“dev”
  • http_root — 网站目录应该创建的位置。默认值为“/srv/http”
  • public_directory — 网站的公共可见目录,例如“public”或“htdocs”。默认值为“public”
  • max_upload_size — 最大上传大小,以 MB 计。默认值为“10”
  • domain — 要创建的网站的域名。默认未定义。
  • content_security_policy — 要添加到域的内容安全策略,格式为字典的列表或布尔值。适当的值将自动加上单引号(')。默认值:见 defaults/main.yml
  • nginx_configs — 要添加到域的 server 块末尾的额外配置文件。这些文件应复制到 /etc/nginx/conf.d。在此处为你的特定应用服务器类型添加配置。默认值为空数组
  • passenger_app — 当前域是否为 Passenger 应用(即,Node、Ruby、Python)?如果应用在更新配置后需要重新启动,这个选项很有用。默认值为否
  • copy_index — 将 index.html 文件复制到网站。默认值为否。
  • use_ssl — 是否通过 SSL(实际上是 TLS)提供内容。默认值为否。
  • use_letsencrypt — 是否使用 Let's Encrypt 为网站生成证书。否则,将使用全服务器的自签名证书。默认值为否。
  • privatekey_bits — 生成自签名私钥时使用的位数。默认值为 4096。
  • dhparam_bits — 生成静态 DH 参数证书时使用的位数。默认值为 2048。使用更高位数可能会耗时很多。
  • cert_valid_days — 自签名证书的有效天数。默认值为 3650 (~1 年)。
  • email_address — 用于自签名证书和 Let's Encrypt 的电子邮件地址。默认未定义。
  • country_name — 生成自签名证书时使用的两字母国家缩写。默认未定义。
  • state_name — 生成自签名证书时使用的州或省名。默认未定义。
  • locality_name — 生成自签名证书时使用的城市或地方名。默认未定义。
  • org_name — 生成自签名证书时使用的组织名称。默认未定义。
  • h5bp_commit — 用于从 HTML5 Boilerplate Server Configs 拉取文件的 Git 哈希或版本号。默认值为“3.1.0”。
  • setuptools_version — 通过 Pip 安装的 setuptools 版本。默认值为 40.6.2。

SSL 和 Let's Encrypt

Let's Encrypt 要求你的 web 服务器可以外部访问,因此在 Vagrant 或 Docker 中生成开发网站时不应使用它。此外,您必须确保在创建证书之前 DNS 配置正确。完成后,将为您的域颁发一个完全支持的、有签名的证书,并创建一个 cron 作业以确保其在将来继续续订。服务器和证书已经针对最佳安全性进行了优化,自 2017 年 10 月起在 SSL Labs 获得“A+”评级。

SSL Labs A+ 评级

示例剧本

- hosts: servers
  roles:
     - { role: bbatsche.Nginx, domain: my-test-domain.test }

许可证

MIT

测试

该角色中包含一组规格,用于单独或整体测试每个任务。要运行这些测试,您首先需要安装 VagrantVirtualBox。规格文件是使用 Serverspec 编写的,因此您需要 Ruby 和 Bundler

要运行完整的规格套件:

$ gem install bundler
$ bundle install
$ rake

规格套件将针对 Ubuntu Trusty Tahr (14.04)、Xenial Xerus (16.04) 和 Bionic Beaver (18.04)。

要查看可用的 rake 任务(和规格):

$ rake -T

这些规格并不旨在测试幂等性。它们旨在检查指定的任务是否执行了预期步骤。幂等性是通过集成测试独立测试的。

关于项目

Install and configure Nginx and Phusion Passenger along with any number of server blocks (aka vhosts).

安装
ansible-galaxy install bbatsche.nginx
许可证
mit
下载
14.2k
拥有者