GEEK ShopAutoresContacto

Wordpress + NGINX

Por Nathz Guardia
Publicado en MAT
May 20, 2019
3 min lectura
Wordpress + NGINX

NGINX fue escrito específicamente para eliminar las limitaciones de rendimiento de los servidores web de Apache. Fue creado en 2002 por Igor Sysoev. Administrador de sistemas para un sitio ruso popular (Rambler.ru). Fue creado como una solución para ayudar a administrar este portal ya que cada vez recibía más volumen de tráfico. Fue abierto en octubre de 2004.

Las ventajas de tener Wordpress sobre este servidor son muchas, entre las principales es el rendimiento y optimización, adicional la documentación es más clara y lo más importante es el trabajo que le genera al procesador del equipo que lo esta hosteando.

Requisitos:

  • Ubuntu server o Desktop.

Paso 1: Instalamos NGINX

  • Primero iniciamos actualizando el server
sudo apt update
sudo apt upgrade
  • Instalamos el nginx con el siguiente comando
sudo apt install nginx
  • Después ejecutamos los siguientes comandos para detener, iniciar y habilitar el servicio de nginx
sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Paso 2: Instalar MariaDB y crear Base de datos

Wordpress requiere de una base de datos, nosotros utilizaremos MariaDB para esta instalación.

sudo apt-get install mariadb-server mariadb-client

Después ejecutamos los siguientes comandos para detener, iniciar y habilitar el servicio de mariadb

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Seguido, ejecutamos el script de seguridad para resguardarla:

sudo mysql\_secure\_installation

A continuación nos realizará unas preguntas a las cuales contestaremos:

  • Ingrese la contraseña actual para root (ingrese para ninguno): simplemente presione el  botón Enter
  • configurar contraseña de root [Y/n]Y
  • Nueva contraseña:  Ingresar contraseña
  • Vuelva a ingresar la nueva contraseña: Repita la contraseña
  • Quitar usuarios anonimos? [Y/n]Y
  • ¿Inhabilitar el inicio de sesión de forma remota? [Y/n]Y
  • ¿Eliminar la base de datos de prueba y acceder a ella? [Y/n]: Y
  • Recargar privilegios de tablas ya? [Y/n]: Y

Procedemos a reiniciar el servidor de MariaDB

sudo systemctl restart mariadb.service

Luego, procedemos a crear la base de datos que utilizaremos. Primero accedemos a la Base de datos

sudo mysql -u root -p

Creamos una base de datos. Nosotros le llamaremos wordpress para este tutorial:

CREATE DATABASE **wordpress**;

Creamos un usuario que será el encargado de la conexión entre el wordpress y su base de datos (recuerda poner tu propio usuario y contraseña)

`CREATE USER '**wordpressuser**'@'localhost' IDENTIFIED BY '**new_password_here**';`

Ahora concedemos los permisos necesarios para la base de datos

`GRANT ALL ON **wordpress**.* TO '**wordpressuser**'@'localhost' IDENTIFIED BY '**user_password_here**' WITH GRANT OPTION;`

Finalmente guardamos los cambios y salimos.

FLUSH PRIVILEGES;
EXIT;

Paso 3: Instalar PHP-FPM y módulos relacionados

Wordpress requiere de php para funcionar y el nginx necesita el módulo php-fpm para hacer el manejo adecuado de los datos no estáticos.

sudo apt install php-fpm php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl

Ahora procedemos a hacer algunos ajustes en el archivo .ini de php que lo encontraremos en la ruta /etc/php/[version]/cli/php.ini. En nuestro caso /etc/php/7.2/cli/php.ini y en el archivo /etc/php/7.2/fpm/php.ini

sudo vi /etc/php/**7.2**/cli/php.ini

Editamos los siguientes parámetros

file\_uploads = On
max\_execution\_time = 180
memory\_limit = 256M
post\_max\_size = 32M
upload\_max\_filesize = 64M

Después editamos los mismos parametros pero en este otro archivo

sudo vi /etc/php/**7.2**/fpm/php.ini

Procedemos a reiniciar el servicio del fpm sudo systemctl restart php7.2-fpm.service

Paso 4: Instalación y configuración de Wordpress

Ahora visitamos el sitio de wordpress y nos descargama la versión más reciente de wordpress, esto lo haremos en una carpeta temporal

cd /tmp && wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
sudo mv wordpress /var/www/html/wordpress

Corregimos los permisos de las carpetas para manejo del wordpress

sudo chown -R www-data:www-data /var/www/html/wordpress/
sudo chmod -R 755 /var/www/html/wordpress/
sudo find /var/www/html/wordpress -type d -exec chmod g+s {} \\;
sudo chmod g+w /var/www/html/wordpress/wp-content
sudo chmod -R g+w /var/www/html/wordpress/wp-content/themes
sudo chmod -R g+w /var/www/html/wordpress/wp-content/plugins

Ahora procedemos a configurar los parametros de conexión de nuestro wordpress, primero creamos el archivo de configuración

sudo mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

Procedemos a editarlo

sudo vi /var/www/html/wordpress/wp-config.php

Procedemos a poner nuestro nombre de base de datos, usuarios y contraseña que creamos en los pasos anteriores

// \*\* MySQL settings - You can get this info from your web host \*\* //
/\*\* The name of the database for WordPress \*/
define('DB\_NAME', '**wordpress**');
/\*\* MySQL database username \*/
define('DB\_USER', '**wordpressuser**');
/\*\* MySQL database password \*/
define('DB\_PASSWORD', '**user\_password\_here**');
/\*\* MySQL hostname \*/ define('DB\_HOST', 'localhost');
/\*\* Database Charset to use in creating database tables. \*/
define('DB\_CHARSET', 'utf8');
/\*\* The Database Collate type. Don't change this if in doubt. \*/
define('DB\_COLLATE', '');

Adicional debemos agregar el siguiente comando para que nuestro wordpres pueda subir archivos directo al servidor (plugins, temas, imagenes, documentos, etc)

define('FS\_METHOD', 'direct');

Paso 4: configuramos NGINX

Finalmente configuramos nuestro nginx para que levante nuestro wordpress. Lo primero es crear el archivo que utilizará el nginx para levantar el wordpress

sudo vi /etc/nginx/sites-available/wordpress

Y agregamos lo siguiente en dicho archivo

server {
listen 80;
listen \[::\]:80;
root /var/www/html/wordpress;
index index.php index.html index.htm;
server\_name example.com www.example.com;
location / {
try\_files $uri $uri/ /index.php?$args;
}
location ~ \\.php$ {
fastcgi\_split\_path\_info ^(.+\\.php)(/.+)$;
fastcgi\_index index.php;
fastcgi\_pass unix:/var/run/php/php7.3-fpm.sock; #deben cambiar a la versión de php que tienen instalada
include fastcgi\_params;
fastcgi\_param PATH\_INFO $fastcgi\_path\_info;
fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;
}
}

Ahora procedemos a habilitar al nginx para poder subir archivos de tamaños hasta 100M (no poner esto podría molestar a la hora de subir los temas o plugins), esto lo hacemos con el parámetro client_max_body_size 100M; en el archivo de configuración del nginx ubicado en /etc/nginx/nginx.conf agregamos el parámetro en la sección http.

Habilitamos el sitio de wordpress

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/

Debemos borrar el archivos de configuración que viene con la instalación del nginx, esto lo hacemos con los siguientes comandos:

sudo rm /etc/nginx/sites-enabled/default
sudo rm /etc/nginx/sites-available/default

Por último reiniciamos el servidor

sudo systemctl restart nginx.service

Ya podemos ir a visitar nuestro server

wordpress-1024x543.jpg


Tags

TutorialWEB

Compartir


Artículo Anterior
Un 18 de mayo se libera la primera película desarrollada en Software Libre
Nathz Guardia

Nathz Guardia

CEO Ponte GEEK

Table Of Contents

1
Paso 1: Instalamos NGINX
2
Paso 2: Instalar MariaDB y crear Base de datos
3
Paso 3: Instalar PHP-FPM y módulos relacionados
4
Paso 4: Instalación y configuración de Wordpress
5
Paso 4: configuramos NGINX

Artículos Relacionados

🖥️ Actualiza tu Mac Antigua con OpenCore Legacy Patcher: ¡Dale Nueva Vida a tu Mac!
April 20, 2023
3 min
© 2023, Todos los derechos reservados.
Powered By

Atajos

Creador de contenidoMedia KitChatea con nosotros

Social Media