NginX atau biasa disebut dengan EngineX adalah aplikasi web server baru yang saat ini mulai banyak digunakan. Kelebihan NginX dibandingkan Apache (aplikasi web server yang paling banyak dipakai dunia saat ini) adalah optimalisasi penggunaan resource yang jauh lebih kecil bahkan sampai hanya 50% dari penggunaan resource yang digunakan oleh Apache. Note: OS yang digunakan adalah Centos 6.X 64bit.
*Note: untuk anda yang tidak terbiasa dengan vi, bisa menggunakan mcedit (shell text editor yg lebih mudah). Untuk menginstall mcedit, jalankan perintah yum install mc
KONFIGURASI HOSTNAME
Edit file /etc/hosts
dengan text editor, ubah mymachine.com menjadi FQDN (Full Qualified Domain Name) anda, dan mymachine dengan hostname anda.
127.0.0.1 localhost.localdomain localhost 192.168.1.1 mymachine.com mymachine
Berikutnya jalankan perintah berikut didalam mesin anda, ubah mymachine menjadi nama hostname anda.
echo "HOSTNAME=mymachine" >> /etc/sysconfig/network echo "mymachine" > /etc/hostname hostname -F /etc/hostname
Untuk mengetahui apakah sudah berubah atau belum bisa dilakukan dengan menjalankan perintah berikut:
hostname hostname -f
PERSIAPAN AWAL
Karena PHP-FPM tidak ada di repository default Centos, kita harus menambahkan repository EPEL dan REMI dengan cara dibawah:
rpm --import https://fedoraproject.org/static/0608B895.txt rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Tambahkan “priority=10
” kedalam konfigurasi repositori EPEL dan REMI. Contoh isi /etc/yum.repos.d/epel.repo
:
[epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...]
INSTALLASI NGINX DAN PHP
Untuk mempermudah pengerjaan anda, disini kita akan menginstall dan mengkonfigurasi NginX dan PHP sekaligus baru dilanjutkan dengan MySQL.
Install NginX dan PHP:
yum update yum install nginx php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
Edit dan tambahkan konfigurasi berikut pada fie konfigurasi php anda di /etc/php.ini
cgi.fix_pathinfo = 0
Edit file konfigurasi nginX
vi /etc/nginx/nginx.conf
Untuk menghindari error kesalahan Timezone isi kolom date.timezone:
date.timezone = Asia/Jakarta
Hilangkan ‘#’ pada baris yang ada di dalam file konfigurasi tersebut di baris-baris berikut:
#location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #}
Ubah baris fastcgi_param
menjadi
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Untuk yang menginginkan tunneling fastcgi/php-fpm melalui socket, optimizing ini bertujuan untuk menghindari TCP overhead pada webserver dengan concurrent yang cukup tinggi, ganti baris fastcgi_pass
menjadi
fastcgi_pass unix:/tmp/php-fpm.sock;
Jangan lupa apabila tunneling dilakukan via socket ubah listen = 127.0.0.1:9000
pada /etc/php-fpm.d/www.conf
menjadi listen = /tmp/php-fpm.sock
Setelah selesai, tinggal jalankan service nginx.
service nginx start service php-fpm start
Untuk menjadikan NginX & PHP-FPM autorun, aktifkan dengan menjalankan perintah berikut
chkconfig --levels 235 nginx on chkconfig --levels 235 php-fpm on
INSTALLASI MySQL
Umumnya pada saat menggunakan Cloud Server sebagai Web Server, walaupun ada namun jarang sekali pengguna hanya menginstall Webserver tanpa di sertai database saja, itulah alasan biasanya disebut dalam nama paket yaitu LAMP (Linux Apache, MySQL, PHP) atau LEMP (Linux, NginX, MySQL, PHP) apabila aplikasi web server yang digunakan adalah EngineX atau NginX.
Install MySQL dengan perintah:
yum install mysql mysql-server
Jalankan MySQL untuk pertama kali:
service mysqld start
Untuk menjadikan MySQL otomatis dipanggil pada saat server restart
chkconfig --levels 235 mysqld on
Setelah MySQL aktif, lakukan konfigurasi awal dengan perintah dibawah dan jawab setiap pertanyaan, jawab sesuai default atau dengan menekan enter kecuali ada sesuatu yang ingin anda ubah. Masukkan password baru apabila diminta.
mysql_secure_installation
Setelah melakukan konfigurasi awal, lanjutkan dengan mengakses MySQL dengan
mysql -u root -p
Buat database dan user yang akan menggunakan database tersebut dengan perintah:
create database namadatabase; grant all on namadatabase.* to 'namauser' identified by 'passworduser';
Jalankan perintah quit
untuk mengakhiri, database sudah siap digunakan untuk kebutuhan web server dan server-side scripting.
INSTALLASI phpMyAdmin
Install phpMyAdmin dengan perintah:
yum install phpmyadmin
Tambahkan baris berikut didalam file konfigurasi NginX
location ^~ /phpMyAdmin { root /usr/share; fastcgi_pass 127.0.0.1:9000; # ganti apabila menggunakan socket fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Restart service nginx anda. Selamat menggunakan Web Server EngineX alias NginX anda.
nyobain om
install nginx lemp server ubuntu
Mantaapp.. Thanks for sharing