Nginx merupakan webserver yang saat ini sangat berkembang cepat dan juga mulai banyak digunakan baik sebagai web server ataupun proxy server. Kehandalan dan kestabilan Nginx sudah dicoba oleh situs-situs besar seperti WordPress, Hulu, RedHat dll. Penggunaan memory Nginx jauh lebih ringan dibandingkan dengan Apache. Di tutorial kali ini, distro yang digunakan adalah CentOs 6, PHP5 (PHP-FPM) dan MySQL.
Persiapan
Login ke server anda sebagai root, lalu update system anda menggunakan yum dengan perintah dibawah ini
yum clean all; yum update -y
ada baiknya anda melakukan reboot (restart) walaupun pada banyak kasus reboot tidak dibutuhkan. Sesuaikan jam di CentOs dengan timezone yang digunakan, disini saya akan menggunakan timezone Asia/jakarta (GMT+7)
rm -f /etc/localtime;cp /usr/share/zoneinfo/Asia/Jakarta /etc/localtime
satu lagi ubah /etc/sysconfig/clock sehingga isinya menjadi
ZONE="Asia/Jakarta"
Instalasi dan Konfigurasi
Ditahap ini akan dijelaskan cara instalasi dan konfigurasi Nginx, PHP-FPM dan MySQL.
PHP FPM
Install paket aplikasi PHP dengan perintah dibawah ini
yum install php-fpm php-cli php-mysql php-gd php-imap php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-snmp php-soap php-tidy -y
Edit file php.ini dan ubah baris
;cgi.fix_pathinfo=1 ;date.timezone
menjadi
cgi.fix_pathinfo=0 date.timezone = Asia/Jakarta
terakhir jalankan daemon php-fpm
/etc/init.d/php-fpm start
MySQL
Install MySQL client dan MySQL server di CentOS dengan cara
yum install mysql-server mysql
jalankan MySQL server dan setting password anda
service mysqld restart; /usr/bin/mysql_secure_installation
Pada pilihan
Enter current password for root (enter for none): (tekan saja enter)
Set root password? [Y/n] (tekan enter)
New password: (buat password baru untuk root mysql anda, bukan password root linux anda)
Re-enter new password: (masukkan password seperti yang diatas sekali lagi)
Remove anonymous users? [Y/n] (tekan enter)
Disallow root login remotely? [Y/n] (tekan enter)
Remove test database and access to it? [Y/n] (tekan enter)
Reload privilege tables now? [Y/n] (tekan enter)
Nginx
Untuk installer Nginx, kita akan langsung mengambil dari repository yang disediakan oleh Nginx sendiri.
yum install http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
lalu install nginx
yum install nginx
coba akses alamat ip anda melalui browser, tampilannya akan seperti gambar dibawah ini
file konfigurasi Nginx terletak di /etc/nginx/nginx.conf, buka file tersebut dan ubah nilai worker_processes dan keepalive_timeout menjadi seperti dibawah ini
worker_processes 5; keepalive_timeout 3;
virtual host nginx berada di file /etc/nginx/conf.d/default.conf, karena disini kita hanya akan menggunakan 1 buah domain, maka kita akan langsung mengubahnya di default.conf. Edit default.conf hingga tampak seperti dibawah ini
server { listen 80; server_name jaranguda.com; #charset koi8-r; # access_log /var/log/nginx/log/host.access.log main; location / { root /usr/share/nginx/html; index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} location ~ \.php$ { root /usr/share/nginx/html; try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
baris yang diubah adalah server_name, index dan location ~ \.php$.
Untuk melihat apakah Nginx, PHP dan MySQL telah terkoneksi buat sebuah file di /usr/share/nginx/html/ bernama info.php isikan script dibawah ini
<?php phpinfo(); ?>
buka di browser anda dengan format ip/info.php contoh 127.0.0.1/info.php
Makasih banyak mas tutorialnya sangat membantu. Oh y tambahan mas, kok punya saya ketika diakses localhost gak tampil ya page seperti di atas, tapi malah tampil index file nya. Tolong bantuannya ya mas.