nginx (wymawiamy jako engine x) jest to serwer WWW oraz serwer proxy dla HTTP i IMAP/POP3. Zaprojektowany on został z myślą o wysokiej dostępności w silnie obciążonych serwisach, podczas jego projektowania duży nacisk kładziono na jego skalowalność oraz niskie wymagania sprzętowe. Serwer ten nie posiada takiej popularności jak Apache, wykorzystywany jest jednak na wielu dużych serwisach między innymi nasza-klasa.pl, wordpress.com czy sourceforge.com. nginx napisany został przez Igora Sysojewa i wydawany jest na licencji BSD.
1 Instalujemy potrzebne pakiety:
sudo apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-common php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-cli spawn-fcgi nginx
2 Konfigurujemy przykładową stronę nibyblog.pl.
a Tworzymy katalogi dla witryny:
mkdir -p /home/franek/domains/nibyblog.pl/public_html
mkdir /home/franek/domains/nibyblog.pl/logs
b Tworzymy i edytujemy plik ustawień wirtualnego hosta oraz wpisujemy do niego poniższą zawartość:
sudo vim /etc/nginx/sites-available/nibyblog.pl
pastebin.com/WFgRzHuj – wrzuciłem, na Pastebin ponieważ WordPress zbój psuje.
c Włączamy wirtualnego hosta i startujemy serwer WWW;
sudo ln -s /etc/nginx/sites-available/nibyblog.pl /etc/nginx/sites-enabled/nibyblog.pl
sudo /etc/init.d/nginx start
3 Tworzymy dwa skrypty dzięki którym będziemy uruchamiać php-fastcgi:
sudo vim /usr/bin/php-fastcgi
Wklejamy do niego:
#!/bin/sh
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u www-data -f /usr/bin/php5-cgi
Nadajemy uprawnienia do wykonywania:
sudo chmod +x /usr/bin/php-fastcgi
sudo vim /etc/init.d/php-fastcgi
Do którego wklejamy:
#!/bin/bash
PHP_SCRIPT=/usr/bin/php-fastcgi
FASTCGI_USER=www-data
RETVAL=0
case "$1" in
start)
su - $FASTCGI_USER -c $PHP_SCRIPT
RETVAL=$?
;;
stop)
killall -9 php5-cgi
RETVAL=$?
;;
restart)
killall -9 php5-cgi
su - $FASTCGI_USER -c $PHP_SCRIPT
RETVAL=$?
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
Nadajemy odpowiednie uprawnienia i włączamy php-fastcgi:
sudo chmod 755 /etc/init.d/php-fastcgi
sudo /etc/init.d/php-fastcgi start
4 Instalujemy serwer baz danych:
sudo apt-get install mysql-server mysql-client
Podczas instalacji zostaniemy poproszeni o podanie hasła root, po instalacji można już zalogować się do MySQL i utworzyć pierwszą testową bazę danych:
mysql -p -u root
CREATE DATABASE testowa;
USE testowa;
GRANT ALL ON testowa.* TO userbazy@localhost IDENTIFIED BY 'jakieshaslo';
Możemy zainstalować już na przykład WordPress :]
Strona domowa enginx nginx.org ; na podstawie library.linode.com
2 czerwca, 2010 at 6:52
tak połamanego gramatycznie wpisu dawno nie widziałem….
2 czerwca, 2010 at 9:42
Więc mam nadzieję że tu nigdy nie wrócisz :)
2 czerwca, 2010 at 18:51
Ja tam wolę lighttpd ;P Ale i tak wszystko lepsze niż Apache
4 czerwca, 2010 at 3:00
@morii: sam/sama jesteś połamany. Nie znasz się i nie wiesz co jest pięć. Idź stąd i nie wracaj bo głosujesz na PiS i PO i akysz. Fakjumaderfakerbicz.
7 grudnia, 2010 at 21:21
Dzięki, szukałem jak dodać "usługę" php do Nginx'a w nie dłużej niż 60 sekund.
3 lipca, 2011 at 15:10
Zrobiłem wszystko zgodnie z tutkiem i dostaję "No input file specified" przy próbie otworzenia jakiegokolwiek pliku .php :|
3 lipca, 2011 at 22:09
Robiłem tak ja i nie tylko ja i jakoś się udawało -_-
6 stycznia, 2012 at 20:02
Sprawdź ścieżkę w pliku z http://pastebin.com/WFgRzHuj w linii 16.
2 sierpnia, 2011 at 21:54
Działa, dzięki. Jak możesz popraw linię: "sudo vim /etc/init.d/php-fastcgi start" na "sudo vim /etc/init.d/php-fastcgi start". Ten start tam nie jest potrzebny. Podrawiam
3 sierpnia, 2011 at 22:50
Naprawione :)
25 listopada, 2011 at 21:07
Ale w poleceniu "sudo /etc/init.d/php-fastcgi" start jest konieczny.
2 sierpnia, 2011 at 22:07
ups mój błąd miało byc bez start :)
16 lutego, 2012 at 16:46
Ooo choć VPSa konfiguruję według tego tutka: http://notatnik.mekk.waw.pl/archives/60-Konfiguru…
Sprawa serwisu www o wiele sprawniej opisana.
Choć ma też kilka pytań:
1) Po co tyle biblotek php? Z tego co widzę w innych tutkach niema ich aż tyle?
2) Czy to rozwiązanie zapewnia starty wszystkich usług po resecie serwera?
3) Co muszę zmienić by w ten sposób zrobić pythona?
Poza tym przydało by się coś więcej o optymalizacji mysqla.
20 lutego, 2012 at 10:50
Pytanie, po co aż tyle pakietów php? Z tego co widzę, alternatywne opisy zawierają ich o wiele mniej.
20 lutego, 2012 at 13:00
Wedle mnie są to podstawowe pakiety do instalacji na web serwerze, ale nic nie stoi na przeszkodzie aby zainstalować tylko php5-cgi php5-mysql
20 lutego, 2012 at 13:13
Wiem iż to jest minimum. A resztę według potrzeb. Bo o ile część pakietów np graficznych rozpoznaję. To reszty nie.
20 lutego, 2012 at 13:13
Inna sprawa masz pomysł czemu iz CGI zwraca taki błąd?
spex@vps:/etc/nginx$ sudo /etc/init.d/php-fastcgi start
No directory, logging in with HOME=/
spawn-fcgi: child exited with: 2
20 lutego, 2012 at 13:13
Więcej o konfiguracji: http://www.webhostingtalk.pl/topic/32361-php-ngin…
10 kwietnia, 2012 at 23:55
jak przy takiej konfiguracji ma wyglądać
/etc/nginx/sites-available/default ?
mógłby ktoś wrzucić to na pastebin ?
dzięki
11 kwietnia, 2012 at 9:01
Ja nic tam nie zmieniałem,
27 lipca, 2015 at 21:34
Panowie i miłe Panie :-)). Czy ktoś z tutejszych może mi pomóc zainstalować nginx. Mam kilka stron postawionych na WP w tej niby firmie nr 1 i krew mnie już zalewa
16 września, 2015 at 14:55
Mnie również Oscar, mam największy problem z php5 , niechcą się widzieć. a nie mówie tu już o Maridb ? chyba kestem na to za głupi :)