7. Ahora, será necesario instalar algunos servicios y hacer algunas configuraciones en la instancia:
7.1 Actualiza los paquetes.
sudo apt update
7.2 Instala NGINX, PHP y PHP-FPM.
sudo apt install nginx php7.0 php7.0-common php7.0-curl php7.0-mysql php7.0-mcrypt php7.0-fpm
7.3 Configura el host virtual o VHOST en “/etc/nginx/sites-available/domain.com”.
Antes de continuar, quiero explicar qué es VHOST; es un archivo en la configuración del servidor web, en este caso NGINX, para poder alojar varios sitios en el mismo servidor; Su función principal es enrutar cada dominio a su directorio raíz respectivo.
Su configuración más básica y funcional es la siguiente:
server {
listen 80;
server_name dominio.com www.dominio.com;
root /var/www/dominio.com/public_html/;
index index.php index.html;
access_log /var/log/nginx/dominio-access.log;
error_log /var/log/nginx/dominio-error.log;
location / {
try_files $uri $uri/ /index.php?$args;
index index.php index.html;
}
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Explicamos cada directiva de manera general:
listen 80: El puerto a través del cual NGINX “escuchará”, si utiliza el certificado SSL, lo escuchará por 443.
server_name domain.com www.dominio.com: El nombre o dominio del sitio al que responderá.
root /var/www/domain.com/public_html/;: Se especifica la ruta al directorio donde se encuentra WordPress.
index index.php index.html: El orden en que buscará/leerá los archivos de índice.
access_log and error_log: Rutas para archivos de registro.
location /: Las configuraciones que están dentro de “{}” se aplican a todo el sitio (/).
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$: Las configuraciones que están dentro de “{}” se aplican a todos los archivos con jpg, jpeg, gif, css, png, js, ico y html.
location ~ \.php$: Las configuraciones que están dentro de “{}” son necesarias para que el servidor interprete el código PHP.
fastcgi_pass unix:/run/php/php7.0-fpm.sock: Puerto o socket a través de los cuales PHP-FPM escucha.
7.4 Habilita el VHOST.
sudo ln -s /etc/nginx/sites-available/dominio.com /etc/nginx/sites-enabled/
7.5 Verifique la sintaxis de NGINX.
sudo nginx -t
7.6 Reiniciar NGINX.
sudo service nginx restart
7.7 Emular el sitio.
7.8 Opcionalmente, puedes instalar la extensión para Google Chrome llamada “IP del sitio web” para verificar la IP del servidor donde está cargando un sitio.