Prieš kelias savaites Aš jums pasakojau apie šią pamokų seriją, kaip įdiegti ir konfigūruoti serverį, kad būtų galima talpinti didelę paklausą. Šis straipsnis bus apie „Nginx“ diegimą ir konfigūravimą:
nginx:
Mes jau pasakojome apie „Nginx“ anksčiau straipsnyje „Nginx“: įdomi „Apache“ alternatyva, mes jums pasakėme, kad tai yra žiniatinklio serveris, pvz., „Apache“, „LightHttpd“ ar „Cherokee“, tačiau, palyginti su „Apache“, jis išsiskiria savo našumu ir mažu aparatinės įrangos suvartojimu, todėl daugelis didelių svetainių, tokių kaip „Facebook“, „MyOpera.com“, „DropBox“ ar net „WordPress“ .com naudoja Nginx vietoj Apache. Linux pasaulyje DesdeLinux Tai ne vienintelis, kuris naudoja Nginx, kiek žinau, tai naudoja ir emsLinux bei MuyLinux :)
Mano asmeninė „Nginx“ patirtis prasidėjo kelerius metus, kai dėl reikalo pradėjau ieškoti lengvų „Apache“ alternatyvų. Tuo metu „Nginx“ rinkosi 0.6 versiją, o suderinamumas su didelės paklausos svetainėmis, sukurtomis PHP, nebuvo pats optimaliausias, tačiau šiandien nuo 0.9 versijos (v1.2.1 galima rasti „Debian Stable“, v1.4.2 - „ArchLinux“) patobulėjo tiek, kad tinkamai sukonfigūravus ir sujungus „Nginx + PHP“ viskas veiks kaip žavesys.
Šioje pamokų serijoje Aš naudosiu Nginx 1.2.1-2.2 versiją, prieinama „Debian Stable“ repose („Wheezy“).
1. Diegimas:
Pradėsime nuo pirmo dalyko, įdiekite „Nginx“ iš savo saugyklų.
Jei savo serveryje naudojate tokį paskirstymą kaip „Debian“, „Ubuntu“ ar kokį nors darinį terminale, turite įdėti šiuos duomenis ir paspausti: įeiti :
aptitude install nginx
Jei naudojate kitą paskirstymą savo serveryje, pvz., „CentOS“, „Red Hat“, „Fedora“, tiesiog įdiekite paketą: nginx iš oficialios saugyklos
2. Konfigūracija:
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
Tai sukurs aplanką „nginx-spawn-fastcgi“, iš jo mums reikės dviejų failų grynam „Nginx“ (tai yra, nesiejant jo su PHP):
- nginx.conf - »Pagrindinis„ Nginx “konfigūracijos failas (apie jo turinį pakalbėsime vėliau)
- index.html - »Paprastas html failas, kurį naudosime norėdami sužinoti, ar„ Nginx “iš tikrųjų mums tinka savo pagrindine forma
- mywebsite.net - »Paprastos svetainės,„ VHost “(virtualaus pagrindinio kompiuterio), kuris sukonfigūruos prieigą prie ankstesnio html, konfigūracijos failas
Pirmiausia persikelkime į „Nginx“ nustatymų aplanką:
cd /etc/nginx/
Tada pašalinkime numatytąją konfigūraciją ir įdėkime savo:
mv nginx.conf nginx.conf_BK && cp ~/nginx-spawn-fastcgi/nginx.conf ./
Tai, kaip sakiau, yra pagrindinis „Nginx“ konfigūracijos failas, jame aš jau apibrėžiau:
vartotojo www duomenys; darbininkas_procesai 4; pid /var/run/nginx.pid;
Vartotojo prieiga prie failų sistemos (su kuria „nginx“ pasieks visur), procesų, su kuriais bus dirbama, skaičius ir PID („nginx“ proceso ID).
Mes taip pat turime nedidelį bloką, vadinamą įvykiais (įvykių nustatymai), kuriame yra eilutė, nurodanti didžiausią leistiną ryšių skaičių kiekviename įvykyje. Žemiau yra blokas, vadinamas http.
Šiame „http“ bloke yra beveik viskas, kas susiję su priegloba, bent jau daugybė dalykų, kurie jus domins. Pavyzdžiui, maksimalus laikas gyventi ar laukti (skirtasis laikas), kur bus mūsų bendrieji žurnalai (access.log ir error.log), duomenų glaudinimas naudojant gzip, taip pat kitos taisyklės, kurios galėtų būti naudingos ateityje.
Kai bus sukurtas pagrindinis konfigūracijos failas, nukopijuokime failą iš mūsų „VHost“ į aplanką, kuriame yra svetainių
cp ~/nginx-spawn-fastcgi/mywebsite.net sites-available/
Be to, mes turime sukurti simbolinę nuorodą iš šio failo į aplanką, kuriame įgalintos svetainės.
ln -s /etc/nginx/sites-available/mywebsite.net /etc/nginx/sites-enabled/
Paaiškinu, ar naudinga turėti svetaines ir svetaines.
Jie ras momentų, kai turi būti paruošti ir sukonfigūruoti keli „vhost“ failai, nes tame serveryje jie prijungs internetą, tarkim, 5 svetaines. Tačiau pasitaiko, kad dar ne laikas įgalinti 2 iš tų 5 serverių, tačiau jie turi turėti paruoštus failus, kad prireikus jie būtų prisijungę per trumpiausią laiką. Į svetaines, kurios yra prieinamos (svetainės yra prieinamos) galite įdėti tiek serverių, kiek norite, nes tie, kuriuos „Nginx“ skaito, kad įdėtų internetą, yra tik svetainių, kuriose įgalinta (įgalinta svetainių), tai taip pat veiktų priešinga kryptimi, tuo atveju, jei norite įdėti svetainę neprisijungus (pavyzdžiui, laikinai), nereikia ištrinti failų iš savo serverio (failų, kurių mums prireiks vėliau), paprasčiausiai pašaliname simbolinę nuorodą su įgalintomis svetainėmis ir viskas. Simbolinių nuorodų ir ne tik failo nukopijavimo iš vieno aplanko į kitą naudingumas yra tas, kad kai norime redaguoti „vhost“, nesvarbu, ar redaguosime tą, kuris yra įgalintame ar prieinamame, galų gale tas pats
archyvas.
Failas „mywebsite.net“, kaip jau sakiau anksčiau, yra „vhost“, kuris tarnauja kaip pavyzdys, ty, kitaip tariant, mes turime modifikuoti mywebsite.net ir nustatyti savo konfigūracijas.
Turime pakeisti:
- access_log (3 eilutė): Tai bus prieigos žurnalo failo kelias į šią svetainę
- error_log (4 eilutė): Tai bus klaidų žurnalo failo kelias į šią svetainę
- serverio_pavadinimas (5 eilutė): URL, domenas, kuris yra tame aplanke, pavyzdžiui, jei tai būtų forumas DesdeLinux tai būtų: forumo serverio_pavadinimas.desdelinux. Grynasis
- root (6 eilutė): kelias į aplanką, kuriame yra HTML failai, palikime tai aplanke / var / www /, nes tai bus tik bandymas
Dabar mums tiesiog reikia nukopijuoti html failą į aplanką, kurį apibrėžėme savo VHost faile, / var / www /:
mkdir /var/www/ && cp ~/nginx-spawn-fastcgi/index.html /var/www/
Tada mes paleidžiame „Nginx“ iš naujo ir viskas:
service nginx restart
O voila, atsiras kažkas panašaus:
Primenu, kad pirmiausia dirbame su „Nginx for HTML“, neturėdami PHP palaikymo, tai įdiekite PHP ir susiekite ją su „Nginx“ bus kitos mokymo programos turinys (pažadu).
Bet kokiu atveju, tai yra „Nginx“ diegimo ir konfigūravimo pamoka, kad ji veiktų grynai, tai yra, HTML svetainė, tikiuosi, kad ji jus domins.
Aš paaiškinsiu, kad taip, vis dar yra geriausių praktikų, kurias galima panaudoti, tačiau palaukime, kol baigsime šią pamokų seriją, tada mes įvertinsime galutinį darbo rezultatą 😉
saludos
Aciu, labai naudinga!
Ačiū už komentarą
Užpakalinėse uostuose yra nginx 1.4 ..
Taip, bet gamybiniame serveryje aš to nenaudoju 😀
Sakydamas „tai“ turite omenyje naujausią stabilią ir patikrintą versiją, kurią išleido „nginx“, jūs darote, kad ji skamba taip, lyg ji būtų tinkama iš „sid“. ~ _ ~
O ateik, ar tai ... serveriuose man niekada nepatiko naudoti kitas atpirkimo operacijas, backports ar panašiai 🙂
Visada stabilus serveriuose, tai sužinojau prieš daugelį metų.
„Nginx 1.4“ yra stabilus nuo praėjusių metų balandžio, antriniuose portuose jis yra 1.4.1-3.
2013-04-24
Išleista stabili „nginx-1.4.0“ versija, apimanti daugybę naujų funkcijų, sukurtų 1.3.x filiale - „WebSocket“ ryšių tarpinio palaikymo palaikymas, OCSP susegimas, SPDY modulis, „gunzip“ filtras ir dar daugiau.
http://nginx.org/en/CHANGES-1.4
Jūs sakote teisingai, mano kepurė nenuimta.
Ačiū, kad pasidalijote, šiuo metu praktiškai įgyvendinu jūsų seniausią įrašą.
Aš užpildysiu jus klausimais XD
Ačiū, kad perskaitėte 🙂
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
saludos
Turiu klausimą, ar mano serveryje veikia „LAMP“ [„Linux“ („Debian Wheezy“), „Apache“, PHP ir „MySQL“), skirtas „WordPress“ ir „Owncloud“, kaip pereiti prie „Ngnix“, kitas klausimas, koks skirtumas yra „Ngnix“ ir „Lighttpd“.
Didžiausia komplikacija ar sunkumas perkeliant iš „Apache“ į „Nginx“ yra kiekvienos svetainės konfigūracijos, ty būtent jūsų naudojamas „.htaccess“.
.Htaccess yra sudėtingiausias pereinant prie „Nginx“, nes tai yra skirtingos konfigūracijos, kurias turite įdėti į „Nginx VHost“.
Apie „LightHTTPd“ ir „Nginx“ ... Nežinau, prieš daugelį metų „LightHTTPd“ naudojau tik vieną kartą, šiuo metu dar neįsivaizduoju, kaip vyksta jo plėtra, būtent naudojant PHP.
„NGINX“ atrodo gana paprasta, palyginti su „Apache“. Laukiu kito epizodo, kad galėčiau jį papildyti PHP
Laukiu patarimų, kaip labiau optimizuoti „nginx“ 😀
Beje, „Gaara“ galite įtraukti į kitą mokymo programą, kaip įdiegti SSL palaikymą.
Sveikinimai.
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 🙂
Ačiū už gerą indėlį.
O archlinux vadovas kada? xD
„Arch“ jis buvo labai panašus, keičiasi tik paketų pavadinimai, bet ... konf yra beveik identiški
Bet kas turi gamybos serverį su „Arch“? 😀
Sveiki,
Tai vėl aš xD ...
Aš vykdžiau jūsų veiksmus taikydamas juos mašinoje su „archlinux“ ir turiu šią 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)
Bet kokie pasiūlymai 😀
Jo ... xox, aš noriu tik vidinio serverio, tai yra, aš noriu pakeisti tik „xampp“, ar turėčiau visa tai daryti?
Jei norite, galite tai įgyvendinti (ką aš kartoju, tai yra tai, su kuo dirba DL), iš tikrųjų mano virtualus serveris (kurį naudoju kūrimui ir testavimui), aš tai padariau su tuo pačiu dalyku, kurį aš paaiškinau.
Tai yra, galite arba pašalinti XAMPP ir įdėti šį variantą, ir jis veiks gerai, arba jei norite palikti XAMPP ... jis vis tiek veiks jums.
Teigiamas taškas, kai manau, kad tai naudoju, yra labai mažas aparatinės įrangos sunaudojimas, palyginti su „Apache“, tačiau toli gražu ne jūsų asmeniniame kompiuteryje, kuris nėra didelės paklausos talpinimas ... jei XAMPP jums gerai tinka, aš nesuprantu, kodėl jį pašalinti 🙂
Jau veikia mano „Linux“ serveris („Debian“, „Nginx“, „MySQL“ ir PHP). Man buvo sunku priversti PHP dirbti su „Nginx“, nes buvau įpratęs prie paprasto „Apache“ tinklo serverio.
Na, mano klausimas yra toks: ar kas nors žino, kaip galiu nukreipti bandomąjį domeną, kurį nusipirkau, į savo serverį? Norėčiau išbandyti savo .com domeną ir sužinoti, kaip jis veikia, tačiau neturiu nė menkiausio supratimo, kaip tai padaryti, nes visada naudodamas NOIP adresą norėjau jį pasiekti naudodamasis „noip DUC“.
Tikiuosi, kad kas nors gali man padėti, ačiū!
Tai suprantu bandydamas prisijungti prie jūsų ftp:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
HTTP užklausa išsiųsta, laukia atsakymo ... 404 nerasta
2015-11-23 17:46:30 KLAIDA 404: nerasta.
Mano serveris veikia „CentOS“ („Gunicorn“, „Nginx“, PHP), kad jie veiktų, man kainavo daug darbo, tačiau ta vieta, kur aš įstrigau, yra tai, kad norimam paleisti tinklalapiui reikia konfigūruoti domeno teikėją šiame Go Go tėti, taigi šiuo metu aš nežinau, kaip tęsti.
Ar galėtumėte pasidalinti konfigūracijos failais su manimi, nes aš negaliu jų atsisiųsti