For en tid siden Jeg fortalte deg om denne veiledningen, om hvordan du installerer og konfigurerer en server for hosting med høy etterspørsel. Denne artikkelen vil handle om å installere og konfigurere Nginx:
Nginx:
Vi har allerede fortalt deg om Nginx tidligere i artikkelen Nginx: Et interessant alternativ til Apache, ahí les comentamos que es un servidor web como Apache, LightHttpd o Cherokee, pero que comparado con Apache destaca por su rendimiento y bajo consumo de hardware, precisamente por eso es que muchos sitios grandes como Facebook, MyOpera.com, DropBox o inclusive WordPress.com usan Nginx en vez de Apache. En el mundillo de Linux DesdeLinux no es el único que usa Nginx, hasta donde sé, emsLinux y MuyLinux también lo usan 🙂
Min personlige erfaring med Nginx stammer fra flere år, da jeg av nødvendighet begynte å lete etter lette alternativer til Apache. På den tiden gikk Nginx for versjon 0.6, og dens kompatibilitet med nettsteder med høy etterspørsel laget i PHP var ikke den mest optimale, men i dag fra versjon 0.9 og utover (v1.2.1 tilgjengelig på Debian Stable, v1.4.2 tilgjengelig på ArchLinux) har forbedret seg mye, til det punktet at med en riktig konfigurasjon og forening av Nginx + PHP vil alt fungere som en sjarm.
I denne opplæringsserien Jeg vil bruke Nginx versjon 1.2.1-2.2, tilgjengelig i Debian Stable repos (Wheezy).
1. Installasjon:
Vi begynner med det første, installere Nginx fra våre arkiver.
Hvis du bruker en distribusjon som på Debian, Ubuntu eller andre derivater på terminalen din, må du sette følgende og trykke Enter :
aptitude install nginx
Hvis du bruker en annen distribusjon på serveren din, for eksempel CentOS, Red Hat, Fedora, installerer du bare pakken: nginx fra det offisielle depotet
2. Konfigurasjon:
Ya tenemos instalado Nginx, pero necesitamos obviamente configurarlo. Les he preparado un archivo comprimido en el FTP el cual contiene todas las configuraciones que se usan en los servidores de DesdeLinux, tanto para PHP, Nginx, etc. Vamos a descargar y descomprimir ese archivo:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
Dette vil opprette en mappe som heter nginx-spawn-fastcgi, fra den trenger vi to filer for ren Nginx (det vil si uten å koble den til PHP):
- nginx.conf - »Hoved Nginx konfigurasjonsfil (vi snakker om innholdet senere)
- index.html - »En enkel html-fil som vi vil bruke til å se om Nginx virkelig fungerer for oss i sin mest grunnleggende form
- mywebsite.net - »Konfigurasjonsfil for et enkelt nettsted, en VHost (Virtual Host) som vil konfigurere tilgang til forrige html
La oss først gå til Nginx-innstillingsmappen:
cd /etc/nginx/
Så la oss fjerne standardkonfigurasjonen og sette vår egen:
mv nginx.conf nginx.conf_BK && cp ~/nginx-spawn-fastcgi/nginx.conf ./
Dette, som jeg sa, er den viktigste Nginx-konfigurasjonsfilen, i den har jeg allerede definert følgende:
brukerens www-data; arbeider_prosesser 4; pid /var/run/nginx.pid;
Brukertilgang til filsystemet (som nginx vil få tilgang til overalt), antall prosesser å jobbe med og også PID (nginx prosess-id).
Vi har også en liten blokk kalt hendelser (innstillinger for hendelser) som inneholder en linje som angir maksimalt antall tilkoblinger per hendelse. Nedenfor er blokken kalt http.
Denne http-blokken er den som inneholder nesten alt relatert til hosting, i det minste mange ting som vil interessere deg. For eksempel den maksimale tiden for å leve eller vente (timeout), hvor vil våre generelle logger (access.log og error.log) være, datakomprimering ved hjelp av gzip, så vel som andre regler som kan være nyttige i fremtiden.
Når hovedkonfigurasjonsfilen er på plass, la oss kopiere filen fra VHost til mappen som er tilgjengelig for nettsteder
cp ~/nginx-spawn-fastcgi/mywebsite.net sites-available/
Vi må også lage en symbolsk lenke fra denne filen til den nettstedsaktiverte mappen.
ln -s /etc/nginx/sites-available/mywebsite.net /etc/nginx/sites-enabled/
Jeg forklarer nytten av å ha nettstedsaktiverte og nettsteder tilgjengelige.
De vil finne øyeblikk når de må ha flere vhost-filer klare og konfigurert, for på den serveren vil de sette på nettet, for eksempel fem nettsteder. Det hender imidlertid at det ennå ikke er på tide å aktivere 5 av de 2 hostene, men de må ha filene klare slik at når det er nødvendig, er de online på kortest mulig tid. Du kan plassere så mange vhosts du vil i nettsteder-tilgjengelige (nettsteder-tilgjengelige), fordi de som Nginx leser for å sette online er bare de som er nettsteder-aktiverte (nettsteder-aktiverte), det vil også fungere i motsatt retning, i tilfelle du ønsker å plassere offline (midlertidig for eksempel) et nettsted, er det ikke nødvendig å slette filer fra serveren din (filer som vi trenger et annet tidspunkt), vi fjerner ganske enkelt den symbolske lenken til nettstedsaktiverte og det er det. Nytten ved å ha symbolske lenker og ikke bare kopiere filen fra en mappe til en annen, er at når vi vil redigere en vhost, spiller det ingen rolle om vi redigerer den som er aktivert eller tilgjengelig, til slutt er det det samme
arkiv.
Filen mywebsite.net som jeg hadde sagt tidligere, en vhost som fungerer som et eksempel, det vil si og med andre ord, vi må endre mywebsite.net og etablere våre konfigurasjoner.
Vi må endre følgende:
- access_log (linje 3): Dette vil være stien til tilgangsloggfilen til dette nettstedet
- error_log (linje 4): Dette vil være banen til feilloggfilen til dette nettstedet
- server_name (línea 5): La URL, dominio que está hosteado en esa carpeta, por ejemplo, si se tratase del foro de DesdeLinux sería: server_name foro.desdelinux. Net
- root (linje 6): Stien til mappen der html-filene er, la oss la dette være i / var / www / da det bare vil være en test
Nå trenger vi bare å kopiere html-filen til mappen som vi definerer i VHost-filen / var / www /:
mkdir /var/www/ && cp ~/nginx-spawn-fastcgi/index.html /var/www/
Deretter starter vi Nginx på nytt, og det er det:
service nginx restart
Og voila, noe slikt vil dukke opp:
Jeg minner deg om at vi jobber først med Nginx for HTML, uten å ha PHP-støtte. Denne installasjonen av PHP og kobling til Nginx vil være innholdet i neste opplæring (om noen få dager, lover jeg).
Uansett, dette er installasjons- og konfigurasjonsveiledningen for Nginx slik at den fungerer ren, det vil si et HTML-nettsted, jeg håper det vil være av interesse for deg.
Jeg vil tydeliggjøre at ja, det er fortsatt beste fremgangsmåter som kan brukes, men la oss vente med å fullføre denne serien med veiledninger, og så vil vi evaluere det endelige resultatet av arbeidet 😉
Hilsen
Takk, veldig nyttig!
Takk for kommentaren
I backports er det nginx 1.4 ..
Ja, men på en produksjonsserver bruker jeg ikke noe av det 😀
Med "det" mener du den siste stabile og testede versjonen som ble utgitt av nginx, du får det til å høres ut som om det passer godt fra siden. ~ _ ~
Ah kom igjen, er det ... på serverne har jeg aldri likt å bruke andre repoer, eller backports eller noe sånt
Alltid stabil på servere, det lærte jeg for mange år siden.
Nginx 1.4 er stabil siden april i fjor, i backports er den 1.4.1-3.
2013-04-24
nginx-1.4.0 stabil versjon er utgitt, og inneholder mange nye funksjoner utviklet i 1.3.x-grenen - støtte for proxying av WebSocket-tilkoblinger, OCSP-stifting, SPDY-modul, pistolfilter og mer.
http://nginx.org/en/CHANGES-1.4
Du har rett i det du sier, hatten min er av.
Takk for delingen, jeg implementerer for øyeblikket ditt eldste innlegg.
Jeg skal fylle deg med spørsmål XD
Takk for at du leser 🙂
Cualquier duda o pregunta ya sabes, estamos para ayudar, ahí tienes el foro.desdelinux.net donde entre todos te intentaremos dar la mejor solución
Hilsen
Jeg har et spørsmål jeg har LAMP [Linux (Debian Wheezy), Apache, PHP og MySQL] som kjører på serveren min for WordPress og Owncloud. Hvordan migrerer jeg til Ngnix, et annet spørsmål er hvilken forskjell det er mellom Ngnix og Lighttpd.
Den største komplikasjonen eller vanskeligheten med å migrere fra Apache til Nginx er konfigurasjonene til hvert nettsted, det vil si spesifikt .htaccess du bruker.
.Htaccess er den mest komplekse når du bytter til Nginx, siden de er forskjellige konfigurasjoner som du må sette i Nginx VHost.
Om LightHTTPd og Nginx ... Jeg vet ikke, jeg brukte LightHTTPd bare en gang for mange år siden, for øyeblikket aner jeg ikke hvordan utviklingen går, spesielt ved bruk av PHP.
NGINX ser ganske greit ut sammenlignet med Apache. Venter på at neste episode skal kunne komplettere den med PHP
Jeg venter på tipsene for å optimalisere mer til nginx 😀
Forresten Gaara, du kan inkludere i neste opplæring hvordan du implementerer SSL-støtte.
Hilsener.
Los tips que vienen son en realidad para optimizar el procesamiento PHP, caché a sitios, puedo poner el ejemplo de la configuración que usamos en DesdeLinux para Nginx+Wordpress+W3_Total_Cache 🙂
Takk for godt bidrag.
Og guiden for archlinux når? xD
I Arch har det vært veldig likt, bare navnene på pakkene endres, men ... conf er nesten identisk
Men hvem har en produksjonsserver med Arch? 😀
Hei der,
Det er meg igjen xD ...
Jeg fulgte trinnene dine ved å bruke dem på en maskin med archlinux, og jeg har følgende problem:
[abr4xas@Genius www]$ systemctl status nginx.service
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since vie 2013-11-15 20:11:35 VET; 1min 13s ago
Process: 1258 ExecStartPre=/usr/bin/nginx -t -q -g pid /run/nginx.pid; daemon on; master_process on; (code=exited, status=1/FAILURE)
Eventuelle forslag 😀
Jo ... xox, jeg vil bare ha en intern server, det vil si at jeg bare vil erstatte xampp, skal jeg gjøre alt dette?
Hvis du ønsker det, kan du implementere dette (som jeg gjentar, det er det DL jobber med), faktisk min virtuelle server (som jeg bruker til utvikling og testing). Jeg har gjort det med det samme som jeg forklarer.
Det vil si at du enten kan fjerne XAMPP og sette denne varianten, og den vil fungere bra, eller hvis du vil forlate XAMPP ... vil den fremdeles fungere for deg.
Det positive poenget med å bruke dette som jeg viser er det veldig lave forbruket av maskinvare sammenlignet med Apache, men på din personlige datamaskin, som ikke er et høyt behov for hosting, langt fra det ... hvis XAMPP fungerer bra for deg, gjør jeg ikke det se hvorfor fjerne den 🙂
Jeg har allerede kjørt Linux-serveren min (Debian, Nginx, MySQL og PHP). Jeg hadde vanskelig for å få PHP til å jobbe med Nginx fordi jeg var vant til den enkle Apache Web Server.
Vel, spørsmålet mitt er: Er det noen som vet hvordan jeg kan peke et testdomene som jeg har kjøpt til serveren min? Jeg vil prøve mitt .com-domene for å se hvordan det fungerer, men jeg aner ikke hvordan jeg skal gjøre det, fordi jeg alltid har brukt en NOIP-adresse for å få tilgang til den med noip DUC.
Jeg håper noen kan hjelpe meg, takk!
Jeg får dette når jeg prøver å koble til ftp:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
HTTP-forespørsel sendt, avventer svar ... 404 ble ikke funnet
2015-11-23 17:46:30 FEIL 404: Ikke funnet.
Jeg har kjørt CentOS-serveren min (Gunicorn, Nginx, PHP), det tok meg mye arbeid å få dem til å fungere, men poenget der jeg ble sittende fast er at websiden jeg vil starte, trenger domeneleverandørkonfigurasjonen i dette tilfellet Go Daddy Så på dette punktet vet jeg ikke hvordan jeg skal fortsette.
Kan du dele konfigurasjonsfilene med meg siden jeg ikke kan laste dem ned, vær så snill