Nginx –「エンジンX」と発音–は、オープンソースのサーバーユーティリティです。リバースプロキシとして機能し、クライアントリクエストをインターセプトして、適切なサーバーにルーティングするように設計されています。
それ以来、負荷分散、匿名化、およびスケーリング機能を含むように成長しました。また、Apacheよりも迅速に静的リソースリクエストを処理できる機能を備えているため、リクエストのバランスを取り、パフォーマンスとリソース使用量を戦略的に改善できます。
このガイドでは、Ubuntu18.04でのNginxのセットアップとインストールについて説明します。 (バイオニックビーバー)。
前提条件
- Ubuntu18.04を実行しているシステム
- sudo権限を持つユーザーアカウント
- デフォルトで含まれているaptパッケージマネージャーユーティリティ
- デフォルトで含まれているUFWまたはUnComplicatedFirewall
- SSHアクセス
UbuntuにNginxをインストールする手順
ソフトウェアリポジトリの更新
rootユーザーとしてSSH経由でサーバーにログインします
ssh [email protected]
新しいソフトウェアをインストールする前に、ローカルソフトウェアデータベースを更新することを強くお勧めします。更新すると、利用可能な最新のパッチが適用されたソフトウェアを確実にインストールするのに役立ちます。
次のように入力します:
sudo apt update
プロセスが終了するまで待ちます。
UbuntuにNginxをインストールする
次のように入力してUbuntuにNginxをインストールします :
sudo apt install nginx
これには、システムがソフトウェアパッケージをダウンロードしてインストールするのに時間がかかる場合があります。先に進む前に完了させてください。
Nginxサービスが実行されていることを確認する
次のコマンドを使用して、Nginxサービスのステータスを確認します。
sudo systemctl status nginx
システムは、Nginxサービスに関する情報のリストを返す必要があります。アクティブな行は、サービスが実行されているかどうかを示します。サービスを開始する必要がある場合は、以下を使用してください。
sudo systemctl start nginx
startの代わりに次のコマンドを使用することもできます。
-
sudo systemctl stop nginx
–Nginxサービスを停止します -
sudo systemctl enable nginx
–起動時にNginxをロードできるようにします -
sudo systemctl disable nginx
–起動時にNginxが読み込まれないようにします
ファイアウォールを通過するNginxトラフィックを許可する
次のコマンドを使用して、ファイアウォールルールのリストを生成できます。
sudo ufw app list
これにより、アプリケーションプロファイルのリストが生成されます。リストには、Nginxに関連する4つのエントリが表示されます。
-
Nginx full
–通常のWebトラフィック用にポート80を開き、安全な暗号化されたWebトラフィック用にポート443を開きます -
Nginx HTTP
–通常のWebトラフィック用にポート80を開きます -
Nginx HTTPS
–暗号化されたWebトラフィック用にポート443を開きます -
OpenSSH
–これはSecureShell操作の構成であり、安全な暗号化された接続を介してリモートサーバーにログインできます
Nginxサーバーへの通常のHTTPトラフィックを許可するには、次のコマンドでNginxHTTPプロファイルを使用します。
sudo ufw allow ‘Nginx HTTP’
ファイアウォールのステータスを確認するには、次のコマンドを使用します。
sudo ufw status
さまざまなサービスに許可されているHTTPWebトラフィックの種類のリストを表示する必要があります。 NginxHTTPはALLOWandAnywhereとしてリストされている必要があります。
WebブラウザでNginxをテストする
FirefoxなどのWebブラウザを開きます。
システムのIPアドレスをアドレスバーに入力するか、 localhostと入力します 。
ブラウザにNginxへの歓迎ページが表示されます。
サーバーブロックの定義
Nginxは、構成ファイルを使用して、その動作を決定します。構成ファイルを使用する1つの方法は、Apache仮想ホストと同様に機能するサーバーブロックを定義することです。
Nginxは、サーバーブロックを作成することで、複数のサーバーのフロントとして機能するように設計されています。
デフォルトでは、メインのNginx構成ファイルは/etc/nginx/nginx.confにあります。サーバーブロック構成ファイルは、 / etc / nginx / sites-availableにあります。 。
デフォルトのサーバーブロック構成ファイルの内容を表示するには、ターミナルで次のコマンドを入力します。
sudo vi /etc/nginx/sites-available/default
これにより、Viテキストエディタでデフォルトの構成ファイルが開きます。これは次のようになります。
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
[...]
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
[...]
}
- コマンドを聞く トラフィックを探すポートをNginxに指示します
- Default_server クライアントによって特に指定されていない限り、これを配信されるブロックとして定義します
- ルート 提供されているWebサイトのルートディレクトリを保持するディレクトリを決定します
- サーバー名 より高度な構成で使用される特定のサーバーブロックの名前を指定できます
- 場所 Nginxがトラフィックをルーティングする場所を指定できます
サンプルサーバーブロックを作成する
HTMLファイルを設定する
サンプル構成を確認すると便利です。ターミナルウィンドウで、次のコマンドを入力して、操作する「テスト」ディレクトリを作成します。
sudo mkdir /var/www/example
テストWebページとして機能する基本的なHTMLインデックスファイルを作成して開きます。
sudo vi /var/www/example/index.html
Viテキストエディタ(必要に応じて、好みのテキストエディタに置き換えることができます)で、次のように入力します。
Welcome to the Example Website!
ファイルを保存して終了します。
シンプルなサーバーブロックを設定する
次のコマンドを使用して、テストWebサイト用の新しいサーバーブロックファイルを作成します。
sudo vi /etc/nginx/sites-available/example.com
これにより、Viテキストエディタが起動し、新しいサーバーブロックファイルが作成されます。
テキストファイルに次の行を入力します。
server {
listen 80;
root /var/www/example;
index index.html;
server_name www.example.com;
}
これにより、Nginxは / var / www / exampleを確認するようになります。 提供するファイルのディレクトリ、およびWebサイトのフロントページとして作成したindex.htmlファイルを使用します。
ファイルを保存して終了します。
サーバーブロックをアクティブ化するためのシンボリックリンクを作成する
ターミナルウィンドウで、次のコマンドを入力します。
sudo ln –s /s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
これによりリンクが作成され、NginxでテストWebサイトが有効になります。 Nginxサービスを再起動して、変更を適用します:
sudo systemctl restart nginx
テストを開始
ブラウザウィンドウで、www.example.comにアクセスします。
Nginxはリクエストをインターセプトし、HTMLファイルに入力したテキストを表示する必要があります。