Jedna od mojih web stranica doživljava fenomenalni rast, a nakon optimizacije baze podataka koristeći upite i memcached , Odlučio sam da je vrijeme da koristiti neki drugi server nije mogao služiti statičkim medijima. Evo kako to učiniti.
Preporučujem da se pogledati na prethodni post koji sam napisao o tome kako konfigurirati server nije mogao raditi s Django , jer ću biti manipulativan neke datoteke koje sam govorio o tamo. Ako niste sigurni u ispravnost staze potrebno za vaš poslužitelj, koristite drugi post kao vodič. JA Installer Lighttpd i Apache konfiguriran na mom VPS Slicehost, što je tvrtku koja sam visoko preporučiti. Ako se odlučite za prijavu s njima, to bi b strašan ako koristite moj elektronička pošta (inerte@gmail.com) kao preporuke, i / ili koristite ovaj link koji brine o postavljanju vaše preporuke za mene.
We're će iskoristiti Lighttpd na različite luka od Apache služiti kartoteka iz određeni direktorij na temelju ime domene, sve transparentno za korisnika pregledavanja Vaše web stranice. Su nema promjena na mojoj web stranici kod, servera (Python) ili klijenta (HTML) strane.
Moj poslužitelj radi Ubuntu tako da sam trčao naredba za uvesti Lighttpd sljedeće:
$ Apt-get install lighttpd Uredi Lighttpd je konfiguracijske datoteke:
Vi $ / etc / lighttpd / lighttpd.conf Server.port uncomment linije (Mine je bila 60.):
server.port = 81 Mod_evhost Omogućite modul. Hoće li to pomoć nas koriste neki drugi direktorij, ovisno o naziv domene. Samo uncomment 19. liniju (unutar server.modules).
Dodaj Nakon negdje, koji kaže zahtjeva yourdomain.com treba tražiti datoteka na / var / www / yourdomain.com / web /. Ja sam 118. na liniji, nakon što evhost.path-uzorak primjera.
$ HTTP ["host"] = ~ "yourdomain \. Com" ( evhost.path-pattern = "/ var / www / yourdomain.com / web /" )
Početak lighttpd:
$ / Etc / init.d / lighttpd početak Pokažite vaš preglednik na vašem poslužitelju za vidjeti da Lighttpd je rad:
http://your.ip.address:81/
Trebate vidjeti nešto ovako (kliknite sliku za veći prikaz):
Ako imate direktorije pod / var / www /, njegovih imena dodati url da vidim ako lighttpd služi Ispravno njih (bi trebao):
http://your.ip.address:81/yourdomain.com
Za transparentno služe datoteka koristeći Lighttpd od Apache, morate omogućiti proxy na Apache:
$ Ln-s / etc/apache2/mods-available/proxy.load / etc/apache2/mods-enabled / $ Ln-s / etc/apache2/mods-available/proxy.conf / etc/apache2/mods-enabled / $ Ln-s / etc/apache2/mods-available/proxy_connect.load / etc/apache2/mods-enabled / $ Ln-s / etc/apache2/mods-available/proxy_http.load / etc/apache2/mods-enabled /
Neosigurani proksiji koriste spameri tako Apache dolazi Čuvano protiv loše konfiguracije. Trebate urediti ovu sliku:
$ VI / etc/apache2/mods-available/proxy.conf Reći gdje proxy rad će i tko ima pristup na njega. Zamijenite * s 127.0.0.1 i uncomment linije Allow from. Krajnji rezultat je ovaj:
<Proxy 127.0.0.1> AddDefaultCharset off Naručite zanijekati, dopustiti Deny iz svih Allow from 127.0.0.1 </ Proxy>
$ VI / etc/apache2/sites-available/yourdomain.com Dodajte ovaj negdje unutar <VirtualHost>:
ProxyRequests ProxyPreserveHost Off Na ProxyPass / ProxyPassReverse http://127.0.0.1:81/ web / http://127.0.0.1:81/ Vi ste gotovi sa svim konfiguracijama. Sada ponovno učitati Apache's modula i ponovo server:
$ / Etc/init.d/apache2 reload $ Apache2ctl restart
Sve što treba raditi. Ako dobijete greška, pokušati otvoriti neke korake i nakon svake promjene, ponovno učitati Apache i ponovno pokretanje Apache i Lighttpd vidjeti Kad je razbio. Ako brstiti to http://your.ip.address, trebali biste vidjeti sve svoje sadržaje / web / Biti pravilno umetnut. Kako vam je to Biti služili Lighttpd umjesto Apache?
To bi trebao reći Apache služi stranici:
curl-I http://your.ip.address/ Iako to bi trebao reći Lighttpd služi datoteku:
curl-I http://your.ip.address/web/some.file Ako imate bilo kakve nedoumice ili probleme, molim komentar i ja ću pokušati vam pomoći.