Пред некое време Јас ти кажав за оваа серија на упатства, за тоа како да инсталирате и конфигурирате сервер за хостинг со голема побарувачка. Оваа статија ќе биде за инсталирање и конфигурирање на Nginx:
nginx:
Веќе ви кажавме за Нгинкс претходно во статијата Nginx: Интересна алтернатива на Apache, таму ви кажуваме дека станува збор за веб-сервер како Apache, LightHttpd или Cherokee, но тој во споредба со Apache се истакнува по своите перформанси и малата потрошувачка на хардвер, токму поради таа причина многу големи страници како што се Facebook, MyOpera.com, DropBox или дури и WordPress .com користат Nginx наместо Apache. Во светот на Linux бидејќиLinux не е единствениот што користи Nginx, колку што знам, emsLinux и MuyLinux исто така го користат
Моето лично искуство со Nginx датира од пред неколку години, кога од нужда започнав да барам лесни алтернативи за Apache. Во тоа време Nginx се залагаше за верзија 0.6 и нејзината компатибилност со страниците со голема побарувачка направени во PHP не беше најоптимална, сепак денес од верзијата 0.9 па натаму (v1.2.1 достапен на Debian Stable, v1.4.2 достапен на ArchLinux) се подобри многу, до тој степен што со соодветна конфигурација и соединување на Nginx + PHP сè ќе работи како привлечност.
Во оваа серијал за упатства Useе ја користам верзијата Nginx 1.2.1-2.2, достапно во репозициите на Debian Stable (Визи).
1. Инсталација:
Willе започнеме со првото нешто, инсталирајте Nginx од нашите складишта.
Ако на вашиот сервер користите дистрибуција како што се Debian, Ubuntu или некој дериват во терминалот, мора да го ставите следново и да притиснете Внесете :
aptitude install nginx
Во случај да користите друга дистрибуција на вашиот сервер како CentOS, Red Hat, Fedora, едноставно инсталирајте го пакетот: nginx од официјалното складиште
2. Конфигурација:
Веќе имаме инсталирано Nginx, но очигледно треба да го конфигурираме. Подготвив компресирана датотека на FTP што ги содржи сите конфигурации што се користат во серверите DesdeLinux, како за PHP, Nginx, итн. Ајде да ја преземеме и отпакуваме таа датотека:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
Ова ќе создаде папка наречена nginx-spawn-fastcgi, од неа ќе ни требаат две датотеки за чист Nginx (т.е. без да го поврземе со PHP):
- nginx.conf - »Главна конфигурациска датотека на Nginx (за нејзината содржина ќе разговараме подоцна)
- index.html - »Едноставна html-датотека што ќе ја искористиме за да видиме дали Nginx навистина работи за нас во својата најосновна форма
- mywebsite.net - »Конфигурациска датотека за едноставна веб-страница, VHost (виртуелен домаќин) што ќе конфигурира пристап до претходниот html
Ајде прво да се преселиме во папката за поставки на Nginx:
cd /etc/nginx/
Потоа, да ја отстраниме нејзината стандардна конфигурација и да ја ставиме нашата:
mv nginx.conf nginx.conf_BK && cp ~/nginx-spawn-fastcgi/nginx.conf ./
Ова, како што реков, е главната датотека за конфигурација на Nginx, во неа веќе го дефинирав следново:
кориснички www-податоци; процеси на работници 4; pid /var/run/nginx.pid;
Кориснички пристап до датотечниот систем (со кој nginx ќе има пристап насекаде), број на процеси за работа и исто така PID (nginx id id).
Имаме и таму мал блок наречен настани (поставки за настани) што содржи линија што покажува максимален број на дозволени врски по настан. Подолу е блокот наречен http.
Овој блок http е оној што содржи скоро сè што е поврзано со хостирање, барем многу работи што ќе ве интересираат. На пример, максималното време за живеење или чекање (тајмаут), каде ќе бидат нашите општи логови (пристап.лог и грешка.лог), компресија на податоци со употреба на gzip, како и други правила што можат да бидат корисни во иднина.
Откако ќе се постави главната конфигурациска датотека, ајде да ја копираме датотеката од нашиот VHost во папката што е достапна за веб-страниците
cp ~/nginx-spawn-fastcgi/mywebsite.net sites-available/
Покрај тоа, ние мора да направиме симболична врска од оваа датотека до папката овозможена за страници.
ln -s /etc/nginx/sites-available/mywebsite.net /etc/nginx/sites-enabled/
Јас ја објаснувам корисноста да се имаат веб-страници овозможени и достапни.
Beе има моменти кога тие мора да имаат подготвени и конфигурирани неколку датотеки vhost, бидејќи на тој сервер ќе стават на интернет, да речеме 5 страници. Како и да е, се случува дека сè уште не е време да се овозможат 2 од тие 5 вухтони, но тие мора да ги имаат датотеките подготвени, така што кога е потребно, да бидат онлајн во најкус можен рок. Тие можат да стават онолку вухови колку што сакаат на достапни страници, бидејќи оние што Nginx ги чита за да ги постави на Интернет, се само оние на веб-страниците, тоа би функционирало и во спротивна насока, во случај да сакаат да стават офлајн ( привремено на пример) страница, нема потреба да бришете датотеки од вашиот сервер (датотеки што ќе ни требаат подоцна), ние едноставно ја отстрануваме симболичката врска со веб-страниците овозможени и тоа е тоа. Корисноста да имате симболични врски и едноставно да не ја копирате датотеката од една папка во друга, е дека кога сакаме да уредиме vhost, не е важно дали ќе го уредиме оној што се наоѓа во овозможен или достапен, на крајот е исто
архива
Датотеката mywebsite.net како што реков претходно, vhost што служи како пример, односно со други зборови, ние мора да ја измениме mywebsite.net и да ги утврдиме нашите конфигурации.
Ние мора да го смениме следново:
- пристап_лог (линија 3): Ова е патот на датотеката за пристап до дневникот до оваа страница
- error_log (линија 4): Ова е патот на датотеката за евиденција на грешки до оваа страница
- име на сервер (линија 5): URL-то, доменот што е хостиран во таа папка, на пример, да беше форумот FromLinux ќе беше: име на server_fromlinux.net
- root (линија 6): Патеката до папката каде што се датотеките html, ајде да го оставиме ова во / var / www / бидејќи тоа ќе биде само тест
Сега треба само да ја копираме html-датотеката во папката што ја дефинираме во нашата датотека VHost, / var / www /:
mkdir /var/www/ && cp ~/nginx-spawn-fastcgi/index.html /var/www/
Потоа го рестартираме Nginx и тоа е тоа:
service nginx restart
И воила, ќе се појави вакво нешто:
Потсетувам дека прво работиме со Nginx за HTML, без да имаме поддршка за PHP, инсталирајте PHP и поврзете го со Nginx ќе биде содржината на следното упатство (ветувам за неколку дена).
Како и да е, ова е упатство за инсталација и конфигурација на Nginx, така што работи чисто, односно HTML-страница, се надевам дека ќе ве интересира.
Јас ќе појаснам дека да, сè уште има најдобри практики што може да се искористат, сепак, да почекаме да ја завршиме оваа серија на упатства и потоа ќе го процениме конечниот резултат на работата
Со почит
26 коментари, оставете ги вашите
Ви благодариме, многу корисно!
Ви благодариме за коментарот
Во backports постои nginx 1.4 ..
Да, но на сервер во производство не користам ништо од тоа
Под „тоа“ мислиш на најновата стабилна и тестирана верзија објавена од nginx, правиш да звучи како да е apt-pinning од sid. ~ _
Ајде, дали е тоа ... на серверите никогаш не сум сакал да користам други репоа, или backport или нешто слично
Секогаш стабилен на серверите, тоа го научив пред години.
Nginx 1.4 е стабилен од минатиот април, во backports е 1.4.1-3.
-2013 04 24-
Објавена е стабилна верзија nginx-1.4.0, која вклучува многу нови функции развиени во гранката 1.3.x - поддршка за прокси на врски на WebSocket, спојување на OCSP, модул SPDY, филтер за патент и повеќе.
http://nginx.org/en/CHANGES-1.4
Во право си во тоа што го кажуваш, капа ми е исклучена.
Ви благодариме за споделувањето, во моментов го практикувам вашиот најстар пост.
Toе те наполнам со прашања XD
Ви благодариме за читањето
Било какво сомневање или прашање што знаете, ние сме тука да помогнеме, тука имате forum.desdelinux.net каде заедно ќе се обидеме да ви го дадеме најдоброто решение
Со почит
Имам прашање Имам LAMP [Linux (Debian Wheezy), Apache, PHP и MySQL] кој работи на мојот сервер за WordPress и Owncloud, како да мигрирам во Ngnix, друго прашање е каква разлика има помеѓу Ngnix и Lighttpd.
Најголемата компликација или тешкотија за миграција од Apache во Nginx се конфигурациите на секоја страница, односно конкретно .htaccess што го користите.
.Htaccess е најсложен кога се префрлате на Nginx, бидејќи тие се различни конфигурации што мора да ги ставите во Nginx VHost.
За LightHTTPd и Nginx… Не знам, јас користев LightHTTPd само еднаш пред многу години, во моментов немам идеја како се одвива неговиот развој, поточно користејќи PHP.
NGINX изгледа прилично јасна во споредба со Apache. Чекајќи ја следната епизода за да можеме да ја надополниме со PHP
Чекам совети за повеќе да оптимизирам на nginx
Патем, Гаара, можете да вклучите во следното упатство за тоа како да ја имплементирате SSL-поддршката.
Поздрав.
Советите што доаѓаат се всушност за оптимизирање на PHP обработката, кешот на страници, можам да ставам пример за конфигурацијата што ја користиме во FromLinux за Nginx + WordPress + W3_Total_Cache ache
Ви благодарам добар придонес.
А, водичот за архлинукс кога? xD
Во Арх беше многу слично, само имињата на пакетите се менуваат, но ... конф е скоро идентичен
Но, кој има сервер за производство со Arch? 😀
Здраво,
Јас сум повторно xD ...
Ги следев вашите чекори применувајќи ги на машина со архлинукс и го имам следниот проблем:
[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)
Какви било предлози
Jo… xox, сакам само внатрешен сервер, односно сакам само да го заменам xampp, дали треба да го направам сето ова?
Ако сакате, можете да го имплементирате ова (што повторувам, е она со што работи DL), всушност мојот виртуелен сервер (што го користам за развој и тестирање) го направив тоа со истото што го објаснив.
Тоа е, можете или да го отстраните XAMPP и да ја ставите оваа варијанта и тоа ќе работи добро, или ако сакате да го напуштите XAMPP ... сепак ќе работи за вас.
Позитивната точка на користење на ова што ја покажувам е многу мала потрошувачка на хардвер во споредба со Apache, но, на вашиот персонален компјутер, што не е хостинг со голема побарувачка, далеку од тоа… ако XAMPP работи добро за вас, јас не видете зошто да го отстраните
Веќе имам извршен сервер за Линукс (Debian, Nginx, MySQL и PHP) Тешко ми падна PHP да работи со Nginx затоа што бев навикнат на едноставниот веб-сервер Apache.
Па моето прашање е: Дали некој знае како можам да покажам тест-домен што го купив на мојот сервер? Би сакал да го пробам мојот домен .com за да видам како работи, но немам ни најмала идеја како да го направам тоа, затоа што секогаш користев адреса на NOIP за пристап до неа со noip DUC.
Се надевам дека некој може да ми помогне, благодарам!
Ова го добивам кога се обидувам да се поврзам на вашиот ftp:
cd && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && катран xf nginx-spawn-fastcgi.tar.gz
HTTP-барањето е испратено, се чека одговор 404… Не е пронајдено
2015-11-23 17:46:30 ГРЕШКА 404: Не е пронајдено.
Имам оперативен сервер CentOS (Gunicorn, Nginx, PHP) ми требаше многу работа да ги натерам да работам, но точката каде што заглавив е дека на веб-страницата што сакам да ја стартувам е потребна конфигурацијата на давателот на домен во овој случај Оди тато , Значи, во овој момент не знам како да продолжам.
Може ли да ги споделите конфигурациските датотеки со мене бидејќи не можам да ги преземам