nginxのマルチサイトをシンプルに構築する方法

はじめに

ググると、どこのサイトを見ても「sites-available」やら「sites-enable」やらシンボリックリンクを張ったりしているので、設定ファイルを分割するだけのシンプルな構成の手順を記録しておきます。

環境

OS: Rocky Linux 8.10

手順

nginxをインストール

# yum install -y nginx
# systemctl enable nginx
# systemctl start nginx

HTMLファイルを置くディレクトリを作成
全てのサイトでproxypassを使用する場合は不要
ディレクトリは/home/でもどこでもいいのですが、伝統的に/var/www/htmlが使用される傾向にあります。

作成するサイト分だけディレクトリを作成します。

# mkdir -p /var/www/html/example1.com
# mkdir -p /var/www/html/example2.com

権限を付与

# chown -R nginx.nginx /var/www/

nginxの設定ファイルを作成
/etc/nginx/nginx.conf のデフォルトで「/etc/nginx/conf.d/」配下のファイルが自動的に読み込まれるようになっているので、このディレクトリにサイトごとに設定ファイルを置きます。

vi /etc/nginx/conf.d/example1.com.conf
vi /etc/nginx/conf.d/example2.com.conf

以下はシンプルな例。
細かいコンフィグはnginxのマニュアルを読んでください。

server {
    listen       80;
    server_name  example1.com;
    root         /var/www/html/example1.com;
    access_log   /var/log/nginx/example1.com.access.log;
}
server {
    listen       80;
    server_name  example2.com;
    root         /var/www/html/example2.com;
    access_log   /var/log/nginx/example2.com.access.log;
}

設定ファイルの構文確認

# nginx -t

リロード

# nginx -s reload

エラーでなければこれでnginxの設定は終了です。

あとは/var/www/html/example1.com や example2.com にHTMLファイルを置いて動作を確認すればOKです。

コメント

タイトルとURLをコピーしました