Nginxは、無料で高性能なオープンソースのHTTPおよびリバースプロキシサーバーです。スタンドアロンのWebサーバーとして、およびApacheやその他のWebサーバーのリバースプロキシとして使用できます。これは、Apache HTTPサーバーよりも柔軟で軽量なプログラムであるため、インターネット上で最大のサイトのいくつかに電力を供給します。
Nginxは、Apacheよりも大量の接続を処理でき、消費するメモリも少なくて済みます。
ここLinuxAPTでは、サーバー管理サービスの一環として、お客様が関連するNginxクエリを実行するのを定期的に支援しています。
これに関連して、Debian9サーバーにNginxをインストールする方法を検討します。
DebianにNginxをインストールする方法は?
このインストール手順に進む前に、次の前提条件が満たされていることを確認してください。
- rootsudoが有効になっていないユーザーアカウントでDebianサーバーにログインする必要があります。
- Apacheまたはその他のサービスがポート80または443で実行されていないことを確認してください。
次に、次のコマンドを実行して、システムパッケージのインデックスを最新バージョンに更新します。
$ sudo apt update
次のように入力してNginxをインストールします:
$ sudo apt install nginx
インストールプロセスが完了すると、Nginxサービスが自動的に開始されます。次のコマンドを実行して確認できます:
$ sudo systemctl status nginx
Output
● 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 2019-04-15 20:19:06 IST; 32min ago
Docs: man:nginx(8)
Process: 421 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 370 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 423 (nginx)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/nginx.service
├─423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─424 nginx: worker process
Nginxのファイアウォールを調整する方法は?
サーバーでファイアウォールが有効になっている場合は、HTTP(80)ポートとHTTPS(443)ポートの両方を開く必要があります。
次のコマンドを実行して、HTTP(80)ポートとHTTPS(443)ポートの両方を開きます。
$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https
$ sudo firewall-cmd --reload
iptablesを使用してシステムへの接続をフィルタリングする場合は、HTTP(80)およびHTTPS(443)ポートを開く必要があります。
次のコマンドを発行して、必要なポートを開きます。
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
ブラウザで以下のURLにアクセスすると、Nginxのインストールを確認できます:
http://YOUR_SERVER_IP_ADDRESS
これで、デフォルトのNginxウェルカムページが表示されます。
Nginxサービスを管理する方法は?
最後に、マシンにNginxHTTPサーバーをインストールしました。以下は、Nginxサービスを管理するためのいくつかの基本的なコマンドです。
以下のコマンドでNginxサービスの実行を停止できます:
$ sudo systemctl stop nginx
次のように入力して再開するには:
$ sudo systemctl start nginx
次の方法でNginxサービスをApacheサービスを再起動(停止および開始)します:
$ sudo systemctl restart nginx
構成ファイルを編集してnginxサービスを再ロードする場合は、次のように入力します。
$ sudo systemctl reload nginx
起動後にNginxが自動起動するのを無効にするには、以下のコマンドを実行します:
$ sudo systemctl disable nginx
タイプを再度有効にするには:
$ sudo systemctl enable nginx
Nginx構成ファイルの構造
- すべての構成ファイルは/etc/nginx/ディレクトリにあります。
- Nginxのメイン構成ファイルは/etc/nginx/nginx.confにあります。
- 保守性を高めるために、ドメインごとに個別の構成ファイルを作成することをお勧めします。
- 各ドメインの新しいサーバーブロック(構成ファイル)は、/ etc / nginx/sites-availabledirectoryに保存する必要があります。 Nginxで使用されるようにするには、/ etc / nginx /sites-enabledでこれらの構成ファイルのシンボリックリンクを作成する必要があります。
- サーバーブロックのアクティブ化は、/ etc / nginx / sites-enabledディレクトリ内の構成ファイルサイトからsites-enabledディレクトリへのシンボリックリンク(ポインタ)を作成することによって行われます。
- デフォルトのサーバーWebルートディレクトリは/var/ www / html
- 標準の命名規則に従うことをお勧めします。 Nginxサーバーブロックファイル名はドメイン名であり、拡張子は.confである必要があります。たとえば、ドメイン名はexample.comであり、サーバーブロックファイル名はexample.com.confである必要があります
- Nginxログファイル(access.logおよびerror.log)は、/ var / log /nginx/ディレクトリにあります。サーバーブロックごとに異なるアクセスログファイルとエラーログファイルを用意することもお勧めします。
Nginxサーバーログファイル:
/var/log/nginx/access.log:Nginxが別の方法で実行するように構成されていない限り、Webサーバーへのすべてのリクエストはこのログファイルに記録されます。
/var/log/nginx/error.log:Nginxエラーはすべてこのログに記録されます。