前書き
Nginxは、世界で最も人気のあるWebサーバーの1つであり、インターネット上で最大かつ最もトラフィックの多いWebサイトのいくつかをホストする責任があります。ほとんどの場合、Apacheよりもリソースに優しく、Webサーバーまたはリバースプロキシとして使用できます。
このガイドでは、Ubuntu16.04サーバーにNginxをインストールする方法について説明します。
sudo
コマンドを使用できる非rootアカウントを持つUbuntu サーバーがセットアップされ、ファイアウォールがオンになっています。サーバーをお持ちでない方は[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には無料のTencent Cloud [Developer Lab](https://cloud.tencent.com/developer/labs?from=10680)を使って実験し、[サーバーを購入]( https://cloud.tencent.com/product/cvm?from=10680)。
利用可能なアカウントがある場合は、root以外のユーザーとしてログインして開始してください。
NginxはUbuntuのデフォルトのリポジトリで使用できるため、インストールは非常に簡単です。
このセッションでのパッケージングシステムとの最初のやり取りであるため、ローカルパッケージインデックスを更新して、最新のパッケージリストにアクセスできるようにします。その後、 nginx
をインストールできます。
sudo apt-get update
sudo apt-get install nginx
プロセスを受け入れた後、 apt-get
はNginxと必要な依存関係をサーバーにインストールします。
Nginxをテストする前に、サービスへのアクセスを許可するようにファイアウォールソフトウェアを再構成する必要があります。インストール中に、Nginxは ufw
を使用して自身をファイアウォールサービスとして登録します。これにより、Nginxアクセスをかなり簡単に許可できます。
ufw
を使用して、次のように入力することで、使用方法がわかっているアプリケーション構成を一覧表示できます。
sudo ufw app list
アプリケーション構成ファイルのリストを取得する必要があります。
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
ご覧のとおり、Nginxには3つの構成ファイルがあります。
最も制限の厳しいプロファイルを有効にすることをお勧めします。これにより、構成したトラフィックは引き続き許可されます。サーバーのSSLはまだ構成されていないため、このガイドでは、ポート80でのトラフィックのみを許可する必要があります。
次のように入力すると、この機能を有効にできます
sudo ufw allow 'Nginx HTTP'
次のように入力して、変更を確認できます。
sudo ufw status
表示された出力に許可されたHTTPトラフィックが表示されます。
Status: active
To Action From
------------
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH(v6) ALLOW Anywhere(v6)
Nginx HTTP(v6) ALLOW Anywhere(v6)
インストールプロセスの最後に、Ubuntu16.04はNginxを起動します。 Webサーバーはすでに稼働しているはずです。
systemd
を使用してinitシステムをチェックし、次のように入力してサービスが実行されていることを確認できます。
systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
Loaded:loaded(/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active:active(running) since Mon 2016-04-1816:14:00 EDT; 4min 2s ago
Main PID:12857(nginx)
CGroup:/system.slice/nginx.service
├─12857 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
└─12858 nginx: worker process
ご覧のとおり、サービスは正常に開始されたようです。ただし、それをテストする最良の方法は、実際にNginxにページを要求することです。
デフォルトのNginxログインページにアクセスして、ソフトウェアが正常に実行されていることを確認できます。サーバーのドメイン名またはIPアドレスを介してアクセスできます。
ドメイン名をお持ちでない場合は、まずここ[ドメイン名の登録](https://dnspod.cloud.tencent.com/)にアクセスすることをお勧めします。この構成をテストまたは個人使用のみに使用する場合は、ドメイン名を購入しなくても自己署名証明書を使用できます。自己署名証明書は同じタイプの暗号化を提供しますが、ドメイン名検証のアナウンスはありません。自己署名証明書については、[Apacheの自己署名SSL証明書の作成](https://cloud.tencent.com/developer/article/1165840?from=10680)と[Nginxの自己署名SSL証明書の作成方法](https://cloud.tencent.com/developer/article/1160294?from=10680)の2つの記事を参照してください。
サーバーのドメイン名を設定したくない場合は、サーバーのパブリックIPアドレスを使用できます。サーバーのIPアドレスがわからない場合は、いくつかの異なる方法でコマンドラインから取得できます。
サーバーのコマンドプロンプトで入力してみてください。
ip addr show eth0 | grep inet | awk '{ print $2; }'| sed 's/\/.*$//'
数行戻ってきます。 Webブラウザーでそれぞれを試して、機能するかどうかを確認できます。
もう1つの方法は、これを入力することです。インターネット上の他の場所から見たパブリックIPアドレスを提供する必要があります。
sudo apt-get install curl
curl -4 icanhazip.com
サーバーのIPアドレスまたはドメインを取得したら、ブラウザーのアドレスバーに入力します。
http://server_domain_or_IP
デフォルトのNginxログインページが表示されます。これは次のようになります。
このページは、サーバーが正常に実行されていることを示すためにNginxにのみ含まれています。
Webサーバーが稼働しているので、いくつかの基本的な管理コマンドを表示できます。
Webサーバーを停止するには、次のように入力します。
sudo systemctl stop nginx
Webサーバーが停止しているときに起動するには、次のように入力します。
sudo systemctl start nginx
サービスを停止して再開するには、次のように入力します。
sudo systemctl restart nginx
構成を変更するだけの場合は、通常、接続を切断せずにNginxを再ロードできます。これには、次のコマンドを使用できます。
sudo systemctl reload nginx
デフォルトでは、Nginxはサーバーの起動時に自動的に起動するように構成されています。これが希望どおりでない場合は、次のように入力してこの動作を無効にできます。
sudo systemctl disable nginx
起動時にサービスを再開できるようにするには、次のように入力します。
sudo systemctl enable nginx
サービス自体を管理する方法がわかったので、いくつかの重要なディレクトリとファイルに慣れるために数分を費やす必要があります。
/ var / www / html
:実際のWebコンテンツ(デフォルトでは、前に見たデフォルトのNginxページのみが含まれます)は、 / var / www / html
ディレクトリから提供されます。これは、Nginx構成ファイルを変更することで変更できます。 / etc / nginx
:Nginx構成ディレクトリ。すべてのNginx構成ファイルはここにあります。 / etc / nginx / nginx.conf
:メインのNginx構成ファイル。これを変更して、Nginxグローバル構成を変更できます。/ etc / nginx / sites-available /
:各サイトの「サーバーブロック」を保存できるディレクトリ。 Nginxは、 sites-enabled
ディレクトリにリンクされていない限り、このディレクトリ内の構成ファイルを使用しません(以下を参照)。通常、すべてのサーバーブロック構成はこのディレクトリで行われ、他のディレクトリにリンクすることで有効になります。/ etc / nginx / sites-enabled /
:各サイトの「サーバーブロック」が有効になっているディレクトリ。通常、これらは sites-available
ディレクトリ内の構成ファイルにリンクすることによって作成されます。 / etc / nginx / snippets
:このディレクトリには、Nginx構成の他の場所に含めることができる構成スニペットが含まれています。おそらく繰り返し可能な構成セグメントは、フラグメントへの再構築に適しています。 /var/log/nginx/access.log
:Nginxが他の操作を実行するように構成されていない限り、Webサーバーへのすべての要求はこのログファイルに記録されます。 /var/log/nginx/error.log
:Nginxエラーはすべてこのログに記録されます。Webサーバーをインストールしたので、提供するコンテンツのタイプと、より豊かなエクスペリエンスを作成するために使用するテクノロジーを選択できます。
その他のUbuntuチュートリアルについては、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。
参照:「Ubuntu16.04にNginxをインストールする方法」
Recommended Posts