HanXHX.nginx

Nginx for Debian/FreeBSD Ansible ロール

Ansible Galaxy GitHub Workflow Status (master branch)

Debian/FreeBSD に Nginx をインストールし、設定します。

特徴:

  • SSL/TLS "強化" サポート
  • サイト/ロケーションの基本認証管理
  • プロキシ + アップストリーム
  • 高速 PHP 設定
  • 事前設定されたサイトテンプレート(多くのアプリで動作するはず)
  • SSL/TLS サイトでの HTTP2 自動設定
  • 動的モジュールの管理(インストールと読み込み)
  • サイト設定を持つカスタム facts.d のデプロイ
  • プロキシプロトコルでのリッスンが可能
  • acme.sh を使った証明書の生成(Let's Encrypt) -- 実験的

サポートされている OS:

OS 動作状況 安定 (アクティブサポート)
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 に設定する場合は、このロールを実行する前にバックポートリポジトリをインストールする必要があります。

ロール変数

パッケージング

Debian:

  • nginx_apt_package: APT の nginx パッケージ (試してみて: apt-cache search ^nginx)
  • nginx_backports: バックポートリポジトリから nginx をインストール (bool)

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: ブール値、fastcgi に realpath を使用 (シンボリックリンクと 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 バックポートの最新アップデートでは、/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

使用例 Playbook

詳細は tests/test.yml をご覧ください。

ライセンス

GPLv2

寄付

このコードが役に立ったり、プロジェクトに使用したりした場合は、ビールでも買ってください :beers:

  • ビットコイン: 1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
  • イーサリアム: 63abe6b2648fd892816d87a31e3d9d4365a737b5
  • ライトコイン: LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
  • モネロ: 45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ

暗号通貨がないですか? :star: プロジェクトに感謝の意を表す方法でもあります! :sunglasses:

著者情報

プロジェクトについて

Nginx for Debian / FreeBSD

インストール
ansible-galaxy install HanXHX.nginx
ライセンス
gpl-2.0
ダウンロード
6.1k
所有者
CEO/CTO/SRE triplestack.fr / daemonit.com