質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Q&A

解決済

1回答

11937閲覧

nginx の conf 内で変数を使った server_name の設定の仕方

extusr

総合スコア31

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

0グッド

0クリップ

投稿2016/08/14 02:08

編集2016/08/14 11:24

###前提・実現したいこと
nginx の conf で、server_name に変数を使いたいと考えております。

イメージとしては、

server_name www.example.com example.com; root /var/www/html/example.com;

上記の設定を、下記のように置き換えたいという考えです。

set $var_server_name example.com; server_name www.$var_server_name $var_server_name; root /var/www/html/$var_server_name;

しかしながら、上記は誤った記法なようで、期待通りにはいきませんでした。
正しい記法について、お教え願いたく存じます。

###試したこと
変数定義部分や変数展開部分をダブルクォートで囲むことも試しましたが、やはり期待通りにいきませんでした。

###補足情報(言語/FW/ツール等のバージョンなど)
・CentOS 7.2
・nginx 1.11.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

server_name には $hostname 以外の変数は設定できないようです。

以下の記事では、perl_set で環境変数から値を取得し、server_name に設定しているようですが、バージョン 1.11.3 で試したところ、うまくいきませんでした。
過去のバージョンでは設定できたのかもしれません。

nginx.conf で環境変数を読み込む

投稿2016/08/14 12:33

TaichiYanagiya

総合スコア12173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問