centos virtual - nginx directorio de sitios faltantes disponibles




host apache (3)

Instalé Nginx en Centos 6 y estoy tratando de configurar hosts virtuales. El problema que estoy teniendo es que parece que no puedo encontrar el directorio /etc/nginx/sites-available .

¿Hay algo que deba hacer para crearlo? Sé que Nginx está funcionando porque puedo buscarlo.


Answers

Si prefiere un enfoque más directo, uno que NO se meta con el enlace simbólico entre /etc/nginx/sites-available y /etc/nginx/sites-enabled , haga lo siguiente:

  1. Ubique su archivo nginx.conf. Probablemente en /etc/nginx/nginx.conf
  2. Encuentra el bloque http.
  3. En algún lugar del bloque http, escriba include /etc/nginx/conf.d/*.conf; Esto le dice a nginx que conf.d cualquier archivo en el directorio conf.d que termina en .conf . (Lo sé: es extraño que un directorio pueda tener un.)
  4. Cree el directorio conf.d si no existe ya (según la ruta en el paso 3). Asegúrate de darle los permisos / propiedad correctos. Raíz probable o datos de www.
  5. Mueva o copie sus archivos de configuración por separado (como lo hizo en /etc/nginx/sites-available ) en el directorio conf.d
  6. Recargar o reiniciar nginx.
  7. Coma un cono de helado.

Todos los archivos .conf que coloque en el directorio conf.d partir de ahora se activarán siempre que vuelva a cargar / reiniciar nginx.

Nota: Puede usar el conf.d y sites-enabled + sites-available mismo tiempo si lo desea. Me gusta probar en mi cuadro de desarrollo usando conf.d Se siente más rápido que el enlace simbólico y la falta de enlace.


Bueno, creo que nginx por sí mismo no tiene eso en su configuración, pero el paquete mantenido por Ubuntu lo hace como una convención para imitar la configuración de Apache, puede crearlo usted mismo si lo desea.

Cree /etc/nginx/sites-available y /etc/nginx/sites-enabled y luego edite el bloque http dentro de /etc/nginx/nginx.conf y agregue esta línea

include /etc/nginx/sites-enabled/*;

por supuesto, todos los archivos estarán dentro de sites-available y luego creará un enlace simbólico para ellos dentro de los sites-enabled


Si bien la solución aceptada es verdadera, también puede haber SELinux bloqueando el acceso. Si configuró los permisos correctamente y sigue recibiendo mensajes con permiso denegado, intente:

setenforce Permissive

¡Si funciona, entonces SELinux tuvo la culpa, o más bien funcionó como se esperaba! Para agregar los permisos necesarios para hacer nginx :

  # to see what permissions are needed.
sudo grep nginx /var/log/audit/audit.log | audit2allow
  # to create a nginx.pp policy file
sudo grep nginx /var/log/audit/audit.log | audit2allow -M nginx
  # to apply the new policy
sudo semodule -i nginx.pp

Después de eso restablecer la Política de SELinux a Enforcing con:

sudo setenforce Enforcing




nginx centos virtualhost