LINUX

Cómo configurar Nginx como proxy inverso en CentOS 7 CPanel

Nginx es uno de los servidores web más rápidos y potentes. Es conocido por su alto rendimiento y bajo uso de recursos. Se puede instalar como servidor web independiente y como servidor proxy inverso. En este artículo, hablo de la instalación de Nginx como proxy inverso junto con Apache en un servidor CPanel con la última versión de CentOS 7 instalada.

Nginx como proxy inverso funcionará como un servidor web frontend que sirve contenido estático junto con Apache que sirve los archivos dinámicos en el backend. Esta configuración aumentará el rendimiento general del servidor.

Repasemos los pasos de instalación de Nginx como proxy inverso en el servidor CentOS7 x86_64 bit con cPanel 11.52 instalado.

En primer lugar, debemos instalar el repositorio de EPEL para iniciar el proceso.

Paso 1 : Instale el repositorio EPEL.

root@server1 [/usr]# yum -y install epel-release
Loaded plugins: fastestmirror, tsflags, universal-hooks
Loading mirror speeds from cached hostfile
* EA4: 66.23.237.210
* base: mirrors.linode.com
* extras: mirrors.linode.com
* updates: mirrors.linode.com
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-5 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================
Installing:
epel-release noarch 7-5 extras 14 k

Paso 2: Después de instalar el repositorio, podemos comenzar con la instalación del repositorio nDeploy RPM para CentOS para instalar nuestro complemento nDeploy Webstack y Nginx requerido.

root@server1 [/usr]# yum -y install http://rpm.piserve.com/nDeploy-release-centos-1.0-1.noarch.rpm
Loaded plugins: fastestmirror, tsflags, universal-hooks
nDeploy-release-centos-1.0-1.noarch.rpm | 1.7 kB 00:00:00
Examining /var/tmp/yum-root-ei5tWJ/nDeploy-release-centos-1.0-1.noarch.rpm: nDeploy-release-centos-1.0-1.noarch
Marking /var/tmp/yum-root-ei5tWJ/nDeploy-release-centos-1.0-1.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package nDeploy-release-centos.noarch 0:1.0-1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================
Installing:
nDeploy-release-centos noarch 1.0-1 /nDeploy-release-centos-1.0-1.noarch 110

Paso 3: Instale los complementos nDeploy y Nginx nDeploy.

root@server1 [/usr]# yum --enablerepo=ndeploy install nginx-nDeploy nDeploy
Loaded plugins: fastestmirror, tsflags, universal-hooks
epel/x86_64/metalink | 9.9 kB 00:00:00
epel | 4.3 kB 00:00:00
ndeploy | 2.9 kB 00:00:00
(1/4): ndeploy/7/x86_64/primary_db | 14 kB 00:00:00
(2/4): epel/x86_64/group_gz | 169 kB 00:00:00
(3/4): epel/x86_64/primary_db | 3.7 MB 00:00:02

Dependencies Resolved

===============================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================
Installing:
nDeploy noarch 2.0-11.el7 ndeploy 80 k
nginx-nDeploy x86_64 1.8.0-34.el7 ndeploy 36 M
Installing for dependencies:
PyYAML x86_64 3.10-11.el7 base 153 k
libevent x86_64 2.0.21-4.el7 base 214 k
memcached x86_64 1.4.15-9.el7 base 84 k
python-inotify noarch 0.9.4-4.el7 base 49 k
python-lxml x86_64 3.2.1-4.el7 base 758 k

Transaction Summary
===============================================================================================================================================
Install 2 Packages (+5 Dependent packages)

Con estos pasos, hemos completado la instalación del complemento Nginx en nuestro servidor. Ahora necesitamos configurar Nginx como proxy inverso y crear el host virtual para las cuentas de usuario de cPanel existentes. Para eso podemos ejecutar el siguiente script.

Paso 4: Para habilitar Nginx como servidor web front-end y crear los archivos de configuración predeterminados.

root@server1 [/usr]# /opt/nDeploy/scripts/cpanel-nDeploy-setup.sh enable
Modifying apache http and https port in cpanel

httpd restarted successfully.
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/ndeploy_watcher.service to /usr/lib/systemd/system/ndeploy_watcher.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/ndeploy_backends.service to /usr/lib/systemd/system/ndeploy_backends.service.
ConfGen:: saheetha
ConfGen:: satest

Como puede ver, este script modificará el puerto Apache de 80 a otro puerto para que Nginx se ejecute como un servidor web front-end y cree los archivos de configuración del host virtual para las cuentas de cPanel existentes. Una vez hecho esto, confirme el estado de Apache y Nginx.

Estado de Apache:

root@server1 [/var/run/httpd]# systemctl status httpd

Estado de Nginx:

root@server1 [~]# systemctl status nginx

Nginx actúa como un servidor web frontend que se ejecuta en el puerto 80 y la configuración de Apache se modifica para escuchar en el puerto http 9999 y el puerto https 4430. Consulte su estado a continuación:

root@server1 [/usr/local/src]# netstat -plan | grep httpd
tcp 0 0 0.0.0.0:4430 0.0.0.0:* LISTEN 17270/httpd
tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 17270/httpd
tcp6 0 0 :::4430 :::* LISTEN 17270/httpd
tcp6 0 0 :::9999 :::* LISTEN 17270/httpd

root@server1 [/usr/local/src]# netstat -plan | grep nginx
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 17802/nginx: master
tcp 0 0 45.79.183.73:80 0.0.0.0:* LISTEN 17802/nginx: master

Las entradas de host virtual creadas para los usuarios existentes como se encuentran en la carpeta «/ etc / nginx / sites-enabled«. Esta ruta de archivo se incluye en el archivo de configuración principal de Nginx.

root@server1 [/etc/nginx/sites-enabled]# ll | grep .conf
-rw-r--r-- 1 root root 311 Jan 17 09:02 saheetha.com.conf
-rw-r--r-- 1 root root 336 Jan 17 09:02 saheethastest.com.conf

Vhost de muestra para un dominio:

server {

listen 45.79.183.73:80;
#CPIPVSIX:80;

# ServerNames
server_name saheetha.com www.saheetha.com;
access_log /usr/local/apache/domlogs/saheetha.com main;
access_log /usr/local/apache/domlogs/saheetha.com-bytes_log bytes_log;

include /etc/nginx/sites-enabled/saheetha.com.include;

}

Podemos confirmar el funcionamiento del estado del servidor web llamando a un sitio web en el navegador. Consulte la información del servidor web en mi servidor después de la instalación.

root@server1 [/home]# ip a | grep -i eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 45.79.183.73/24 brd 45.79.183.255 scope global dynamic eth0
root@server1 [/home]# nginx -v
nginx version: nginx/1.8.0

estado del servidor web

Nginx creará el host virtual automáticamente para cualquier cuenta recién creada en cPanel. Con estos sencillos pasos podemos configurar Nginx como proxy inverso en un servidor CentOS 7 / CPanel.

Ventajas de Nginx como proxy inverso:

  1. Fácil de instalar y configurar
  2. Rendimiento y eficiencia
  3. Prevenir ataques DDOS
  4. Permite .htaccess PHP reescribir reglas

Espero que este artículo les sea útil. Gracias por referirse a esto. Agradecería sus valiosos comentarios y sugerencias sobre este tema para futuras mejoras.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar