Nginx, Web server selain Apache #ngoprekLinux

Bincang-bincang ini berawal dari cuplikan omongan aji tentang “nginx” atau lebih dikenal dengan sebutan engine-x….
(sumber : http://santenkelapa.blogdetik.com/2009/11/27/install-nginxengine-x-web-server-di-debian-variant-support-mysql-dan-php/)

Ehmmm .. selama ini webserver yang paling saya tau dan sering sekali dipergunakan yaitu apache webserver ..
ehmmm setelah tak survei2 n tanya2 kebeberapa situs-situs yg terkenal ternyata mereka banyak menggunakan nginx sebagai webservernya..
katanya performa nginx lebih cepat sebagai webserver dan tidak memakan resource yang besar ,, nginx merupakan webserver buatan rusia ..
wahh saia jadi penasara ingin juga rasanya diri ini migrasi ke nginx webserver nahh ,,,, untuk itu mari kita konfigurasi nginx kita di operating sistem Linux tercinta ..
kebetulan pada episode kali ini saya installnya di komputer server saja yg menggunakan ubuntu server 8.04 LTS.. nahh langsung saja ya tanpa basa-basi yuk kita mulai nginstall nginx nya

1. pertama-tama install lah terlebih dahulu mysql server dan mysql client nya(saya asumsikan anda loogin sebagai root dikarenakan saya paling malas menambahkan perintah sudo ..!!)

#apt-get install mysql-server mysql-client

tunggu beberapa saat, setelah itu anda akan diminta untuk memasukkan password mysql anda dan confirm password mysql anda dan instalasi mysql selesai ,,

2. langkah selanjutnya lakukan instalasi nginx nya

#apt-get install nginx

tunggu beberapa saat setelah itu lakukan start service nginx anda dengan perintah

#/etc/init.d/nginx start

 

3. lalu uji coba webserver nginx anda .. ip address komp yg saya install nginx adalah 10.10.100.20 atau juga bisa dengan mengetik http://localhost

http://10.10.100.20

ngixnya dah jalan

4. agar nginx berjalan disaat komputer booting lakukan perintah

#update-rc.d nginx defaults

5. nah setelah melihat di browser anda kalau nginx anda sudah berjalan dengan baik dan langkah selanjutnya adalah install php anda dengan perintah

#apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

lalu edit bagian /etc/php5/cgi/php.ini dan lihat konfiigurasi didalamnya uncomment dan ubah baris cgi.fix_pathinfo = 1

6. karena tidak ada daemon fastCGI yang otomatis pada nginx maka kita membutuhkan lighttpd, lakukan perintah

#apt-get install lighttpd

nah biasanya dalam penginstalan lighttpd anda akan menemukan error port 80 karena sudah dipakai oleh si nginx itu tidak apa-apa tidak masalah.
dan untuk mengatasinya anda lakukan perintah

#update-rc.d -f lighttpd remove

supaya si lighttpd tidak jalan pada saat booting dan tidak bentrok dengan nginx,
alasan kenapa anda menginstall lighttpd adalah karena anda membutuhkan /usr/bin/spawn-fcgi ,
cuman itu saja alasan dari saya kenapa anda butuh menginstall lighttpd, selanjutnya silahkan explore sendiri hahaha..
nah langkah selanjutnya adalah
agar daemon fastCGI berjalan di port 9000 dan di localhost lakukan perintah berikut ini

#/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

7. agar perintah diatas berjalan selalu pada saat komputer booting masukkan perintah diatas tadi kedalam /etc/rc.local sebelum command exit pada /etc/rc.local

nah langkah berikutnya adalah mengkonfigurasi nginx nya sendiri, masuklah kedalam /etc/nginx/nginx.conf

#nano /etc/nginx/nginx.conf

lalu cari kalimat dan lakukan perubahan dan menjadi

worker_processes 5; dan
keepalive_timeout 2;

8. lalu modifikasi file di /etc/nginx/sites-available/default
ubah pada file tersebut cari dan jadi :

server {
listen 80;
server_name _;

access_log /var/log/nginx/localhost.access.log;

location / {
root /var/www/nginx-default;
index index.php index.html index.htm;
}

location /doc {
root /usr/share;
autoindex on;
allow 127.0.0.1;
deny all;
}

location /images {
root /usr/share;
autoindex on;
}

#error_page 404 /404.html;

  1. redirect server error pages to the static page /50x.html
  2. error_page 500 502 503 504 /50x.html;

location = /50x.html {
root /var/www/nginx-default;
}

  1. proxy the PHP scripts to Apache listening on 127.0.0.1:80
  2. location ~ \.php$ {

#proxy_pass  http://127.0.0.1;
#}

  1. pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  2. location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
include fastcgi_params;
}

  1. deny access to .htaccess files, if Apache’s document root
  2. concurs with nginx’s one
  3. location ~ /\.ht {

deny all;
}
}

lalu restart service nginx anda dengan perintah

#/etc/init.d/nginx restart

9.lalu untuk mengetest apakah PHP kita sudah jalan buat lah sebuah file phpinfo.php untuk mengetahui apakah php sudah berjalan apa tidak ,
buat lah file phpinfo.php pada /var/www/nginx-default/ karena disitu merupakan document_root nya .. mari kita buat file phpinfo.php nya

#nano /var/www/nginx-default/phpinfo.php

lalu isikan dengan

php phpinfo()

jangn lupa baris tadi diapit oleh hashtag php
lalu simpan

nah lalu jalankan pada browser anda http://localhost/phpinfo.php jika tidak ada masalah maka akan muncul tampilan seperti ini

intsall ngink

php info

wahhh ,, konfigurasi nginx kita dah selesai nih ,, insyaAllah untuk koneksi PHP ama mysql nya juga dah jalan ntuh ,,
coba anda cek saja performanya di phpinfo.php tadi ..ok kawanddd ,, sampaii sini dulu ya ,,

wassalamu’alaikum .. dah dulu ya ,, kritik saran or pertanyaan silahkan lampirkan di comment ya ,… n_n

by ; santenkelapa

*dikutip kembali oleh

Tuan Pembual