configuración de configuración de nginx / configuración local

0

Intento configurar la configuración nginx personalizada para el sitio. Configuración local. Uso vmware máquina virtual Mac OS X EL capitan 10.11. y use este tutorial

Es mi nginx.conf

enter code here

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
   worker_connections  1024;
}


http {
   include       mime.types;
    default_type  application/octet-stream;

#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
#                  '$status $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"';

#access_log  logs/access.log  main;

sendfile        on;
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65;

#gzip  on;

server {
  root /Users/myfolder/Documents/folder/project-folder/;
  index index.php index.html index.htm;
  server_name project.dev;
  index index.php;
  client_max_body_size 2000M;
  location / {
    try_files $uri $uri/ /index.php?$args;
  }
  # Add trailing slash to */wp-admin requests.
  rewrite /wp-admin$ $scheme://$host$uri/ permanent;
  # Directives to send expires headers and turn off 404 error logging.
  location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
      access_log off; log_not_found off; expires max;
  }
  location ~ \.php$ {
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_buffer_size 128k;
      fastcgi_buffers 4 256k;
      fastcgi_busy_buffers_size 256k;
      fastcgi_index index.php;
      include fastcgi.conf;
  }
 }

configuración de project.dev:

enter code here
server {
root /Users/myfolder/Documents/folder/project/;
index index.php index.html index.htm;
server_name project.dev;
index index.php;
client_max_body_size 2000M;
location / {
  try_files $uri $uri/ /index.php?$args;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
# Directives to send expires headers and turn off 404 error logging.
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
    access_log off; log_not_found off; expires max;
}
location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_index index.php;
    include fastcgi.conf;
 }
}   

host:

 ##
 # Host Database
 #
 # localhost is used to configure the loopback interface
 # when the system is booting.  Do not change this entry.
 ##
 127.0.0.1    project.dev
 255.255.255.255    broadcasthost
 ::1    

Intento configurar enlace , no está funcionando. Este sitio no puede ser alcanzado. ¿Qué me perdí?

    
pregunta Palaniichuk Dmytro 04.10.2016 - 23:10

1 respuesta

2

Su nginx.conf y su project.dev son algo flexibles. Y en mi opinión, sus anfitriones son "no estándar".

Propongo un método diferente: usar una configuración de hosts virtuales sin un sitio estándar.

Supongo que nginx ya está instalado con brew. En lugar de usar el comando sudo brew services nginx start/stop (que crea / carga y descarga / elimina un demonio de lanzamiento todo el tiempo), uso un demonio de inicio permanente aquí.

  • ¡Deja de nginx!
  • Copie el daemon de inicio de nginx en / Library / LaunchDaemons y modifique los permisos:

    sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/
    sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
    
  • Crea las siguientes carpetas (si no existen)

    mkdir -p /usr/local/etc/nginx/logs
    mkdir -p /usr/local/etc/nginx/sites-available
    mkdir -p /usr/local/etc/nginx/sites-enabled
    
  • Reemplace el contenido del nginx.conf actual por

    worker_processes  1;
    
    error_log  /usr/local/etc/nginx/logs/error.log debug;
    
    events {
        worker_connections  256;
    }
    
    http {
        include             mime.types;
        default_type        application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /usr/local/etc/nginx/logs/access.log  main;
    
        sendfile            on;
    
        keepalive_timeout   65;
    
        index index.html index.php;
    
        include /usr/local/etc/nginx/sites-enabled/*; 
    }
    
  • Crea tu carpeta de proyecto:

    mkdir -p ~/Development/project-folder/project.dev
    
  • Agregue al menos un index.html en ~ / Development / project-folder / project.dev (para poder probar nginx)
  • Cree un archivo project.dev en / usr / local / etc / nginx / sites-available / con el siguiente contenido:

    server {
      listen                *:80;
      server_name           project.dev;
    
      location / {
        root  /Users/your_username/Development/project-folder/project.dev;
        try_files  $uri  $uri/  /index.php?$args;
        index  index.html index.htm index.php;
      }
    
      location ~ \.php$ {
        root  /Users/your_username/Development/project-folder/project.dev;
        try_files  $uri  $uri/  /index.php?$args;
        index  index.html index.htm index.php;
    
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    
    
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_intercept_errors on;
        include fastcgi_params;
      }
    
    }
    

    Ahora vincule project.dev a sites.enabled:

    ln -s /usr/local/etc/nginx/sites-available/project.dev /usr/local/etc/nginx/sites-enabled
    
  • Modifique su archivo de hosts con sudo nano /etc/hosts para:

    127.0.0.1   localhost
    127.0.0.1   project.dev
    255.255.255.255 broadcasthost
    ::1             localhost 
    
  • Pruebe la configuración nginx:

    sudo nginx -t
    
  • Inicia nginx con:

    sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
    
  • Pruebe el sitio web con:

    curl -IL http://project.dev:80
    
  • Para administrar nginx, cree fácilmente algunos alias útiles en ~ / .bash_profile como:

    alias nginx.start='sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist'
    alias nginx.stop='sudo launchctl unload /Library/LaunchDaemons/homebrew.mxcl.nginx.plist'
    alias nginx.restart='nginx.stop && nginx.start'
    

    Fuente el .bash_profile modificado con source ~/.bash_profile después.

Después de configurar un sitio web básico de trabajo, agregue todas las directivas / ubicaciones adicionales necesarias. ¡Revisa los registros de errores para ver si hay errores!

Para acceder al sitio web de OS X VM con un cliente (por ejemplo, el host de VM - su computadora física), agregue una entrada para project.dev en el archivo de hosts del cliente:

127.0.0.1   localhost
ip_address_of_osx-vm    project.dev
255.255.255.255 broadcasthost
::1             localhost 

La configuración más sencilla para la máquina virtual es conectar la interfaz de red de la máquina virtual a una red con puente:

VM > Configuraciones > Dispositivos extraíbles > Adaptador de red > Redes puenteadas > Ethernet (o Wi-Fi)

En las preferencias de red de la máquina virtual, configure una IP en la misma red que la interfaz de red del host de la máquina virtual. Ejemplo: si la interfaz puenteada es Wi-Fi y la dirección IP de Wi-Fi del host VM es 192.168.0.15/255.255.255.0, elija una IP única en la misma red para la interfaz de red de OS X VM (por ejemplo, 192.168.0.115 /255.255.255.0).

El archivo de hosts de un cliente (sitio web) debe tener este aspecto entonces:

127.0.0.1   localhost
192.168.0.115   project.dev
255.255.255.255 broadcasthost
::1             localhost  
    
respondido por el klanomath 06.10.2016 - 10:22

Lea otras preguntas en las etiquetas