今回は、nginxを使って複数のサイトをホスティングする方法について説明します。
nginxとは?
nginx(エンジンエックス)は、高速で軽量なウェブサーバーソフトウェアです。静的なコンテンツを高速で配信するのが得意で、多くのウェブサイトで使用されています。また、負荷分散やリバースプロキシとしても利用されることがあります。
バーチャルホストとは?
バーチャルホストとは、一つのサーバーで複数のウェブサイトを運営するための技術です。これを使うことで、例えば「example1.com」と「example2.com」という二つのサイトを一つのサーバーで運営できます。
nginxでのバーチャルホスト設定方法
ステップ1: nginxのインストール
まずは、nginxをサーバーにインストールします。多くのLinuxディストリビューションでは、簡単にインストールできるコマンドがあります。以下のコマンドを実行してください。
sudo apt update
sudo apt install nginx
ステップ2: サイトのディレクトリを作成
次に、ホスティングするサイトのディレクトリを作成します。それぞれのサイトに対して異なるフォルダを用意しましょう。以下のコマンドで作成します。
sudo mkdir -p /var/www/example1.com/html
sudo mkdir -p /var/www/example2.com/html
ステップ3: サイトのファイルを用意
それぞれのサイトに、インデックスファイルを用意します。例えば、以下のように作成します。
echo "Welcome to Example1.com
" | sudo tee /var/www/example1.com/html/index.html
echo "Welcome to Example2.com
" | sudo tee /var/www/example2.com/html/index.html
ステップ4: nginxの設定ファイルを作成
nginxの設定ファイルを編集して、バーチャルホストを設定します。以下のコマンドで新しい設定ファイルを作成します。
sudo nano /etc/nginx/sites-available/example1.com
設定ファイルに以下の内容を追加します。
server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
同様にして、example2.comのための設定ファイルも作成します。
sudo nano /etc/nginx/sites-available/example2.com
こちらには以下のように記載します。
server {
listen 80;
server_name example2.com www.example2.com;
root /var/www/example2.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
ステップ5: 設定ファイルを有効にする
作成した設定ファイルを有効にするために、以下のコマンドを実行します。
sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/example2.com /etc/nginx/sites-enabled/
ステップ6: nginxを再起動
最後に、nginxを再起動して設定を反映させます。
sudo systemctl restart nginx
確認する方法
ブラウザを開いて、作成した各サイトのURL(example1.comやexample2.com)にアクセスしてみてください。正しく設定ができていれば、それぞれのサイトが表示されるはずです。
まとめ
以上が、nginxを使ってバーチャルホストを設定する方法です。これで一台のサーバーで複数のウェブサイトを運営できるようになります。