開始行:
#html{{
<h1 style="color: red; background-color: #FFFFCC; padding...
Nginxのバーチャルホスト
</h1>
<div class="alert alert-warning" role="alert">
Nginxでバーチャルホストを設定する方法
</div>
}}
//----------------------------------------
#contents
//----------------------------------------
//----------------------------------------
// 用語の定義
* バーチャルホストとは? [#definition]
-[[バーチャルホスト]]を参照。
Nginxでバーチャルホストの設定を行なえば、1台のWebサーバー...
(例)
+ mydomain1.com
+ mydomain2.net
+ mydomain3.org
同様に1台のWebサーバーで、複数のサブドメインのWebサイト...
(例)
+ sub1.mydomain1.com
+ sub2.mydomain1.com
+ sub3.mydomain1.com
//----------------------------------------
** Nginxでバーチャルホストを設定する方法 [#s182a3af]
Ubuntu 24.04で、Nginxのバーチャルホストを設定します。
//----------------------------------------
** バーチャルホスト用のディレクトリー作成 [#edff28b0]
Linuxでは習慣的に「/var/www/html」にWebサイトの公開データ...
しかし、[[ディレクトリトラバーサル]]を防ぐために、「/var/...
- /var/www/mydomain1.com
- /var/www/mydomain2.net
とか
- /var/www/sub1.mydomain1.com
- /var/www/sub2.mydomain1.com
のような構成にします。
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com
//----------------------------------------
** ダミーページの用意 [#re74413c]
表示確認用のダミーページを作成しておきます。
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, i...
<title>Welcome</title>
</head>
<body>
<h1>Hello, world!</h1>
<p>Thank you.</p>
</body>
</html>
//----------------------------------------
** Nginxの設定ファイルを作成 [#b9b8516a]
「/etc/nginx/sites-available」にバーチャルホストの設定フ...
cd /etc/nginx/sites-available
sudo nano sub1.mydomain1.com.conf
以下のような内容を書きこみます。
server {
listen 80;
server_name sub1.mydomain1.com;
root /var/www/sub1.mydomain1.com;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ =404;
}
# PHP-FPM の設定
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fas...
include fastcgi_params;
}
# .htaccess の無効化(不要なら削除)
location ~ /\.ht {
deny all;
}
}
//----------------------------------------
** シンボリックリンクの作成 [#z6d09259]
Nginxでバーチャルホストは「/etc/nginx/sites-enabled」にあ...
sites-available に作成した設定ファイルを sites-enabled に...
シンボリックリンクを作成するため、次のコマンドを実行して...
sudo ln -s /etc/nginx/sites-available/sub1.mydomain1.com...
直接ファイルを作成しないで、ショートカットにするのは、サ...
シンボリックリンクが正しく作成されたか確認するには、次の...
ls -l /etc/nginx/sites-enabled/
//----------------------------------------
** 設定ファイルの文法確認 [#ocde6a9c]
シンボリックリンクを作成したら、Nginx の設定に問題がない...
sudo nginx -t
バーチャルホストの設定ファイルの内容に誤りがあれば訂正し...
//----------------------------------------
** Nginxの再起動 [#w0a17e55]
Nginxを再起動して、作成したバーチャルホストの設定を反映さ...
sudo systemctl restart nginx
//----------------------------------------
** Webブラウザーで確認 [#e6119132]
Webブラウザーで「http://sub1.mydomain1.com」にアクセスし...
表示されたらOKです。
表示されなければ、DNSの設定も確認します。
もう一度、全ての内容を確認して、間違いがあれば訂正します。
これでNginxで、バーチャルホストの設定ができました。
//----------------------------------------
* SSLの設定 [#pab63262]
[[SSL]] / [[TLS]] に関しては、[[Let's Encrypt]]で設定しま...
(手動で設定することも可能です。)
//----------------------------------------
// *Amazon [#amazon]
#html{{
}}
//----------------------------------------
* 関連 [#i0396ebc]
//----------------------------------------
-[[Nginx]]
-[[Let's Encrypt]]
-[[DNS]]
-[[SSL]]
-[[TLS]]
終了行:
#html{{
<h1 style="color: red; background-color: #FFFFCC; padding...
Nginxのバーチャルホスト
</h1>
<div class="alert alert-warning" role="alert">
Nginxでバーチャルホストを設定する方法
</div>
}}
//----------------------------------------
#contents
//----------------------------------------
//----------------------------------------
// 用語の定義
* バーチャルホストとは? [#definition]
-[[バーチャルホスト]]を参照。
Nginxでバーチャルホストの設定を行なえば、1台のWebサーバー...
(例)
+ mydomain1.com
+ mydomain2.net
+ mydomain3.org
同様に1台のWebサーバーで、複数のサブドメインのWebサイト...
(例)
+ sub1.mydomain1.com
+ sub2.mydomain1.com
+ sub3.mydomain1.com
//----------------------------------------
** Nginxでバーチャルホストを設定する方法 [#s182a3af]
Ubuntu 24.04で、Nginxのバーチャルホストを設定します。
//----------------------------------------
** バーチャルホスト用のディレクトリー作成 [#edff28b0]
Linuxでは習慣的に「/var/www/html」にWebサイトの公開データ...
しかし、[[ディレクトリトラバーサル]]を防ぐために、「/var/...
- /var/www/mydomain1.com
- /var/www/mydomain2.net
とか
- /var/www/sub1.mydomain1.com
- /var/www/sub2.mydomain1.com
のような構成にします。
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com
//----------------------------------------
** ダミーページの用意 [#re74413c]
表示確認用のダミーページを作成しておきます。
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, i...
<title>Welcome</title>
</head>
<body>
<h1>Hello, world!</h1>
<p>Thank you.</p>
</body>
</html>
//----------------------------------------
** Nginxの設定ファイルを作成 [#b9b8516a]
「/etc/nginx/sites-available」にバーチャルホストの設定フ...
cd /etc/nginx/sites-available
sudo nano sub1.mydomain1.com.conf
以下のような内容を書きこみます。
server {
listen 80;
server_name sub1.mydomain1.com;
root /var/www/sub1.mydomain1.com;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ =404;
}
# PHP-FPM の設定
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fas...
include fastcgi_params;
}
# .htaccess の無効化(不要なら削除)
location ~ /\.ht {
deny all;
}
}
//----------------------------------------
** シンボリックリンクの作成 [#z6d09259]
Nginxでバーチャルホストは「/etc/nginx/sites-enabled」にあ...
sites-available に作成した設定ファイルを sites-enabled に...
シンボリックリンクを作成するため、次のコマンドを実行して...
sudo ln -s /etc/nginx/sites-available/sub1.mydomain1.com...
直接ファイルを作成しないで、ショートカットにするのは、サ...
シンボリックリンクが正しく作成されたか確認するには、次の...
ls -l /etc/nginx/sites-enabled/
//----------------------------------------
** 設定ファイルの文法確認 [#ocde6a9c]
シンボリックリンクを作成したら、Nginx の設定に問題がない...
sudo nginx -t
バーチャルホストの設定ファイルの内容に誤りがあれば訂正し...
//----------------------------------------
** Nginxの再起動 [#w0a17e55]
Nginxを再起動して、作成したバーチャルホストの設定を反映さ...
sudo systemctl restart nginx
//----------------------------------------
** Webブラウザーで確認 [#e6119132]
Webブラウザーで「http://sub1.mydomain1.com」にアクセスし...
表示されたらOKです。
表示されなければ、DNSの設定も確認します。
もう一度、全ての内容を確認して、間違いがあれば訂正します。
これでNginxで、バーチャルホストの設定ができました。
//----------------------------------------
* SSLの設定 [#pab63262]
[[SSL]] / [[TLS]] に関しては、[[Let's Encrypt]]で設定しま...
(手動で設定することも可能です。)
//----------------------------------------
// *Amazon [#amazon]
#html{{
}}
//----------------------------------------
* 関連 [#i0396ebc]
//----------------------------------------
-[[Nginx]]
-[[Let's Encrypt]]
-[[DNS]]
-[[SSL]]
-[[TLS]]
ページ名: