Il server ha apache installato. Come installare nginx accanto a esso?

APache è installato ed è utilizzato per servire principalmente Djanfo / Python contenuto. Voglio installare nginx per servire contenuti statici. Come fare e cosa è la configuration agood.

Sono su ubuntu e Apache è stato installato tramite apt-get.

  • Mercurial non riceve spinta
  • Passaggio proxy NGINX all'applicazione NodeJS: restituire l'errore 502
  • usando nginx con SNI
  • NGINX su OSX - Eseguendo terribilmente lento
  • Servire file s3 con nginx
  • Nginx + php-fpm VS Nginx come proxy inverso per Apache
  • Shellshock: Come faccio a sapere se il mio server è compromesso + file sospetti per cercare
  • L'aggiornamento del kernel del server NGINX del proxy sarà sufficiente per impedire lo sfruttamento di CVE-2017-6214?
  • 2 Solutions collect form web for “Il server ha apache installato. Come installare nginx accanto a esso?”

    1. prima opzione: hai poche ip addreses? bind apache a uno di loro, nginx all'altro.

      nel mondo debian

      per apache in /etc/apache2/ports.conf sono:

      Listen 1.1.2.3:80 

      nel file vhost in / etc / apache2 / sites-enabled change:

       NameVirtualHost 1.1.2.3:80; <VirtualHost 1.1.2.3:80> .. <VirtualHost/> 

      per nginx in / etc / nginx / sites-enabled / add:

       listen 1.1.2.4:80 
    2. seconda opzione: spostare apache per ascoltare su port diversa [file come sopra. dire a apache per ascoltare 127.0.0.1:8080 per esempio] e istruire nginx al traffico dinamico di routing inverso al tuo apache mentre serve / static / da nginx – ad esempio:

       server { listen 1.1.2.3:80; server_name some.name another.dname; access_log /var/log/nginx/something-access.log; location / { proxy_pass http://localhost:8080; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~* ^.+\.(jpg|js|jpeg|png)$ { root /some/where/on/your/disks; } ; put your static hosting config here. } 

    btw – pensate a mettere contenuti statici in un altro dominio. questo dovrebbe migliorare un po 'la velocità degli utenti finali.

    Ci sono molte varianti su come realizzare questo. Preferisco avere un'applicazione dedicata a decidere quale server gestisce quale tipo di contenuto, mentre i server di back end servono semplicemente i file che sono stati richiesti.

    A tal fine, ho impiegato il proxy inverso Varnish sul lato anteriore, ascoltando sulla port 80. Dietro questo, ho Apache (port 8880) e nginx (port 8881), entrambi configurati per gli stessi domini e che puntano alla stessa struttura di directory . Nel mio file di configuration Varnish, ho qualcosa di simile:

     backend apache { .host = "192.168.0.2"; .port = "8880"; } backend nginx { .host = "192.168.0.2"; .port = "8881"; } [...] if (req.url ~ "\.(png|gif|jpg|ico|html|htm|js|css|txt)$") { set req.backend = nginx; } else { set req.backend = apache; } 

    Certo, c'è un po 'di più, ma tu hai l'idea.

    Poiché hai già installato Apache e nginx, puoi navigare in questo collegamento, che descrive una situazione molto simile alla tua, ma usa nginx come parte frontale per il contenuto statico e passa quindi a richieste di Apache.

    Se vuoi andare veramente semplice, puoi usare un proxy di caching inverso (come Varnish o nginx) davanti a Apache. Ciò che farà è richieste di cache per eseguire rapidamente i loro clienti, pur allo stesso tempo per alleviare il server web dal servizio di richieste identiche. Questo, per sua stessa natura, darà lo stesso effetto di quello che stai chiedendo. Poiché le pagine e le immagini statiche cambiano raramente, esse saranno quasi sempre memorizzate nella cache dall'estremità anteriore, mentre le pagine dinamiche verranno rilevate in quanto tali e passate sempre all'estremità posteriore.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.