Hay varias razones por las que desea utilizar varias versiones de PHP con Nginx en su servidor. Si tiene dos aplicaciones, una aplicación que se ejecuta en PHP 7.0 y una segunda aplicación que se ejecuta en PHP 7.2, debe usar varias versiones de PHP en su servidor. También puede usar un servidor separado para cada versión de PHP, pero aumentará su costo de alojamiento. La instalación de varias versiones de PHP con Nginx es la mejor opción para reducir los costos de hospedaje.
En este tutorial, instalaremos varias versiones de PHP y configuraremos Nginx para que funcione con ambas versiones de PHP.
Requisitos
- Un servidor VPS Ubuntu 18.04 nuevo en Atlantic.Net Cloud con un mínimo de 2 GB de RAM.
- Dos nombres de dominio válidos apuntados con su dirección IP de VPS. En este tutorial, usaremos site1.example.com y site2.example.com.
Nota:puede consultar la Guía de DNS de Atlantic para administrar los registros de DNS.
Paso 1:crear el servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 18.04 como sistema operativo, con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor Ubuntu 18.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
apt-get update -y
Paso 2:instalar Nginx y MariaDB
Primero, deberá instalar el servidor web Nginx en su servidor. Puede instalar Nginx simplemente ejecutando el siguiente comando:
apt-get install nginx mariadb-server -y
Una vez instalado, inicie el servidor Nginx y MariaDB y habilítelos para que se inicien después de reiniciar el sistema con el siguiente comando:
systemctl start nginx systemctl start mariadb systemctl enable nginx systemctl enable mariadb
Paso 3:instale PHP 7.0 y PHP 7.2 con PHP-FPM
Primero, deberá agregar un repositorio de PHP a su servidor para instalar varias versiones de PHP. Puede agregar el repositorio PHP de Ondrej con el siguiente comando:
apt-get install software-properties-common -y add-apt-repository ppa:ondrej/php
A continuación, actualice el repositorio con el siguiente comando:
apt-get update -y
Una vez que el repositorio esté actualizado, instale PHP 7.0, PHP 7.2 y PHP-FPM con el siguiente comando:
apt-get install php7.0 php7.0-fpm php7.2 php7.2-fpm -y
Una vez completada la instalación, verifique el estado de PHP-FPM con el siguiente comando:
systemctl status php7.0-fpm systemctl status php7.2-fpm
Paso 4:crear el sitio web 1 y el sitio web 2
A continuación, cree un directorio raíz de documentos para el sitio web 1 y el sitio web 2 con el siguiente comando:
mkdir /var/www/html/site1.example.com mkdir /var/www/html/site2.example.com
A continuación, cree un archivo index.php de muestra para el sitio web site1.example.com:
nano /var/www/html/site1.example.com/index.php
Agregue las siguientes líneas:
<?php phpinfo(); ?>
Guarde y cierre el archivo. Luego, crea un archivo index.php para site2.example.com:
nano /var/www/html/site2.example.com/index.php
Agregue las siguientes líneas:
<?php phpinfo(); ?>
Guarde y cierre el archivo. Luego, cambie la propiedad de ambos sitios web a 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
Paso 5:configurar Nginx
A continuación, deberá crear un archivo de host virtual Nginx para el dominio site1.linuxbuz.com que use PHP 7.0.
Puedes hacerlo con el siguiente comando:
nano /etc/nginx/sites-available/site1.example.com.conf
Agregue las siguientes líneas:
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; } }
Guarde y cierre el archivo.
A continuación, cree un archivo de host virtual Nginx para el dominio site2.example.com que use PHP 7.2.
nano /etc/nginx/sites-available/site2.example.com.conf
Agregue las siguientes líneas:
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; } }
Guarde y cierre el archivo. Luego, habilite ambos archivos de host virtual con el siguiente comando:
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/
Finalmente, reinicie el servicio Nginx y PHP-FPM para aplicar todos los cambios de configuración:
systemctl restart nginx systemctl restart php7.0-fpm systemctl restart php7.2-fpm
Paso 6:probar ambos sitios web
Ambos sitios web ahora están instalados y configurados para ejecutarse con múltiples versiones de PHP.
Ahora, abra su navegador web y escriba la URL http://site1.example.com. Obtendrá la siguiente página que indica que su sitio web1 se está ejecutando con PHP 7.0.
A continuación, abra su navegador web y escriba la URL http://site2.example.com. Obtendrá la siguiente página que indica que su sitio web2 se está ejecutando con PHP 7.2.
Eso es todo por ahora.
Conclusión
En el artículo anterior, ha aprendido cómo alojar varios sitios web con diferentes versiones de PHP en Ubuntu 18.04. Ahora debería tener suficiente conocimiento para usar diferentes versiones de PHP con diferentes aplicaciones. Si está listo para comenzar con un servidor privado virtual para alojar sus sitios web, visite la página de alojamiento VPS de Atlantic.Net para encontrar un paquete de alojamiento adecuado para usted.