Ubuntu Linux上のNginxサーバーブロック

このチュートリアルでは、Ubuntu LinuxでNginxサーバーブロックを設定するために必要なすべての手順を説明します。

Nginx Server Blocksは、Apache仮想ホスト機能とほとんど同じです。

このチュートリアルはUbuntu 18.04でテストされました。

1. Ubuntu LinuxにNginxをインストールする

Nginxサーバーをインストールするには、Ubuntu APTコマンドを使用します。

# apt-get update
# apt-get install nginx

Nginx Webサーバーを手動で再起動します。

# service nginx restart
# service nginx 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 Sat 2018-12-29 04:29:22 UTC; 1h 17min ago
Docs: man:nginx(8)
Process: 2233 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status
Process: 2221 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exite
Main PID: 2238 (nginx)
Tasks: 2 (limit: 1152)
CGroup: /system.slice/nginx.service
├─2238 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2239 nginx: worker process

Ubuntu LinuxへのNginx Webサーバーのインストールは完了です。

2. NginxにPHPサポートを追加する

NginxはPHPサポートを追加するために外部プログラムを必要とします。

Ubuntu APTコマンドを使用してPHPの必須パッケージをインストールします。

# apt-get update
# apt-get install php7.2-fpm

オプションです。 最も使用されているPHPモジュールをインストールするには、次のコマンドを使用します。

# apt-get install php7.2-xml php7.2-curl php7.2-gd php7.2-mbstring php7.2-mysql
# apt-get install php7.2-bz2 php7.2-zip php7.2-json php7.2-readline

システム上のPHP設定ファイルの場所を見つけます。

php.ini設定ファイルを編集します。

# updatedb
# locate php.ini
# vi /etc/php/7.2/fpm/php.ini

あなたのPHPのバージョンは私たちのものと同じではないかもしれません。

あなたのPHP設定ファイルの場所は、私たちのものと同じではないかもしれません。

これが私たちの設定ファイルです。

file_uploads = On
max_execution_time = 300
memory_limit = 256M
post_max_size = 32M
max_input_time = 60
max_input_vars = 4440
upload_max_filesize = 32M

NginxのデフォルトWebサイト設定ファイルを編集します。

# vi /etc/nginx/sites-available/default

これが私たちの設定の前の、元のファイルです。

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}

これが私たちの設定による新しいファイルです。

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}

Nginxの設定ファイルにエラーがないか確認してください。

# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

PHPサービスを再起動します。
Nginxサービスを再起動します。

# service php7.2-fpm restart
# service nginx restart

Ubuntu Linux上でNginxとPHPの統合が完了しました。

3. Nginxサーバーブロックを設定する

サーバーブロックは、1台のNginxサーバーが同じIPアドレスを使用して複数のWebサイトを提供できるようにする機能です。

Nginx Serverのブロック機能を使用するために必要なインフラストラクチャを作成しましょう。

# mkdir /websites/mining-pool -p
# cd /websites/mining-pool
# mkdir www
# chown www-data.www-data /websites -R

私たちのウェブサイトはmining-pool.ninjaという名前になります。

mining-pool.ninja Webサイトファイルは、/ website / mining-pool / wwwディレクトリ内にあります。

Alert!

Mining-pool.ninja was used as an example!

You need to change your configuration files to reflect your website name.

あなたのウェブサイトにNginx Virtualhost設定ファイルを作成してください。

# vi /etc/nginx/sites-available/mining-pool.conf

これが私たちの設定ファイルです。

server {
listen 80;
listen [::]:80;
root /websites/mining-pool/www;
index index.php index.html index.htm;
server_name mining-pool.ninja;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}

Nginx仮想ホスト構成を有効にするためのシンボリックリンクを作成します。

Nginxサービスを再起動します。

# ln -s /etc/nginx/sites-available/mining-pool.conf /etc/nginx/sites-enabled/
# service nginx restart

これでNginx Serverのブロック構成は完了です。

4. DNSドメインを設定する

にアクセスする GODADDY DNSドメインを購入する。

この例では、MINING-POOL.NINJAというドメインを購入します。

あなたはDNSドメインを購入するために任意のウェブサイトを使用することができます、GoDaddyはちょうど私の個人的な選択です。

あなたのウェブサイトがNginxを実行しているコンピュータを指すDNSエントリを作成します。

この例では、ドメインMINING-POOL.NINJAを指すDNSエントリをIPアドレス35.163.100.49に作成しました。

Godaddy Apache DNS Configuration

DNS設定をテストするには、NSLOOKUPコマンドを使用します。

# apt-get update
# apt-get install dnsutils
# nslookup mining-pool.ninja

Non-authoritative answer:
Name: mining-pool.ninja
Address: 35.163.100.49

DNSドメインの設定が完了しました。

設定をテストするために、基本的なPHPテストページを作成しましょう。

# vi /websites/mining-pool/www/index.php

これはindex.phpファイルの内容です。

<?php phpinfo(); ?>

ブラウザを開き、WebサイトのHTTPバージョンにアクセスしてみます。

この例では、ブラウザに次のURLが入力されています。

•http://mining-pool.ninja

PHP情報ページが表示されるはずです。

PHPInfo Nginx