はじめに
現在、TechBullというコミニティで,メンタリング、インフラの課題を取り組んでいます!
今回は「MultipassでWordPressの構築」の課題で登場するキーワードをまとめていきます
きっかけ
当課題の技術ディスカッションをした際に、VMとバーチャルホストが混同したりと
キーワードを理解できてないことに気付いたため、全体像を把握し、まとめることにしました!
長々と説明を書いても理解が難しいので、まずはざっくりとキーワードを紹介していきます。
全体像
キーワード
Multipass
ワンクリックでUbuntuの仮想マシン(VM)を作れるツール
以下のコマンドを実行することで、数秒で Ubuntu が入った「仮想マシン test-vm」が作成できます
multipass launch -n test-vm
Ubuntu
誰でも無料で使えるLinuxOS
LinuxOSとは
コンピューターを動かすオペレーションシステムの1つ
サーバーやクラウドの世界で広く使用される
Q:なぜLinuxを入れる?
A:本番環境に近い開発するため
他のOSで作成すると設定の違いなどからサーバーで動かなくなってしまうため
nginx
高速で便利なWebサーバー
webサーバーとは
ブラウザにWebページを届ける配達員
Chromeなどからアクセスが来ると、HTML・画像・CSS・JavaScript などのファイルを探して送り返してくれます
Apacheとの使い分け
Webサーバーとしてもう1つ有名なのがApache
使い分けをしては以下の様になります
-
アクセス数が多い&高速性重視 → nginx
-
柔軟性や古いアプリ互換重視 → Apache
バーチャルホスト
1つのWebサーバーで複数のWebサイトを運用する仕組み
「Webサイト名.cnf」で表されます
例えるなら、一つの大きな建物(Webサーバー)の中に、それぞれ異なる店(Webサイト)が複数入っているようなもの
バーチャルホストのイメージ wp.techbull.cloud.cnf
server {
listen 80;
server_name wp.techbull.cloud;
root /var/www/wp.techbull.cloud/;
index index.php index.html;
access_log /var/log/nginx/wp.techbull.cloud.log main;
error_log /var/log/nginx/wp.techbull.cloud.error.log;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; #ここは使用するphpのverに合わせる
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
ドキュメントルート
Webサーバーが「公開するファイルを探す場所(フォルダ)」のこと
記載場所
バーチャルホストに以下の様に記載してあります
root /var/www/wp.techbull.cloud/;
ソケット通信
コンピューター、プログラム同士がデータをやり取りする仕組み
今回の場合、バーチャルホストとPHP-FPM、PHP-FPMとMySQLを結んでいます
記載場所
バーチャルホストや、phpの設定部分に記載があります
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock
Unixドメインソケットとネットワークソケットの使い分け
またソケット通信は2種類存在します。
Unixドメインソケットとネットワークソケット。
今回の場合のように1つのVMで完結してる際はソケット通信が多く使用されます
一方、複数のVM、コンピューター同士を通信させる際はTCP/IP通信が使用されます
まとめ
記事を書いたことで
キーワードや全体像を捉えたこと以前よりもイメージができる様にはなったと思います。
今後も自身の言葉でまとめていきます