Existuje několik důvodů, proč chcete na svém serveru používat více verzí PHP s Nginx. Pokud máte dvě aplikace, jednu aplikaci, která běží na PHP 7.0 a druhou aplikaci, která běží na PHP 7.2, musíte na svém serveru používat více verzí PHP. Můžete také použít samostatný server pro každou verzi PHP, ale to zvýší vaše náklady na hosting. Instalace více verzí PHP s Nginx je nejlepší volbou pro snížení nákladů na hosting.
V tomto tutoriálu nainstalujeme několik verzí PHP a nakonfigurujeme Nginx pro práci s oběma verzemi PHP.
Předpoklady
- Nový server VPS Ubuntu 18.04 v cloudu Atlantic.Net s minimálně 2 GB RAM.
- Dvě platné názvy domén, na které odkazuje vaše IP adresa VPS. V tomto tutoriálu použijeme site1.example.com a site2.example.com.
Poznámka:Pro správu DNS záznamů se můžete podívat na Atlantic DNS Guide.
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte na svůj server Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Krok 2 – Nainstalujte Nginx a MariaDB
Nejprve budete muset na svůj server nainstalovat webový server Nginx. Nginx můžete nainstalovat pouhým spuštěním následujícího příkazu:
apt-get install nginx mariadb-server -y
Po instalaci spusťte server Nginx a MariaDB a povolte jim spuštění po restartu systému pomocí následujícího příkazu:
systemctl start nginx systemctl start mariadb systemctl enable nginx systemctl enable mariadb
Krok 3 – Instalace PHP 7.0 a PHP 7.2 s PHP-FPM
Nejprve budete muset na svůj server přidat úložiště PHP, abyste mohli nainstalovat více verzí PHP. Ondřej PHP repozitář přidáte následujícím příkazem:
apt-get install software-properties-common -y add-apt-repository ppa:ondrej/php
Dále aktualizujte úložiště pomocí následujícího příkazu:
apt-get update -y
Jakmile bude úložiště aktuální, nainstalujte PHP 7.0, PHP 7.2 a PHP-FPM pomocí následujícího příkazu:
apt-get install php7.0 php7.0-fpm php7.2 php7.2-fpm -y
Po dokončení instalace zkontrolujte stav PHP-FPM pomocí následujícího příkazu:
systemctl status php7.0-fpm systemctl status php7.2-fpm
Krok 4 – Vytvořte web1 a web2
Dále vytvořte kořenový adresář dokumentu pro Web1 a Web2 pomocí následujícího příkazu:
mkdir /var/www/html/site1.example.com mkdir /var/www/html/site2.example.com
Dále vytvořte ukázkový soubor index.php pro web site1.example.com:
nano /var/www/html/site1.example.com/index.php
Přidejte následující řádky:
<?php phpinfo(); ?>
Uložte a zavřete soubor. Poté vytvořte soubor index.php pro site2.example.com:
nano /var/www/html/site2.example.com/index.php
Přidejte následující řádky:
<?php phpinfo(); ?>
Uložte a zavřete soubor. Poté změňte vlastnictví obou webových stránek na 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
Krok 5 – Konfigurace Nginx
Dále budete muset vytvořit soubor virtuálního hostitele Nginx pro doménu site1.linuxbuz.com, která používá PHP 7.0.
Můžete to udělat pomocí následujícího příkazu:
nano /etc/nginx/sites-available/site1.example.com.conf
Přidejte následující řádky:
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; } }
Uložte a zavřete soubor.
Dále vytvořte soubor virtuálního hostitele Nginx pro doménu site2.example.com, který používá PHP 7.2.
nano /etc/nginx/sites-available/site2.example.com.conf
Přidejte následující řádky:
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; } }
Uložte a zavřete soubor. Poté povolte oba soubory virtuálního hostitele pomocí následujícího příkazu:
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/
Nakonec restartujte Nginx a službu PHP-FPM, abyste použili všechny změny konfigurace:
systemctl restart nginx systemctl restart php7.0-fpm systemctl restart php7.2-fpm
Krok 6 – Otestujte obě webové stránky
Obě webové stránky jsou nyní nainstalovány a nakonfigurovány pro běh s více verzemi PHP.
Nyní otevřete webový prohlížeč a zadejte adresu URL http://site1.example.com. Zobrazí se následující stránka, která označuje, že váš web1 běží s PHP 7.0.
Dále otevřete webový prohlížeč a zadejte adresu URL http://site2.example.com. Zobrazí se následující stránka, která označuje, že váš web2 běží s PHP 7.2.
To je prozatím vše.
Závěr
Ve výše uvedeném článku jste se naučili hostovat více webových stránek s různými verzemi PHP na Ubuntu 18.04. Nyní byste měli mít dostatek znalostí, abyste mohli používat různé verze PHP s různými aplikacemi. Pokud jste připraveni začít s virtuálním soukromým serverem pro hostování vašich webových stránek, navštivte stránku VPS Hosting společnosti Atlantic.Net, kde najdete hostingový balíček, který je pro vás ten pravý.