Blog

WordPress i nginx na VPS serveru

Nginx

Web server nginx (“endžineks”) verovatno nećete naći ponuđenog ako koristite uobičajeni shared hosting. Na svom računaru možda nemate linux pa možete iskoristiti softver za virtualizaciju. S druge strane, cene zakupa virtuelnih privatnih servera su sve pristupačnije, pa možete zakupiti server približno istim sredstvima kao shared hosting. Ne preporučuje se da koristite besplatne servere kojih ima u ponudi na webu. Nginx web server efikasniji je u trošenju resursa od Apachea, posebno na slabijim serverima. Recimo, jedna od najznačajnijih optimizacija PHPa za nginx (FastCGI cache) omogućava nginxu da u potpunosti preskoči izvršavanje PHPa ako je zahtevani URL nedavno bio tražen (sa headerom koji omogućava keširanje). Nginx uslužuje statičke fajlove brže nego, recimo, Varnish. Tako nema potrebe stavljati Varnish ispred Nginxa, jer to bi čak i usporilo stvari.

Za primer će biti korišćen virtelni privatni server na IP adresi 146.185.173.129, distribucija je Debian 8.5 x32 (tip servera je minimalni: $5/mesečno bez bekapa ili $6/mesečno sa bekapom). Izbor provajdera i distribucije je, naravno na vama. Slično se podešavanje odvija kod drugih provajdera i linux distribucija. Domen wpdev.ga besplatno je zakupljen na 12 meseci kod Freenom.com (nije preporučeno koristiti besplatne domene za finalni server, već samo tokom razvoja i testiranja).

Navedeni su samo osnovni podaci za pokretanje WordPressa koristeći nginx. Ostali podaci (sigurnost, dodatna optimizacija servera itd.) mogu se pronaći u odgovarajućoj dokumentaciji (lokalnoj ili na webu).

Kreiranje VPSa

Za one koji odmah žele da zakupe VPS evo kako to izgleda kod jednog od VPS hosting provajdera (DigitalOcean). Na uobičajen način otvorite nalog na njihovom web sajtu i možemo da pređemo na kreiranje VPS dropleta. Nakon što se ulogujete, izaberite “Create Droplet”. Navedite linux distribuciju koju želite, klasu servera i fizičku lokaciju. Topla preporuka je da koristite SSH ključeve za pristup, ali ovde to neće biti urađeno, radi što bržeg rezultata. Server će biti kreiran sa passwordom za root korisnika (koji stiže na email sa kojim ste se registrovali). Jedina opcija koja po defaultu nije uključena je “Backups”. Ukljućićemo je.

wp vps kreiranje

Prvi pristup serveru

Iz terminala izdajte sledeću komandu (koristeći odgovarajući IP koji vam je dodeljen) i tako se ulogujte u svoj VPS kao root. Neki korisnici će možda odabrati drugi pristup (Putty SSH klijent, recimo).

Izbegavajte da radite na finalnom serveru kao root (ako ne morate), ovde time prosto ubrzavamo stvari. Umesto toga, uobičajeno je da se kreira poseban korisnik sa pripadajućim SSH ključem i da se korisniku da mogućnost korišćenja komande “sudo”. Sigurni (SSH) pristup je van obima ovog članka i može se naknadno omogućiti. Napomena: Debian 8.5 u primeru nema unapred instaliranu komandu sudo. Instaliramo je pomoću:

Radi kompletnijeg koda, nadalje koristimo komandu “sudo” (kao što će je budući korisnici servera koristiti). Možemo da počnemo sa pripremom servera. Pošto prvi put koristimo “apt” sistem za rukovanje paketima, osvežićemo taj sistem:

Instalacija – nginx

Ako sada posetimo wpdev.ga ili 146.185.173.129 videćemo pozdravnu stranicu:

nginx stranica dobrodšlice

Instalacija – MySQL

(Bićete upitani da zadate lozinku za root korisnika MySQL servera)

Osiguraćemo do neke mere naš mysql pomoću:

Instalacija – PHP

Kao jednu od važnih sigurnosnih mera trebalo bi izmeniti konfiguracioni fajl php.ini:

Pronaćićemo red u kojem piše “;cgi.fix_pathinfo=1”. Uklonićemo komentar i izmeniti vrednost “1” u “0”:

cgi.fix_pathinfo=0

cgi.fix_pathinfo secure php

Konfiguracija – nginx

Dodati u index direktivu vrednost index.php (prvi fajl koji će biti uslužen, pre index.html)

Najčešće je dovoljno samo:

Izmeniti server_name direktivu u wpdev.ga

Aktivirati php5-fpm. Ukloniti komentare sa ovih redova:

Testiramo nginx konfiguracioni fajl:

Zatim restartujemo php5-fpm i osvežimo nginx konfiguraciju:

Konfiguracija – MySQL

Ulazimo u mysql klijent:

Unosimo sledeće naredbe:

Instaliramo WordPress

(Preuzimamo verziju na engleskom, možete izabrati i verziju na srpskom)

Kako bi WordPress mogao da piše u fajlove (koje trenutno poseduje root), uradićemo to dodeljivanjem vlasništva nad folderom /var/www/html korisniku www-data:

Ovo se nikako ne preporučuje iz sigurnosnih razloga, ali ako sada posetite vaš sajt, dočekaće vas instalacioni ekran WordPressa.

instalacija wordpressa nginx

Možete se odjaviti sa servera i nastaviti sa radom u WordPressu koji ste instalirali.

Izmena: Po savetu, u članak su naknadno dodate minimalne sigurnosne mere pri instalaciji. Sve kritike su dobrodošle.

Tags

About the author

vukmilicevic

2 Comments

Click here to post a comment

Leave a Reply

  • Bravo Vuce.
    Nadam se da ide deo gde ces se obratiti onome sto je najveca prepreka za obicne korisnike prilikom koriscenja VPS-a. Sigurnost. Kako podesiti firewall, Kako se odbraniti od bruteforce napada, kako odrzavati sistem updejtovanim, kako spreciti rasipanje resursa na botove, kako i gde citati logove, pratiti performanse, konfigurisati servise… itd…

    • Hvala, Luka.

      Tako je. Ovaj post ima samo malo informacija da nekoga privuče da proba nginx, ako već nije. Nadam se da će nekome biti od koristi. Ali mnogo toga što si pomenuo bih prepustio nekom drugome. Isto tako verujem da i sam korisnik treba da bude na dobrom, plaćenom hostingu i da ne brine, bilo da je u pitanju shared ili VPS.

@WPSerbia

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 98 other subscribers

%d bloggers like this: