Nginx/es: Difference between revisions
From Joomla! Documentation
Updating to match new version of source page |
Updating to match new version of source page |
||
| Line 1: | Line 1: | ||
<noinclude><languages /></noinclude> | <noinclude><languages /></noinclude> | ||
<div class="mw-translate-fuzzy"> | |||
[http://nginx.net/ nginx] es un servidor web ligero utilizado en alrededor de 13% de todos los servidores web del mundo[http://en.wikipedia.org/wiki/Nginx#Description]. Nginx es una mejor opción que Apache, a menos que tengas requerimientos específicos que exijan un servidor web mucho más pesado. | [http://nginx.net/ nginx] es un servidor web ligero utilizado en alrededor de 13% de todos los servidores web del mundo[http://en.wikipedia.org/wiki/Nginx#Description]. Nginx es una mejor opción que Apache, a menos que tengas requerimientos específicos que exijan un servidor web mucho más pesado. | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
A continuación encontrarás las instrucciones para ejecutar Joomla! con [http://wiki.nginx.org/PHPFcgiExample nginx y PHP via FastCGI]. | A continuación encontrarás las instrucciones para ejecutar Joomla! con [http://wiki.nginx.org/PHPFcgiExample nginx y PHP via FastCGI]. | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
== Instalar nginx == | == Instalar nginx == | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
En Ubuntu, ejecuta <tt>aptitude install nginx</tt>. En otras distribuciones, ejecuta el administrador de paquetes correspondiente, o visita http://wiki.nginx.org/Install. | En Ubuntu, ejecuta <tt>aptitude install nginx</tt>. En otras distribuciones, ejecuta el administrador de paquetes correspondiente, o visita http://wiki.nginx.org/Install. | ||
</div> | |||
== Instalar PHP FastCGI == | == Instalar PHP FastCGI == | ||
<div class="mw-translate-fuzzy"> | |||
Si usas Ubuntu, lee esta excelente página acerca de como [http://wiki.nginx.org/PHPFcgiExample configurar PHP y FastCGI para nginx]. | Si usas Ubuntu, lee esta excelente página acerca de como [http://wiki.nginx.org/PHPFcgiExample configurar PHP y FastCGI para nginx]. | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
En Gentoo, PHP se ejecutará como un servicio FastCGI (fpm), de esa manera el servidor nginx ejecutará PHP como un proceso separado: | En Gentoo, PHP se ejecutará como un servicio FastCGI (fpm), de esa manera el servidor nginx ejecutará PHP como un proceso separado: | ||
</div> | |||
<pre> | <pre> | ||
# echo "dev-lang/php gd gd2 curl simplexml tokenizer dom tidy sqlite xml fpm cgi" >> /etc/portage/package.use | # echo "dev-lang/php gd gd2 curl simplexml tokenizer dom tidy sqlite xml fpm cgi" >> /etc/portage/package.use | ||
# emerge php | # emerge php | ||
</pre> | </pre> | ||
<div class="mw-translate-fuzzy"> | |||
Los parámetros por defecto de php-fpm funcionan de manera adecuada para la mayoría de servidores. Si necesitas configuraciones especiales, visita el [http://php.net/manual/en/install.fpm.php sitio de PHP FPM]. | Los parámetros por defecto de php-fpm funcionan de manera adecuada para la mayoría de servidores. Si necesitas configuraciones especiales, visita el [http://php.net/manual/en/install.fpm.php sitio de PHP FPM]. | ||
</div> | |||
== Configurar Nginx == | == Configurar Nginx == | ||
<div class="mw-translate-fuzzy"> | |||
Los archivos de configuración de nginx se encuentran en: | Los archivos de configuración de nginx se encuentran en: | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
* <tt>/etc/nginx/sites-available/</tt> en Ubuntu (para sitios ejecutándose en esa instancia de nginx) | * <tt>/etc/nginx/sites-available/</tt> en Ubuntu (para sitios ejecutándose en esa instancia de nginx) | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
* <tt>/etc/nginx/nginx.conf</tt> en Gentoo y Raspbian (= Debian optimizado para Raspberry Pi) | * <tt>/etc/nginx/nginx.conf</tt> en Gentoo y Raspbian (= Debian optimizado para Raspberry Pi) | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Este es un ejemplo de archivo de configuración de nginx, joomla.conf, el cual puedes reutilizar en todos tus sitios que usen nginx. | Este es un ejemplo de archivo de configuración de nginx, joomla.conf, el cual puedes reutilizar en todos tus sitios que usen nginx. | ||
</div> | |||
<pre> | <pre> | ||
server { | server { | ||
listen 80; | |||
server_name YOUR_DOMAIN; | |||
server_name_in_redirect off; | |||
access_log /var/log/nginx/localhost.access_log; | |||
error_log /var/log/nginx/localhost.error_log info; | |||
root PATH_ON_SERVER; | |||
index index.php index.html index.htm default.html default.htm; | |||
# Support Clean (aka Search Engine Friendly) URLs | |||
location / { | |||
try_files $uri $uri/ /index.php?$args; | |||
} | |||
# add global x-content-type-options header | |||
add_header X-Content-Type-Options nosniff; | |||
# deny running scripts inside writable directories | |||
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ { | |||
return 403; | |||
error_page 403 /403_error.html; | |||
} | |||
location ~ \.php$ { | |||
fastcgi_pass 127.0.0.1:9000; | |||
fastcgi_index index.php; | |||
include fastcgi_params; | |||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |||
include /etc/nginx/fastcgi.conf; | |||
} | |||
# caching of files | |||
location ~* \.(ico|pdf|flv)$ { | |||
expires 1y; | |||
} | |||
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ { | |||
expires 14d; | |||
} | |||
} | } | ||
| Line 70: | Line 92: | ||
Presta atención a algunos detalles: | Presta atención a algunos detalles: | ||
<div class="mw-translate-fuzzy"> | |||
# El parámetro <tt>fastcgi_pass</tt> tiene el valor 127.0.0.1:9000, el cual corresponde al puerto asignado a fpm para que 'escuche' o monitoree. Esto significa que puedes ejecutar los procesos de PHP en servidores separados. En Gentoo, puedes encontrar esta configuración en <tt>/etc/php/fpm-php5.3/php-fpm.conf/</tt> | # El parámetro <tt>fastcgi_pass</tt> tiene el valor 127.0.0.1:9000, el cual corresponde al puerto asignado a fpm para que 'escuche' o monitoree. Esto significa que puedes ejecutar los procesos de PHP en servidores separados. En Gentoo, puedes encontrar esta configuración en <tt>/etc/php/fpm-php5.3/php-fpm.conf/</tt> | ||
</div> | |||
# No olvides reemplazar los valores YOUR_DOMAIN & PATH_ON_SERVER por tu dominio y la ruta de Joomla en tu servidor. | # No olvides reemplazar los valores YOUR_DOMAIN & PATH_ON_SERVER por tu dominio y la ruta de Joomla en tu servidor. | ||
<div class="mw-translate-fuzzy"> | |||
== Soporte GZip == | == Soporte GZip == | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Si necesitas soporte para compresión GZip, agrega la siguiente sección a la sección http del archivo de configuración principal de nginx: | Si necesitas soporte para compresión GZip, agrega la siguiente sección a la sección http del archivo de configuración principal de nginx: | ||
</div> | |||
<pre> | <pre> | ||
gzip on; | |||
gzip_http_version 1.1; | |||
gzip_comp_level 6; | |||
gzip_min_length 1100; | |||
gzip_buffers 4 8k; | |||
gzip_types text/plain application/xhtml+xml text/css application/xml application/xml+rss text/javascript application/javascript application/x-javascript | |||
gzip_proxied any; | |||
gzip_disable "MSIE [1-6]\."; | |||
</pre> | </pre> | ||
== Fuentes == | == Fuentes == | ||
* [ | * [https://wiki.gentoo.org/wiki/Nginx Nginx in Gentoo] | ||
* [ | * [https://kevinworthington.com/nginx-for-windows/ Nginx for Windows] | ||
* [ | * [https://ubuntu.com/tutorials/install-and-configure-nginx#1-overview Nginx in Ubuntu] | ||
* [ | * [https://www.debianadmin.com/howto-install-nginx-webserver-in-debian.html Nginx in Debian] | ||
* [ | * [https://www.php.net/manual/en/install.fpm.php PHP-FPM installation and configuration] | ||
* [ | * [https://docs.nginx.com/nginx/admin-guide/web-server/compression/ Compression and Decompression] | ||
* [ | * [https://www.nginx.com/blog/creating-nginx-rewrite-rules/ Creating NGINX Rewrite Rules] | ||
* [http://nginx.org/en/docs/http/request_processing.html How | * [http://nginx.org/en/docs/http/request_processing.html How Nginx processes a request] | ||
[[Category:Server configurations]] | [[Category:Server configurations]] | ||
Revision as of 09:12, 16 August 2022
nginx es un servidor web ligero utilizado en alrededor de 13% de todos los servidores web del mundo[1]. Nginx es una mejor opción que Apache, a menos que tengas requerimientos específicos que exijan un servidor web mucho más pesado.
A continuación encontrarás las instrucciones para ejecutar Joomla! con nginx y PHP via FastCGI.
Instalar nginx
En Ubuntu, ejecuta aptitude install nginx. En otras distribuciones, ejecuta el administrador de paquetes correspondiente, o visita http://wiki.nginx.org/Install.
Instalar PHP FastCGI
Si usas Ubuntu, lee esta excelente página acerca de como configurar PHP y FastCGI para nginx.
En Gentoo, PHP se ejecutará como un servicio FastCGI (fpm), de esa manera el servidor nginx ejecutará PHP como un proceso separado:
# echo "dev-lang/php gd gd2 curl simplexml tokenizer dom tidy sqlite xml fpm cgi" >> /etc/portage/package.use # emerge php
Los parámetros por defecto de php-fpm funcionan de manera adecuada para la mayoría de servidores. Si necesitas configuraciones especiales, visita el sitio de PHP FPM.
Configurar Nginx
Los archivos de configuración de nginx se encuentran en:
- /etc/nginx/sites-available/ en Ubuntu (para sitios ejecutándose en esa instancia de nginx)
- /etc/nginx/nginx.conf en Gentoo y Raspbian (= Debian optimizado para Raspberry Pi)
Este es un ejemplo de archivo de configuración de nginx, joomla.conf, el cual puedes reutilizar en todos tus sitios que usen nginx.
server {
listen 80;
server_name YOUR_DOMAIN;
server_name_in_redirect off;
access_log /var/log/nginx/localhost.access_log;
error_log /var/log/nginx/localhost.error_log info;
root PATH_ON_SERVER;
index index.php index.html index.htm default.html default.htm;
# Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?$args;
}
# add global x-content-type-options header
add_header X-Content-Type-Options nosniff;
# deny running scripts inside writable directories
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi.conf;
}
# caching of files
location ~* \.(ico|pdf|flv)$ {
expires 1y;
}
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
}
Presta atención a algunos detalles:
- El parámetro fastcgi_pass tiene el valor 127.0.0.1:9000, el cual corresponde al puerto asignado a fpm para que 'escuche' o monitoree. Esto significa que puedes ejecutar los procesos de PHP en servidores separados. En Gentoo, puedes encontrar esta configuración en /etc/php/fpm-php5.3/php-fpm.conf/
- No olvides reemplazar los valores YOUR_DOMAIN & PATH_ON_SERVER por tu dominio y la ruta de Joomla en tu servidor.
Soporte GZip
Si necesitas soporte para compresión GZip, agrega la siguiente sección a la sección http del archivo de configuración principal de nginx:
gzip on; gzip_http_version 1.1; gzip_comp_level 6; gzip_min_length 1100; gzip_buffers 4 8k; gzip_types text/plain application/xhtml+xml text/css application/xml application/xml+rss text/javascript application/javascript application/x-javascript gzip_proxied any; gzip_disable "MSIE [1-6]\.";