Los desarrolladores tienen varias opciones para alojar un sitio web de WordPress. Si es un desarrollador o propietario de un sitio por primera vez y desea alojar un sitio web de poco tráfico, entonces probablemente debería usar un alojamiento compartido para su sitio web de WordPress. Con el alojamiento compartido, compartir un servidor con otros sitios web reduce los costos de alojamiento para todos en el servidor, lo que lo convierte en la opción más económica. Además, no se requieren habilidades de alojamiento para instalar o mantener el sitio web. Si desea alojar un sitio web que tiene un alto volumen de tráfico, debe utilizar el alojamiento en la nube. Algunas razones comunes para elegir el alojamiento en la nube son el rendimiento y el control que ofrece.
En general, cuando su empresa está en continuo crecimiento, no solo necesita una plataforma de alojamiento robusta para atender a un número cada vez mayor de usuarios, sino también el control para personalizar el servidor para un mejor rendimiento. En este caso, alojar un sitio web de WordPress en la nube es la mejor opción para usted.
La mejor configuración para un sitio web de WordPress de alto rendimiento en la nube es una combinación de Apache, MySQL y Nginx como proxy inverso. Apache es conocido por su potencia y compatibilidad con backend, mientras que Nginx es conocido por su velocidad. El uso de Nginx como proxy inverso para Apache puede mejorar drásticamente el rendimiento de su sitio web de WordPress.
En este tutorial, instalaremos y configuraremos Apache para que se ejecute en el puerto 8080 y configuraremos Nginx como proxy inverso. Nginx procesa las solicitudes de sitios web a través de Apache, y Apache procesa su sitio web de WordPress.
Requisitos
- Un Ubuntu 18.04 VPS nuevo en Atlantic.Net Cloud Platform.
- Un nombre de dominio válido apuntado a su dirección IP de VPS. En este tutorial, usaremos example.com.
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 y configurar el servidor web Apache
En esta sección, instalaremos el servidor web Apache y lo configuraremos para que se ejecute en el puerto 8080.
Primero, instale el servidor web Apache ejecutando el siguiente comando:
apt-get install apache2 -y
Después de instalar el servidor web Apache, deberá configurar Apache para que se ejecute en el puerto 8080.
Para hacerlo, edite el archivo /etc/apache2/ports.conf usando su editor de texto preferido:
nano /etc/apache2/ports.conf
Busque la siguiente línea:
Listen 80
Reemplácelo con lo siguiente:
Listen 127.0.0.1:8080
Guarde y cierre el archivo. Luego, deshabilite el archivo de configuración de host virtual predeterminado de Apache con el siguiente comando:
a2dissite 000-default
A continuación, reinicie el servicio Apache para aplicar la configuración:
systemctl restart apache2
En este punto, tiene un servidor web Apache ejecutándose en el puerto 8080.
Paso 3:instalar y configurar MariaDB
En esta sección, instalaremos el servidor de la base de datos MariaDB y crearemos una base de datos y un usuario para WordPress.
Primero, instale el servidor MariaDB con el siguiente comando:
apt-get install mariadb-server -y
Una vez que se complete la instalación, deberá proteger la instalación de MariaDB y establecer la contraseña raíz. Puede hacerlo ejecutando el siguiente script:
mysql_secure_installation
Responda todas las preguntas como se muestra a continuación:
Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
A continuación, inicie sesión en el shell de MariaDB con el siguiente comando:
mysql -u root -p
Proporcione su contraseña raíz cuando se le solicite, luego cree una base de datos y un usuario con el siguiente comando:
CREATE DATABASE wpdb; GRANT ALL ON wpdb.* TO 'wpuser'@'localhost' IDENTIFIED BY 'password';
A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:
FLUSH PRIVILEGES; EXIT;
Ahora tiene una base de datos instalada y configurada en su servidor.
Paso 4:instalar PHP
A continuación, deberá instalar PHP y otros módulos necesarios en su servidor. Puede instalarlos todos con el siguiente comando:
apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl unzip -y
Una vez que todos los paquetes estén instalados, abra el archivo php.ini y modifique algunas configuraciones:
nano /etc/php/7.2/apache2/php.ini
Cambie las siguientes líneas:
memory_limit = 256M upload_max_filesize = 50M max_execution_time = 360 date.timezone = America/Chicago
Guarde y cierre el archivo cuando haya terminado.
Paso 5:descarga WordPress
En esta sección, descargaremos WordPress y estableceremos permisos en él.
Primero, descargue la última versión de WordPress con el siguiente comando:
cd /var/www/html wget http://wordpress.org/latest.tar.gz
Una vez descargado, extraiga el archivo descargado con el siguiente comando:
tar -xzvf latest.tar.gz
A continuación, cambie el directorio a wordpress y cambie el nombre del archivo de configuración de muestra:
cd wordpress mv wp-config-sample.php wp-config.php
A continuación, edite el archivo wp-config.php:
nano wp-config.php
Defina la información de conexión de la base de datos como se muestra a continuación:
/** The name of the database for WordPress */ define('DB_NAME', 'wpdb'); /** MySQL database username */ define('DB_USER', 'wpuser'); /** MySQL database password */ define('DB_PASSWORD', 'password'); /** MySQL hostname */ define('DB_HOST', 'localhost');
Guarde y cierre el archivo. Luego, configure los permisos adecuados para el directorio de wordpress:
chown -R www-data:www-data /var/www/html/wordpress
En este punto, tienes WordPress instalado y configurado en tu servidor.
Paso 6:configurar Apache para WordPress
En esta sección, configuraremos Apache para servir el sitio web de WordPress en localhost. Para hacerlo, cree un nuevo archivo de configuración de host virtual de Apache con el siguiente comando:
nano /etc/apache2/sites-available/wordpress.conf
Agregue las siguientes líneas:
<VirtualHost *:8080> ServerAdmin [email protected] DocumentRoot /var/www/html/wordpress ServerName 127.0.0.1 <Directory /var/www/html/wordpress/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined </VirtualHost>
Guarde y cierre el archivo. Luego, habilite el archivo de configuración del host virtual de Apache con el siguiente comando:
a2ensite wordpress
A continuación, habilite el módulo de reescritura de Apache y reinicie el servicio de Apache con el siguiente comando:
a2enmod rewrite systemctl restart apache2
En este punto, Apache está configurado para servir WordPress en localhost.
Paso 7:instalar y configurar Nginx para WordPress
En esta sección, instalaremos y configuraremos Nginx como un proxy inverso que envía la solicitud al servidor web Apache.
Primero, instale el servidor web Nginx con el siguiente comando:
apt-get install nginx -y
Una vez instalado, cree un archivo de configuración de host virtual Nginx con el siguiente comando:
nano /etc/nginx/sites-available/wordpress.conf
Agregue las siguientes líneas:
server { listen 80; server_name example.com; location / { try_files $uri @apache; } location @apache { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } location ~[^?]*/$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } location ~ \.php$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } }
Guarde y cierre el archivo. Luego, verifique Nginx para ver si hay algún error de sintaxis y habilite la configuración.
nginx -t ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/
Finalmente, reinicie Nginx para aplicar la configuración:
systemctl restart nginx
En este punto, hemos configurado Nginx para enviar solicitudes de proxy al servidor web Apache.
Paso 8:Accede a WordPress
Ahora, abra su navegador web y escriba la URL http://example.com . Será redirigido a la página de selección de idioma de WordPress:
Seleccione el idioma deseado y haga clic en Continuar botón. Debería ver la siguiente página:
Proporcione el nombre de su sitio, el nombre de usuario del administrador, la contraseña y el correo electrónico y haga clic en Instalar WordPress botón. Una vez finalizada la instalación, debería ver la siguiente página:
Haga clic en el Registro En botón. Debería ver la página de inicio de sesión de WordPress:
Proporcione su nombre de usuario y contraseña de administrador de WordPress y haga clic en Iniciar sesión En botón. Deberías ver tu panel de WordPress:
Paso 9:instalar y configurar Redis Cache
Redis es una potente y avanzada base de datos en memoria, persistente y de valores clave. Redis almacena y manipula tipos de datos de alto nivel, incluidas listas, mapas, conjuntos y conjuntos ordenados. Redis proporciona un mecanismo para almacenar en caché sus consultas y acelerar el tiempo de carga de su página de WordPress.
Primero, instale Redis ejecutando el siguiente comando:
apt-get install redis-server php-redis -y
A continuación, deberá configurar Redis como caché para WordPress. Para hacerlo, primero abra el archivo /etc/redis/redis.conf:
nano /etc/redis/redis.conf
Agregue las siguientes líneas al final del archivo:
##Set this memory settings according to the RAM of your server. maxmemory 128mb maxmemory-policy allkeys-lru
Guarde y cierre el archivo.
A continuación, deberá habilitar la configuración de caché de Redis en el archivo wp-config.php:
nano /var/www/html/wordpress/wp-config.php
Busque la sección "* Autenticación de claves y sales únicas" y agregue las siguientes líneas al final de esta sección:
define('WP_CACHE_KEY_SALT', 'example.com'); define('WP_CACHE', true);
Guarde y cierre el archivo cuando haya terminado.
A continuación, deberá descargar el script Redis Object Cache del repositorio de Git para indicarle a WordPress que utilice Redis. Puede descargarlo dentro del directorio /var/www/html/wordpress/wp-content como se muestra a continuación:
cd /var/www/html/wordpress/wp-content wget https://raw.githubusercontent.com/ericmann/Redis-Object-Cache/master/object-cache.php
Una vez descargado, otorgue los permisos adecuados con el siguiente comando:
chown www-data:www-data object-cache.php chmod 755 object-cache.php
Finalmente, reinicie el servicio Redis y Apache para aplicar los cambios:
systemctl restart redis-server systemctl restart apache2
Eso es todo. Su sitio de WordPress ahora está utilizando el almacenamiento en caché de Redis.
A continuación, abra su panel de WordPress y navegue por su área de administración. Luego, abre tu terminal y monitorea tu Redis con el siguiente comando:
redis-cli monitor
Conclusión
¡Felicidades! Ha instalado y configurado correctamente WordPress con Nginx como proxy inverso para Apache. Ahora tiene un sitio web de WordPress de alto rendimiento con los beneficios de Apache y Nginx.