サーバーでNginxで複数のバージョンのPHPを使用する理由はいくつかあります。 PHP7.0で実行されるアプリケーションとPHP7.2で実行されるアプリケーションの2つのアプリケーションがある場合は、サーバーで複数のPHPバージョンを使用する必要があります。 PHPのバージョンごとに個別のサーバーを使用することもできますが、ホスティングコストが増加します。 Nginxを使用して複数のバージョンのPHPをインストールすることは、ホスティングコストを削減するための最良の選択です。
このチュートリアルでは、複数のバージョンのPHPをインストールし、両方のバージョンのPHPで動作するようにNginxを構成します。
前提条件
- 2GB以上のRAMを搭載したAtlantic.NetCloud上の新しいUbuntu18.04サーバーVPS。
- VPSIPアドレスで指定された2つの有効なドメイン名。このチュートリアルでは、site1.example.comとsite2.example.comを使用します。
注:DNSレコードを管理するには、AtlanticDNSガイドを参照してください。
ステップ1-Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。オペレーティングシステムとしてUbuntu18.04を選択し、少なくとも2GBのRAMを搭載した新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
Ubuntu 18.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
apt-get update -y
ステップ2–NginxとMariaDBをインストールする
まず、サーバーにNginxWebサーバーをインストールする必要があります。次のコマンドを実行するだけでNginxをインストールできます:
apt-get install nginx mariadb-server -y
インストールしたら、NginxサーバーとMariaDBサーバーを起動し、次のコマンドを使用してシステムの再起動後に起動できるようにします。
systemctl start nginx systemctl start mariadb systemctl enable nginx systemctl enable mariadb
ステップ3–PHP-FPMを使用してPHP7.0およびPHP7.2をインストールします
まず、複数のバージョンのPHPをインストールするには、サーバーにPHPリポジトリを追加する必要があります。次のコマンドを使用して、OndrejPHPリポジトリを追加できます。
apt-get install software-properties-common -y add-apt-repository ppa:ondrej/php
次に、次のコマンドでリポジトリを更新します。
apt-get update -y
リポジトリが最新になったら、次のコマンドを使用してPHP 7.0、PHP 7.2、およびPHP-FPMをインストールします。
apt-get install php7.0 php7.0-fpm php7.2 php7.2-fpm -y
インストールが完了したら、次のコマンドを使用してPHP-FPMのステータスを確認します。
systemctl status php7.0-fpm systemctl status php7.2-fpm
ステップ4–Website1とWebsite2を作成する
次に、次のコマンドを使用して、Website1とWebsite2のドキュメントルートディレクトリを作成します。
mkdir /var/www/html/site1.example.com mkdir /var/www/html/site2.example.com
次に、ウェブサイトsite1.example.comのサンプルindex.phpファイルを作成します。
nano /var/www/html/site1.example.com/index.php
次の行を追加します:
<?php phpinfo(); ?>
ファイルを保存して閉じます。次に、site2.example.comのindex.phpファイルを作成します。
nano /var/www/html/site2.example.com/index.php
次の行を追加します:
<?php phpinfo(); ?>
ファイルを保存して閉じます。次に、両方のWebサイトの所有権をwww-dataに変更します:
chown -R www-data:www-data /var/www/html/site1.example.com chown -R www-data:www-data /var/www/html/site2.example.com
ステップ5–Nginxを構成する
次に、PHP7.0を使用するドメインsite1.linuxbuz.comのNginx仮想ホストファイルを作成する必要があります。
次のコマンドで実行できます:
nano /etc/nginx/sites-available/site1.example.com.conf
次の行を追加します:
server { listen 80;
root /var/www/html/site1.example.com/; index index.php;
server_name site1.example.com;
location / { try_files $uri $uri/ =404; }
location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
ファイルを保存して閉じます。
次に、PHP7.2を使用するドメインsite2.example.comのNginx仮想ホストファイルを作成します。
nano /etc/nginx/sites-available/site2.example.com.conf
次の行を追加します:
server { listen 80; root /var/www/html/site2.example.com/; index index.php; server_name site2.example.com; location / { try_files $uri $uri/ =404; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
ファイルを保存して閉じます。次に、次のコマンドを使用して両方の仮想ホストファイルを有効にします。
ln -s /etc/nginx/sites-available/site1.example.com.conf /etc/nginx/sites-enabled/ ln -s /etc/nginx/sites-available/site2.example.com.conf /etc/nginx/sites-enabled/
最後に、NginxとPHP-FPMサービスを再起動して、すべての構成変更を適用します。
systemctl restart nginx systemctl restart php7.0-fpm systemctl restart php7.2-fpm
ステップ6–両方のWebサイトをテストする
これで、両方のWebサイトがインストールされ、複数のバージョンのPHPで実行されるように構成されました。
次に、Webブラウザーを開き、URLhttp://site1.example.comを入力します。 Webサイト1がPHP7.0で実行されていることを示す次のページが表示されます。
次に、Webブラウザーを開き、URLhttp://site2.example.comを入力します。 Webサイト2がPHP7.2で実行されていることを示す次のページが表示されます。
今のところ以上です。
結論
上記の記事では、Ubuntu18.04でPHPのバージョンが異なる複数のWebサイトをホストする方法を学びました。これで、さまざまなアプリケーションでさまざまなPHPバージョンを使用するための十分な知識が得られます。ウェブサイトをホストするための仮想プライベートサーバーを使い始める準備ができている場合は、Atlantic.NetのVPSホスティングページにアクセスして、最適なホスティングパッケージを見つけてください。