背景
現在Windows内でLinux(Debian)を構築しその中でとあるプログラムを稼働させている。
上記プログラムをHTTPリクエスト経由で実行できるようにVM内にHTTPサーバを構築したい。
環境
HostPC : Windows11
VM : Debian 11.6
前提
- Linux環境は構築済
- 当該環境のターミナルが触れる状態である
インストールするソフトウェア
nginx
※apacheは使用したことがあるため、今回はnginxを触ってみる
構築手順
1. Nginxのインストールコマンドを実行する
$ sudo apt update
$ sudo apt install nginx
2. インストール確認
$ nginx -v
$ nginx version: nginx/1.18.0
3. 外部接続確認
Windows(ホストPC)側のブラウザからWebサーバーへアクセスしてみる。
接続URL : http://{LinuxのIPアドレス}
※LinuxのIPアドレスが不明な場合は以下のコマンドで調べる
$ ifconfig
ブラウザで表示されるページ
4. 自動起動設定
VM起動時にNginxも起動するように設定
4.1 自動起動設定を確認する。※enableの場合は4.2以降の実施はしなくてもよい。
$ systemctl is-enabled nginx.service
$ disabled
4.2 enableへ変更するコマンドを実行する
$ sudo systemctl enable nginx.service
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.
4.3 再度自動起動設定を確認する。※enableに変更されていればOK
$ systemctl is-enabled nginx.service
$ enabled
これで簡易的ではありますが、Webサーバ構築については以上です。
終わりに
第一弾として、構築までの手順を記載してみました。
業務ですでに構築済のWebサーバをさわったことはありましたが、構築したことはなかったのでこの機会に実施してみましたが、思いの他簡単でしたね。
※細かい設定等をするとまた違うとはおもいますが、、
背景にも記載した通り、最終的に実施したいことはHTTP経由でLinux内の指定したプログラム
を実行することなので、うまくいけば次回はそこまで記載してみたいと思います。
2023/10/29 追記
この後実施したいことをすでに記載されている記事がありました。
https://qiita.com/haniokasai/items/3d7e1e1c74e704217523
後、調べていくうちに思いましたが、今回やりたかったことに対していえばブラウザの画面表示が必要ないので、NodeのExpress等でAPIサーバーを構築してあげる方がよかったですね。
勉強になりました。
ではまた機会があればノシ