Një kohë më parë Unë ju thashë për këtë seri udhëzimesh, mbi mënyrën e instalimit dhe konfigurimit të një serveri për një pritje me kërkesë të lartë. Ky artikull do të ketë të bëjë me instalimin dhe konfigurimin e Nginx:
nginx:
Ne tashmë ju thamë për Nginx më herët në artikull Nginx: Një alternativë interesante për Apache, aty ju thamë që është një web server si Apache, LightHttpd apo Cherokee, por në krahasim me Apache dallohet për performancën dhe konsumin e ulët të harduerit, pikërisht pse shumë site të mëdha si Facebook, MyOpera.com, DropBox apo edhe WordPress. .com përdor Nginx në vend të Apache. Në botën e Linux DesdeLinux Nuk është i vetmi që përdor Nginx, me sa di unë, emsLinux dhe MuyLinux e përdorin gjithashtu :)
Përvoja ime personale me Nginx daton disa vjet më parë, kur nga nevoja fillova të kërkoja alternativa të lehta për Apache. Në atë kohë Nginx ishte në versionin 0.6 dhe pajtueshmëria e tij me faqet me kërkesë të lartë të bëra në PHP nuk ishte më optimale, megjithatë në ditët e sotme nga versioni 0.9 e tutje (v1.2.1 i disponueshëm në Debian Stable, v1.4.2 i disponueshëm në ArchLinux) është përmirësuar shumë, deri në pikën që me një konfigurim dhe bashkim të duhur të Nginx + PHP gjithçka do të funksionojë si një sharm.
Në këtë seri mësimore Do të përdor versionin Nginx 1.2.1-2.2, i disponueshëm në repos Debian Stable (Wheezy).
1. Instalimi:
Ne do të fillojmë me gjënë e parë, të instalojmë Nginx nga depot tona.
Nëse në serverin tuaj përdorni një shpërndarje të tillë si Debian, Ubuntu ose ndonjë derivat në terminal duhet të vendosni sa vijon dhe shtypni Shkruani :
aptitude install nginx
Në rast se përdorni një shpërndarje tjetër në serverin tuaj si CentOS, Red Hat, Fedora, thjesht instaloni paketën: nginx nga depoja zyrtare
2. Konfigurimi:
Ne kemi tashmë të instaluar Nginx, por padyshim që duhet ta konfigurojmë atë. Unë kam përgatitur një skedar të ngjeshur në FTP i cili përmban të gjitha konfigurimet që përdoren në serverë. DesdeLinux, si për PHP, Nginx, etj. Le të shkarkojmë dhe shkyçim atë skedar:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
Kjo do të krijojë një dosje të quajtur nginx-spawn-fastcgi, prej tij do të na duhen dy skedarë për Nginx të pastër (domethënë, pa e lidhur atë me PHP):
- nginx.conf - »Skedari kryesor i konfigurimit të Nginx (do të flasim më vonë për përmbajtjen e tij)
- index.html - »Një skedar i thjeshtë html që do ta përdorim për të parë nëse Nginx funksionon vërtet për ne në formën e tij më themelore
- mywebsite.net - »Skedari i konfigurimit për një faqe në internet të thjeshtë, një VHost (Pritësi Virtual) që do të konfigurojë hyrjen në html të mëparshëm
Le të kalojmë së pari në dosjen e cilësimeve të Nginx:
cd /etc/nginx/
Atëherë le të heqim konfigurimin e tij të paracaktuar dhe të vendosim tonën:
mv nginx.conf nginx.conf_BK && cp ~/nginx-spawn-fastcgi/nginx.conf ./
Ky, siç thashë, është skedari kryesor i konfigurimit të Nginx, në të kam përcaktuar tashmë sa vijon:
të dhëna www të përdoruesit; proceset e punëtorëve 4; pid /var/run/nginx.pid;
Aksesi i përdoruesit në sistemin e skedarëve (me të cilin nginx do të ketë qasje kudo), numri i proceseve për të punuar dhe gjithashtu PID (nginx id i procesit).
Ne gjithashtu kemi atje një bllok të vogël të quajtur ngjarje (cilësimet për ngjarjet) që përmban një linjë që tregon numrin maksimal të lidhjeve të lejuara për një ngjarje. Më poshtë është blloku i quajtur http.
Ky bllok http është ai që përmban pothuajse gjithçka që lidhet me pritjen, të paktën shumë gjëra që do t'ju interesojnë. Për shembull, koha maksimale për të jetuar ose pritur (koha e ndërprerjes), ku do të jenë regjistrat tanë të përgjithshëm (access.log dhe error.log), kompresimi i të dhënave duke përdorur gzip, si dhe rregulla të tjera që mund të jenë të dobishme në të ardhmen.
Pasi skedari kryesor i konfigurimit të jetë në vend, le të kopjojmë skedarin nga VHost tonë në dosjen e disponueshme për faqet
cp ~/nginx-spawn-fastcgi/mywebsite.net sites-available/
Gjithashtu, ne duhet të bëjmë një lidhje simbolike nga kjo skedar në dosjen e mundësuar nga faqet.
ln -s /etc/nginx/sites-available/mywebsite.net /etc/nginx/sites-enabled/
Unë shpjegoj dobinë e të pasurit faqet e aktivizuara dhe faqet e disponueshme.
Ata do të gjejnë momente kur duhet të kenë gati dhe konfiguruar disa skedarë vhost, sepse në atë server ata do të vendosin në internet, të themi 5 site. Sidoqoftë, ndodh që nuk është ende koha për të mundësuar 2 nga ato 5 vhost, por ata duhet të kenë gati skedarët në mënyrë që kur është e nevojshme të jenë në internet në kohën më të shkurtër të mundshme. Ata mund të vendosin aq shumë vhost që duan në faqet e disponueshme, pasi ato që Nginx lexon për të vendosur në internet janë vetëm ato të faqeve të mundësuara, do të funksiononte gjithashtu në drejtim të kundërt, në rast se ata duan të vendosin jashtë linje ( përkohësisht për shembull) një sit, nuk ka nevojë të fshini skedarët nga serveri juaj (skedarët që do të na duhen më vonë), ne thjesht heqim lidhjen simbolike të faqeve të aktivizuara dhe kaq. Dobia e të pasurit lidhje simbolike dhe jo thjesht kopjimi i skedarit nga një dosje në tjetrën, është se kur duam të redaktojmë një vhost, nuk ka rëndësi nëse editojmë atë që gjendet në të aktivizuar ose të disponueshëm, në fund të fundit është e njëjta gjë
Arkivi.
Skedari mywebsite.net siç e kisha thënë më parë, një vhost që shërben si një shembull, domethënë, dhe me fjalë të tjera, ne duhet të modifikojmë mywebsite.net dhe të vendosim konfigurimet tona.
Ne duhet të ndryshojmë sa vijon:
- access_log (rreshti 3): Kjo do të jetë rruga e skedarit të regjistrit të hyrjes në këtë sit
- error_log (rreshti 4): Kjo do të jetë rruga e skedarit të regjistrit të gabimit në këtë sit
- Emri_server (rreshti 5): URL-ja, domeni që ndodhet në atë dosje, për shembull, nëse do të ishte forumi DesdeLinux do të ishte: emri_server i forumit.desdelinux. Net
- root (rreshti 6): Rruga për tek dosja ku ndodhen skedarët html, le ta lëmë këtë në / var / www / pasi do të jetë vetëm një provë
Tani thjesht duhet të kopjojmë skedarin html në dosjen që përcaktojmë në skedarin tonë VHost, / var / www /:
mkdir /var/www/ && cp ~/nginx-spawn-fastcgi/index.html /var/www/
Pastaj ne rifillojmë Nginx dhe kjo është e gjitha:
service nginx restart
Dhe voila, diçka e tillë do të shfaqet:
Unë ju kujtoj se ne jemi duke punuar së pari me Nginx për HTML, pa pasur mbështetje PHP, kjo instalon PHP dhe lidh atë me Nginx do të jetë përmbajtja e udhëzuesit tjetër (për disa ditë, unë premtoj).
Sidoqoftë, ky është manuali i instalimit dhe konfigurimit i Nginx në mënyrë që të funksionojë i pastër, domethënë një faqe HTML, shpresoj se do të jetë me interes për ju.
Unë do të sqaroj se po, ka ende praktika më të mira që mund të vihen në përdorim, megjithatë, le të presim për të përfunduar këtë seri mësimesh dhe pastaj do të vlerësojmë rezultatin përfundimtar të punës 😉
të fala
Faleminderit, shumë e dobishme!
Faleminderit per koment
Në backport ka nginx 1.4 ..
Po, por në një server në prodhim nuk përdor asgjë nga ato
Me "atë" nënkuptoni versionin e fundit të qëndrueshëm dhe të testuar të lëshuar nga nginx, ju e bëni atë të tingëllojë si të jetë i prirur nga sid. ~ _
Ah hajde, a është ... në serverat kurrë nuk më ka pëlqyer të përdorë repo të tjera, ose backport ose diçka të tillë
Gjithmonë i qëndrueshëm në servera, e kam mësuar këtë vite më parë.
Nginx 1.4 është i qëndrueshëm që nga Prilli i kaluar, në backport është 1.4.1-3.
2013-04-24
është lëshuar versioni i qëndrueshëm nginx-1.4.0, duke përfshirë shumë karakteristika të reja të zhvilluara në degën 1.3.x - mbështetje për proxying e lidhjeve WebSocket, stapling OCSP, modul SPDY, filtër gunzip dhe më shumë.
http://nginx.org/en/CHANGES-1.4
Ju keni të drejtë në atë që thoni, kapela ime është hequr.
Faleminderit për ndarjen, aktualisht po e vë në praktikë postimin tuaj më të vjetër.
Do të të mbush me pyetje XD
Faleminderit për leximin
Nëse keni ndonjë pyetje apo shqetësim, e dini, ne jemi këtu për t'ju ndihmuar, atje është forumi.desdelinux.net ku së bashku do të përpiqemi t'ju japim zgjidhjen më të mirë
të fala
Kam një pyetje që kam LAMP [Linux (Debian Wheezy), Apache, PHP dhe MySQL] që ekzekutohet në serverin tim për WordPress dhe Owncloud, si mund të migroj në Ngnix, një pyetje tjetër është se çfarë ndryshimi ka midis Ngnix dhe Lighttpd.
Komplikimi ose vështirësia më e madhe për të migruar nga Apache në Nginx janë konfigurimet e secilës faqe, domethënë specifikisht .htaccess që përdorni.
.Htaccess është më kompleksi kur kaloni në Nginx, pasi ato janë konfigurime të ndryshme që duhet të vendosni në Nginx VHost.
Rreth LightHTTPd dhe Nginx… Nuk e di, kam përdorur LightHTTPd vetëm një herë shumë vite më parë, aktualisht nuk kam ide se si po zhvillohet, veçanërisht duke përdorur PHP.
NGINX duket mjaft i thjeshtë në krahasim me Apache. Në pritje të episodit tjetër që të jetë në gjendje ta plotësojë atë me PHP
Unë jam duke pritur për këshilla për të zgjedh më shumë për nginx
Nga rruga Gaara, ju mund të përfshini në tutorialin tuaj të ardhshëm, si të zbatoni mbështetjen SSL.
Përshëndetje.
Këshillat që vijnë janë në fakt për të optimizuar përpunimin e PHP-së, memorien e faqes, mund të jap shembullin e konfigurimit që përdorim në DesdeLinux për Nginx+Wordpress+W3_Total_Cache :)
Faleminderit kontribut të mirë
Dhe udhëzuesi për archlinux kur? xD
Në Arch ka qenë shumë e ngjashme, vetëm emrat e paketave ndryshojnë por ... konf është pothuajse identik
Por kush ka një server prodhimi me Arch? 😀
Hi there,
Unë jam përsëri xD ...
Po ndiqja hapat tuaj duke i zbatuar ato në një makinë me archlinux dhe kam problemin e mëposhtëm:
[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)
Ndonjë sugjerim
Jo ... xox, unë dua vetëm një server të brendshëm, domethënë, unë dua të zëvendësoj vetëm xampp, duhet t'i bëj të gjitha këto?
Nëse dëshironi mund ta zbatoni këtë (gjë që unë e përsëris, është ajo me të cilën punon DL), në fakt serveri im virtual (të cilin unë e përdor për zhvillim dhe testim) e kam bërë me të njëjtën gjë që shpjegoj.
Domethënë, ose mund të hiqni XAMPP dhe ta vendosni këtë variant dhe do të funksionojë mirë, ose nëse dëshironi të largoheni nga XAMPP ... ai do të funksionojë akoma për ju.
Pika pozitive e përdorimit të kësaj që unë tregoj është konsumi shumë i ulët i pajisjeve në krahasim me Apache, por, në kompjuterin tuaj personal, i cili nuk është një pritje me kërkesë të lartë, larg… nëse XAMPP punon mirë për ju, nuk e shoh pse ta hiqni atë
Unë tashmë kam serverin tim Linux që ekzekutohet (Debian, Nginx, MySQL dhe PHP) e kisha të vështirë ta bëja PHP të punonte me Nginx sepse isha mësuar me Web Server-in e thjeshtë Apache.
Pyetja ime është: A e di dikush se si mund ta drejtoj serverin tim për një domain test që kam blerë? Unë do të doja të provoja domenin tim .com për të parë se si funksionon, por nuk kam idenë më të vogël se si ta bëj atë, sepse gjithmonë kam përdorur një adresë NOIP për të hyrë në të me noip DUC.
Shpresoj që dikush të më ndihmojë, Faleminderit!
E marr këtë kur përpiqem të lidhem me ftp-in tuaj:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-pjellem-fastcgi.tar.gz
Kërkesa HTTP u dërgua, në pritje të përgjigjes… 404 Nuk u gjet
GABIM 2015: Nuk u gjet.
Unë kam serverin tim CentOS të ekzekutuar (Gunicorn, Nginx, PHP) më është dashur shumë punë për t'i bërë që të funksionojnë, por pika ku kam ngecur është se faqja në internet që dua të lëshoj ka nevojë për konfigurimin e ofruesit të domenit në këtë rast Go Daddy Kështu që në këtë pikë nuk di si të vazhdoj.
A mund t'i ndani skedarët e konfigurimit me mua pasi nuk mund t'i shkarkoj, ju lutem