弊社が扱っている製品で以前よりご好評をいただいている「POWERSTEP VESA」ですが、この度Intel第12世代Core i シリーズに対応したモデルにアップグレードしました!

POWERSTEP VESA はIntel NUCをベースに弊社で組み立てをしている小型デスクトップPCです。
大きさは約11 cm四方、高さ約5.4 cmという手乗りサイズながらノートPCと同等のCPUを搭載しています。VESA規格に対応しているためディスプレイ背面に設置することで画面一体型PCとしてご使用いただけます。また、弊社が独自に選定したパーツを採用することでWindowsだけでなくLinuxも素直に動かせるのが特徴です。

そんなPOWERSTEP VESAを使って今回は、WSL2+Docker+Nginxという環境でWebサーバを立ち上げてみました!

WSL2とは

WSLとはWindows Subsystem for Linuxの略でWindows上でLinuxを動作させるための仕組みのことです。WSL2はそのバージョン2となります。
WSL2では従来の仮想マシンやデュアルブートによるオーバーヘッドなしにWindows上でLinuxを利用することができます。Linux専用にマシンを用意する必要も無いためWeb開発やシステム開発のテスト環境としての利用に便利です。
さらにWSL2はWSL1と違いDockerを利用することができます。Docker上で構築した開発環境は別のOS上のDockerとも共有できるため、よりテスト環境として便利になりました。

Dockerとは

Dockerとはコンテナ型の仮想環境を扱うためのプラットフォームの一つです。コンテナとは仮想マシンのようにゲストOSを動かすこと無くアプリケーションだけを仮想環境で動かす技術のことで、動作が軽くコンテナを実行できる環境さえあれば移行が簡単なのが特徴です。

Nginxとは

NginxとはオープンソースのWebサーバーソフトウェアの一つです。Webサーバー以外にもリバースプロキシサーバーやメールサーバーとして利用される場合もあります。WebサーバーソフトとしてはApacheも有名ですが、Nginxは処理能力が高くメモリ消費が少ないため利用シーンが増えています。またNginxはDocker用のコンテナイメージが公開されているため、Docker環境があれば簡単にWebサーバーを立ち上げることができます。

今回の目標

POWERSTEP VESA上のWindows 11にWSL2をインストールし、Docker上でNginxを動作させます。Nginxの用途は様々ありますが、今回は簡単にWebサーバーとしてブラウザでページを表示できるようにするところまでやってみます!

使用する機材

・POWERSTEP VESA

POWERSTEP VESA

今回実験に使用したPOWERSTEP VESAのスペックは以下の通りです。
CPU:Intel Core i5-1240P
メモリ:16 GB 3200MHz
ストレージ:250 GB M.2 SSD
      500 GB SATA SSD

・その他
モニター、キーボード、マウスなど

使用するソフトウェア

  • Windows 11
    環境構築前に最新版へのアップデートをおすすめします。
  • WSL2
  • Docker Desktop

環境構築

OSインストール

  1. 別のWindows PCでWindows 11のインストールメディアを作成します。
    以下のサイトからメディア作成ツールをダウンロードします。
    https://www.microsoft.com/ja-jp/software-download/windows11
  2. 8 GB以上のUSBメモリを用意し、ツールの指示に従ってインストールメディアを作成します。
  3. インストールメディアをPOWERSTEP VESAに差し起動します。
  4. 指示に従いセットアップします。
    この時、インストールメディアのバージョンによるのか有線LANと無線LANのドライバーが無く認識されませんでした。
  5. 手動でドライバをインストールします。別のPCでドライバのインストーラをダウンロードし、USBメモリなどに移してからPOWERSTEP VESA上で実行します。
    https://www.intel.co.jp/content/www/jp/ja/download/727998/intel-network-adapter-driver-for-microsoft-windows-11.html
    https://www.intel.co.jp/content/www/jp/ja/download/19351/windows-10-and-windows-11-wi-fi-drivers-for-intel-wireless-adapters.html

以上の操作でPOWERSTEP VESAにWindows 11をインストールしネットワークに接続できるようになりました。

WSL2とUbuntuのインストール

Windows 10ではインストール時に色々と設定が必要だったWSL2ですが、Windows 11ではPowerShellのコマンド一発でWSL2とUbuntuの最新のLTS版(執筆時点では22.04 LTS)がインストールされます!

  1. Windows PowerShellを管理者権限として実行します。
  2. 以下のコマンドを実行します。
    wsl --install
  3. WSL2とUbuntuのインストールが終わったらPCを再起動します。
  4. スタートメニューにUbuntuのショートカットが追加されていればインストール成功です。クリックして起動します。
  5. UbuntuのCUIが表示され、ユーザー名とパスワードを聞かれるので設定します。これはUbuntu上のユーザー設定ですのでWindowsのユーザー設定と同じ必要はありません。

これでWindows 11上でWSL2とUbuntuを動かすことができるようになりました!

Docker Desktopのインストール

Docker Desktopはインストール時にWSL2と連携させる設定があり、これをしておくとPowerShellからもLinuxのCUIからもDockerのコマンドを実行できるため便利です。

  1. 下記のページからインストーラーをダウンロードします。
    https://www.docker.com/products/docker-desktop/
  2. インストーラーを実行します。
  3. 「Install required Windows components for WSL2.」にチェックを入れます。
    その他の設定は任意です。
  4. インストールが終了しスタートメニューにショートカットが表示されていれば成功です。

Docker DesktopではGUIでDockerの操作もできるため便利です。

Nginxイメージのダウンロード

Docker上でNginxを実行できるようにイメージをダウンロードします。

  1. PowerShellまたはUbuntuのCUIで以下のコマンドを実行する。
    docker pull nginx:latest
  2. 以下のコマンドを実行しnginxのイメージが表示されていれば成功です。
    docker images

ダウンロードされているイメージはDocker DesktopのGUIからも確認することができます。

コンテナの作成

コンテナの作成には「docker run」コマンドを実行しますが、普通に実行するとWebページのコンテンツを格納しているドキュメントルートにエクスプローラーからアクセスできません。なのでvolumeオプションを付けてドキュメントルートをエクスプローラーから見えるフォルダと紐付けると便利です。今回はCドライブの容量を節約するためにDドライブ上に紐付けるフォルダを作っていきます。なお、この場合ドキュメントルートがコンテナの外になるので環境を移行する際には気をつけてください。

  1. PowerShellで以下のコマンドを実行します。
    docker run -d -v D:\nginx_vol:/usr/share/nginx/html --name nginx_test -p 8080:80 nginx
    UbuntuのCUIの場合「D:\」を「/mnt/c/」とすることでDドライブを指定することができます。
  2. エクスプローラーでDドライブに「nginx_vol」フォルダが作成されていることを確認します。
  3. この状態だとフォルダの中身が空なのでindex.htmlを配置する。以下のようなファイルを置けばnginxのデフォルトのウェルカムページが表示されます。
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
    html { color-scheme: light dark; }
    body { width: 35em; margin: 0 auto;
    font-family: Tahoma, Verdana, Arial, sans-serif; }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>
    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br/>
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>
    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>
    
  4. ブラウザから以下のページにアクセスできることを確認します。
    http://localhost:8080
nginxのウェルカムページ

これでブラウザからページを表示できるようになりました!

まとめ

今回はPOWERSTEP VESA上のWindows 11にWSL2とDockerをインストールしてNginxを動かしWebサーバーを作ってみました!WSL2の動作が軽いこともありますが、インストールからWebサーバーを立てるまでとても快適にできました!
サーバーの運用はクラウドで行うのがメジャーになっている昨今ですが、ちょっとしたテストをオンプレミス環境でできるのは便利ですね!

またLinuxサーバーを立てるには、通常であればPCをもう一台用意したり今使っているPCにストレージを追加してデュアルブートにする必要がありますが、WSL2を使えば普段使っているWindows上でLinuxサーバーを立てることができるので追加コストをかける必要が無いのも魅力ですね!

PCをオフィスで使う場合は物理的なスペースを取らずにLinuxサーバーを立てられるところもWSL2の利点の一つです。
POWERSTEP VESAは約11 cm四方、高さ約5.4 cmの小型PCでVESAマウントにも対応しているためモニターの裏にマウントすることでほとんど場所を取らずに設置することができます。
省スペースにWindowsとLinux環境が使えるPCとしてPOWERSTEP VESAはオススメです!

POWERSTEP VESA / 見積依頼ページ