HanXHX.nginx
Nginx for Debian/FreeBSD Ansible ロール
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 ディレクトリからモジュールをロードします。無効化/有効化はもうサポートされていません。さらにアップデートをお待ちください。
詳細設定
注意
- 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:
著者情報
- Twitter: @hanxhx_