Pirms kāda laika Es jums pastāstīju par šo apmācību sēriju, par to, kā instalēt un konfigurēt serveri augsta pieprasījuma mitināšanai. Šis raksts būs par Nginx instalēšanu un konfigurēšanu:
Nginx:
Mēs jau teicām jums par Nginx iepriekš rakstā Nginx: interesanta alternatīva Apache, mēs jums teicām, ka tas ir tīmekļa serveris, piemēram, Apache, LightHttpd vai Cherokee, taču salīdzinājumā ar Apache tas izceļas ar savu veiktspēju un zemu aparatūras patēriņu, tieši tāpēc daudzas lielas vietnes, piemēram, Facebook, MyOpera.com, DropBox vai pat WordPress. .com izmanto Nginx, nevis Apache. Linux pasaulē DesdeLinux Tas nav vienīgais, kas izmanto Nginx, cik man zināms, to izmanto arī emsLinux un MuyLinux :)
Mana personīgā pieredze ar Nginx aizsākās vairākus gadus, kad nepieciešamības dēļ sāku meklēt vieglas alternatīvas Apache. Tajā laikā Nginx izmantoja versiju 0.6, un tās saderība ar PHP izveidotajām vietnēm ar visaugstāko pieprasījumu nebija optimālākā, tomēr mūsdienās no versijas 0.9 (v1.2.1 pieejams vietnē Debian Stable, v1.4.2 pieejams vietnē ArchLinux) ir daudz uzlabojusies, līdz ar pareizu Nginx + PHP konfigurāciju un savienojumu viss darbosies kā šarms.
Šajā apmācību sērijā Es izmantošu Nginx versiju 1.2.1-2.2, pieejams Debian Stable repos (Wheezy).
1. Uzstādīšana:
Mēs sāksim ar pirmo lietu, instalējiet Nginx no mūsu krātuvēm.
Ja savā serverī jūs izmantojat tādu izplatīšanu kā Debian, Ubuntu vai kādu atvasinājumu terminālā, jums jāievieto sekojošais un jānospiež ienākt :
aptitude install nginx
Ja savā serverī izmantojat citu izplatīšanu, piemēram, CentOS, Red Hat, Fedora, vienkārši instalējiet pakotni: nginx no oficiālās repozitorija
2. Konfigurācija:
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
Tādējādi tiks izveidota mape ar nosaukumu nginx-spawn-fastcgi, no kuras tīram Nginx būs nepieciešami divi faili (tas ir, nesaistot to ar PHP):
- nginx.conf - »Galvenais Nginx konfigurācijas fails (par tā saturu mēs runāsim vēlāk)
- index.html - »Vienkāršs html fails, kuru izmantosim, lai redzētu, vai Nginx patiešām darbojas mums visvienkāršākajā formā
- mywebsite.net - »Konfigurācijas fails vienkāršai vietnei, VHost (virtuālais resursdators), kas konfigurēs piekļuvi iepriekšējam html
Vispirms pārejam uz mapi Nginx iestatījumi:
cd /etc/nginx/
Tad noņemsim tā noklusējuma konfigurāciju un ievietosim savu:
mv nginx.conf nginx.conf_BK && cp ~/nginx-spawn-fastcgi/nginx.conf ./
Šis, kā jau teicu, ir galvenais Nginx konfigurācijas fails, tajā es jau esmu definējis sekojošo:
lietotāja www dati; strādnieku_procesi 4; pid /var/run/nginx.pid;
Lietotāja piekļuve failu sistēmai (ar kuru nginx piekļūs visur), procesu skaits, ar kuriem strādāt, kā arī PID (nginx procesa id).
Mums ir arī neliels bloks, ko sauc par notikumiem (notikumu iestatījumi), kurā ir rinda, kas norāda maksimālo atļauto savienojumu skaitu vienā notikumā. Zemāk ir bloks ar nosaukumu http.
Šis http bloks ir tas, kas satur gandrīz visu, kas saistīts ar mitināšanu, vismaz daudzas lietas, kas jūs interesēs. Piemēram, maksimālais laiks dzīvošanai vai gaidīšanai (taimauts), kur būs mūsu vispārējie žurnāli (access.log un error.log), datu saspiešana, izmantojot gzip, kā arī citi noteikumi, kas varētu būt noderīgi nākotnē.
Kad galvenais konfigurācijas fails ir ievietots, kopēsim failu no mūsu VHost uz vietnēm pieejamo mapi
cp ~/nginx-spawn-fastcgi/mywebsite.net sites-available/
Turklāt no šī faila mums jāizveido simboliska saite uz mapi, kurā iespējotas vietnes.
ln -s /etc/nginx/sites-available/mywebsite.net /etc/nginx/sites-enabled/
Es izskaidroju vietņu un vietņu pieejamības lietderību.
Viņi atradīs brīžus, kad viņiem būs jābūt gataviem un konfigurētiem vairākiem vhost failiem, jo tajā serverī viņi ievietos tiešsaistē, teiksim, 5 vietnes. Tomēr gadās, ka vēl nav īstais laiks, lai iespējotu 2 no šiem 5 hostistiem, taču failiem jābūt gataviem, lai vajadzības gadījumā tie būtu tiešsaistē pēc iespējas īsākā laikā. Vietnēs pieejamās (vietnēs pieejamās) varat ievietot tik daudz vhostu, cik vēlaties, jo tie, kurus Nginx lasa, lai ievietotu tiešsaistē, ir tikai vietnēm (kurās ir iespējotas vietnes), tas darbotos arī pretēji, ja vēlaties ievietot vietni bezsaistē (piemēram, īslaicīgi), nav nepieciešams izdzēst failus no sava servera (faili, kas mums būs nepieciešami vēlāk), mēs vienkārši noņemam vietņu iespējoto simbolisko saiti, un viss. Simbolisku saišu un nevis tikai faila kopēšanas no vienas mapes uz citu lietderība ir tāda, ka tad, kad mēs vēlamies rediģēt vhost, nav svarīgi, vai mēs rediģējam to, kas atrodas iespējotā vai pieejamā, galu galā tas ir tas pats
arhīvu.
Fails mywebsite.net, kā es jau teicu iepriekš, ir hosthosts, kas kalpo kā piemērs, tas ir, un, citiem vārdiem sakot, mums ir jāpārveido mywebsite.net un jāizveido konfigurācijas.
Mums jāmaina:
- access_log (3. rindiņa): Šis būs piekļuves žurnāla faila ceļš uz šo vietni
- error_log (4. rindiņa): Šis būs kļūdu žurnāla faila ceļš uz šo vietni
- servera_nosaukums (5. rindiņa): URL, domēns, kas tiek mitināts šajā mapē, piemēram, ja tas būtu forums. DesdeLinux tas būtu: foruma servera_nosaukums.desdelinux. Neto
- sakne (6. rinda): ceļš uz mapi, kur atrodas html faili, atstāsim to mapē / var / www /, jo tas būs tikai tests
Tagad mums vienkārši jākopē html fails mapē, kuru mēs definējam mūsu VHost failā / var / www /:
mkdir /var/www/ && cp ~/nginx-spawn-fastcgi/index.html /var/www/
Tad mēs restartējam Nginx, un tas ir viss:
service nginx restart
Un voila, parādīsies kaut kas līdzīgs šim:
Es jums atgādinu, ka mēs vispirms strādājam ar HTML programmatūru Nginx, bez PHP atbalsta. Šī PHP instalēšana un saistīšana ar Nginx būs nākamās apmācības saturs (es apsolu pēc dažām dienām).
Jebkurā gadījumā šī ir Nginx instalēšanas un konfigurēšanas apmācība, lai tā darbotos tīri, tas ir, HTML vietne, es ceru, ka tā jūs interesēs.
Es paskaidrošu, ka jā, joprojām ir labākās prakses, kuras var izmantot, tomēr pagaidīsim, kamēr pabeigsim šo apmācību sēriju, un tad mēs novērtēsim darba gala rezultātu 😉
Sveicieni
Paldies, ļoti noderīgi!
Paldies par komentāru
Atpūtas ostās ir nginx 1.4 ..
Jā, bet ražošanas serverī es to neizmantoju 😀
Ar to "jūs" domājat jaunāko stabilo un pārbaudīto versiju, ko izdevis nginx, jūs liekat izklausīties tā, it kā tā būtu piemērota no sid. ~ _ ~
Ah come on, tas ir ... serveros man nekad nav paticis izmantot citus repo, backports vai kaut ko tamlīdzīgu 🙂
Vienmēr stabils serveros, es to uzzināju pirms gadiem.
Nginx 1.4 ir stabils kopš pagājušā gada aprīļa, aizmugures ostās tas ir 1.4.1-3.
2013-04-24
Ir izlaista stabilā nginx-1.4.0 versija, kas iekļauj daudzas jaunas funkcijas, kas izstrādātas 1.3.x filiālē - atbalsts WebSocket savienojumu starpniekserveriem, OCSP skavošana, SPDY modulis, gunzip filtrs un citas.
http://nginx.org/en/CHANGES-1.4
Tev taisnība, ko saki, mana cepure nost.
Paldies, ka dalījāties, es pašlaik izmantoju jūsu vecāko ziņu.
Es jūs aizpildīšu ar jautājumiem XD
Paldies, ka izlasījāt 🙂
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
Sveicieni
Man ir jautājums, ka manā serverī WordPress un Owncloud darbojas LAMP [Linux (Debian Wheezy), Apache, PHP un MySQL), kā es varu migrēt uz Ngnix, cits jautājums ir kāda atšķirība starp Ngnix un Lighttpd.
Vislielākās komplikācijas vai grūtības migrēt no Apache uz Nginx ir katras vietnes konfigurācijas, tas ir, īpaši jūsu izmantotais .htaccess.
.Htaccess ir vissarežģītākais, pārejot uz Nginx, jo tās ir dažādas konfigurācijas, kas jums jāievieto Nginx VHost.
Par LightHTTPd un Nginx ... Es nezinu, es pirms daudziem gadiem izmantoju LightHTTPd tikai vienu reizi, šobrīd man nav ne mazākās nojausmas, kā notiek tā izstrāde, īpaši izmantojot PHP.
NGINX izskatās diezgan vienkārši, salīdzinot ar Apache. Gaida nākamo epizodi, lai varētu to papildināt ar PHP
Es gaidu padomus, kā optimizēt vairāk, lai nginx 😀
Starp citu, Gaara savā nākamajā apmācībā varat iekļaut, kā ieviest SSL atbalstu.
Sveicieni.
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 🙂
Paldies par labu ieguldījumu.
Un kad? xD
Archā tas ir bijis ļoti līdzīgs, mainās tikai paku nosaukumi, bet ... conf ir gandrīz identisks
Bet kam ir ražošanas serveris ar Arch? 😀
Hi tur,
Es atkal esmu xD ...
Es sekoju jūsu darbībām, tos piemērojot mašīnā ar archlinux, un man ir šāda problēma:
[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)
Visi ieteikumi 😀
Jo ... xox, es gribu tikai iekšēju serveri, tas ir, es gribu aizstāt tikai xampp, vai man tas viss būtu jādara?
Ja vēlaties, varat to ieviest (ko es atkārtoju, tas ir tas, ar ko DL darbojas), faktiski mans virtuālais serveris (kuru izmantoju izstrādei un testēšanai), es to esmu izdarījis ar to pašu, ko es izskaidroju.
Tas ir, jūs varat vai nu noņemt XAMPP un ievietot šo variantu, un tas darbosies labi, vai arī, ja vēlaties pamest XAMPP ... tas joprojām darbosies jums.
Šīs izmantošanas pozitīvais aspekts, ko es parādīju, ir ļoti zems aparatūras patēriņš, salīdzinot ar Apache, taču jūsu personālajā datorā, kas nav īpaši pieprasīts mitinātājs, tālu no tā ... ja XAMPP jums darbojas labi, es nesaprotu, kāpēc to noņemt 🙂
Man jau darbojas mans Linux serveris (Debian, Nginx, MySQL un PHP). Man bija grūti panākt, lai PHP darbotos ar Nginx, jo biju pieradis pie vienkāršā Apache tīmekļa servera.
Nu, mans jautājums ir: Vai kāds zina, kā es varu savam serverim norādīt testa domēnu, kuru esmu nopircis? Es gribētu izmēģināt savu .com domēnu, lai uzzinātu, kā tas darbojas, taču man nav ne mazākās nojausmas, kā to izdarīt, jo es vienmēr esmu izmantojis NOIP adresi, lai tai piekļūtu ar noip DUC.
Es ceru, ka kāds man var palīdzēt, paldies!
Es to saprotu, mēģinot izveidot savienojumu ar jūsu ftp:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
HTTP pieprasījums nosūtīts, gaida atbildi ... 404 nav atrasts
2015-11-23 17:46:30 KĻŪDA 404: nav atrasta.
Man serveris darbojas CentOS (Gunicorn, Nginx, PHP). Tas man maksāja daudz darba, lai tie darbotos, taču es iestrēgušu to, ka vietnei, kuru vēlos palaist, ir nepieciešama domēna nodrošinātāja konfigurācija gadījums Go Daddy, Tāpēc es nezinu, kā turpināt.
Vai jūs varētu koplietot konfigurācijas failus ar mani, jo, lūdzu, tos nevaru lejupielādēt