Webエンジニアとして必要なスキルは、プログラミングスキルだけではありません。Webサーバなどの構築スキルも必要になってきます。
開発したアプリケーションをWebサーバに載せられなければ、Webサービスを公開できないからです。
Webサーバには様々な種類がありますが、その中でも多く利用されているのが、「Nginx(エンジンエックス)」と「Apache(アパッチ)」です。
この記事では、そんなWebサーバ構築の入門として
- NginxとApacheの違い
- Nginxと自作アプリを連携させる方法
- SSL(HTTPS通信)の設定手順
などをメインに紹介していきます。
また、Webサーバの環境はWindowsやMacではなく、「Linux(リナックス)」を利用しています。
Linux環境は無料で簡単に自作できるので、以下の記事を読みながら環境構築してみてくださいね。

もくじ
【STEP.1】Webサーバ「Nginx」の構築とApacheとの違い
Nginx(エンジンエックス)とは、代表的なWebサーバの1つです。
同じく有名なものに「Apache(アパッチ)」がありますが、最近ではNginxに移行するシステムが増えています。
NginxとApacheで、どのような違いがあるのかを知ったうえで、Webサーバを構築するようにしましょう。
ここではNginxをインストールし、Nginxサーバを自分で操作してみます。
また、設定ファイルの仕組みについてもあわせて紹介していますので、しっかり覚えましょう。
▼Nginxの仕組みを勉強するステップ
- Nginxの特徴
- NginxとApacheの違い
- Nginxのインストール方法
- Nginxサーバの操作(起動、停止、再起動)
- Nginxへのアクセス方法
- Nginxの設定ファイルの仕組み

【STEP.2】NginxとRails(Puma)の連携設定
NginxからRailsアプリに接続できるよう、Nginxの設定を変更してみましょう。
Railsは内部で「Puma」を起動させているため、ここではPumaとNginxのソケット通信設定をおこないます。
この設定の理解は、初心者にとって少し難しいかもしれませんが、Webエンジニアであれば必ずできるようになってください。
ちなみに、ここではRailsを例に解説していますが、ほかのアプリケーションでも設定方法はほとんど同じです。
▼NginxとRailsの連携設定のステップ
- Rails(Puma)の設定
- UNIXドメインソケットの概要
- Nginxの設定
- SELinuxの設定

【STEP.3】NginxでSSL(HTTPS通信)の設定
NginxでSSL(HTTPS通信)の設定をしてみましょう。
SSLとは、通信をセキュア(安全)にするための仕組みのこと。そして、この仕組みを使った通信を「HTTPS」と呼びます。
どちらも同じような意味なので、区別しないで使われることも多いです。
いまの世の中では、このHTTPS通信が当たり前となっているため、どんなWebサイトであってもこの「SSL化」は必須となっています。
つまり、SSLの設定はWebエンジニアとしての必須スキルということです。
作業自体はそこまで難しくないのですが、仕組みを理解するのに少し時間がかかるかもしれません。
▼NginxでSSLを設定するステップ
- SSL(HTTPS通信)にする理由
- SSLのインストール
- 秘密鍵の作成
- CSR(証明書署名要求)の作成
- CRT(SSLサーバ証明書)の作成
- Nginxの設定

まとめ:初心者にWebサーバは少し難しい
Nginxの設定について解説しましたが、かなり難しかったのではないかと思います。
それもそのはず、Nginxの設定はプログラミングとはまったく関係のない別スキルですから。
ですが、これができなければWebエンジニアとは言えません。
自作アプリをWebサーバでアクセスできるよう設定することは、Webエンジニアとして当たり前の仕事だからです。
初心者は「プログラミングだけ覚えればいい」と思っている方も多いのですが、実際はWebに関する幅広い知識が求められます。
「ちょっと難しいかも…」
「何を言ってるのかわからない…」
そう感じた方は、これが独学での限界かもしれません。
さらなるスキルアップを目指すのであれば、プログラミングスクールの利用も考えてみましょう。
スクールならわからないところも講師に質問できるため、「わからなくて先に進めない」といった状態から早く抜け出せます。
また、教育カリキュラムや転職サポートなどもあるので、止まることなくスキルアップに集中できるのも大きなメリットです。
できるだけ早くエンジニアになって、新しい自分の人生を送ってくださいね!
またね、キツネ(@kitaaaa_kitsune)でした!

