Install Nginx + PHP 5.5 dengan OPcache di CentOS 6

Diperbarui   /   Terbit di Server   /   Komentar

Nginx (baca: Engine X) merupakan sebuah open source HTTP Server serta Proxy yang dikenal sangat stabil, memiliki tingkat performa tinggi serta minim mengkonsumsi sumber daya sehingga semakin banyak situs yang menggunakannya sebagai web server. Untuk fitur-fitur unggulan dari nginx ini bisa dilihat di Wikipedia.

Blog ini pun menggunakan Nginx untuk web servernya, dan untuk hosting saya menggunakan GoCloud yang paket Unmanaged 512 MB. Langsung saja berikut cara menginstal Nginx, PHP 5.5 dengan OPcache.

Kita memerlukan beberapa paket tambahan supaya bisa menginstallnya, tambahkan repo berikut:

//CentOS 6 32 bit

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

//CentOS 64 bit

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Nginx

Pertama install nginx terlebih dahulu:

yum install nginx

Buatlah virtual server khusus untuk website kita nanti di folder /etc/nginx/conf.d, ganti example.com dengan domainmu:

vi /etc/nginx/conf.d/example.com.conf

Isikan teks berikut (konfigurasi default HTMLy):

server {
  listen 80;

  server_name example.com;
  root /usr/share/nginx/html;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log error;

  index index.php;

  location ~ /config/ {
    deny all;
  }

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~ .php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        include        fastcgi_params;
  }
}

PHP

Install PHP 5.5, PHP-FPM dan PHP 5.5 opcache dengan mengeksekusi perintah berikut:

yum --enablerepo=remi,remi-php55 install php-fpm php-opcache php-xml

Sekarang buat supaya PHP-FPM menggunakan Nginx:

vi /etc/php-fpm.d/www.conf

Temukan baris berikut:

user = apache
group = apache

Ganti menjadi:

user = nginx
group = nginx

OPcache

Alokasi memori defaultnya adalah 128MB, kalau ingin mengubahnya ganti nilainya di /etc/php.d/opcache.ini:

; The OPcache shared memory storage size.
opcache.memory_consumption=32

Dan untuk mengetahui status dari shared memory tersebut bisa menggunakan script php oleh Rasmus Lerdorf di Github. Download dan letakkan opcache.php di server.

Sekarang jalankan Nginx dan PHP-FPM:

service nginx restart;
service php-fpm restart;

Buat supaya jalan otomatis ketika server reboot:

chkconfig nginx on
chkconfig php-fpm on

Sebagai tambahan jika kita menginstall HTMLy maka memerlukan folder berikut untuk menyimpan session, dan kita perlu membuatnya writeable oleh nginx:

chown -R nginx:nginx /var/lib/php/session

Kadang kita mengubah document root misal ke /var/www/html dan sudah ada index.php tapi error 403 maka itu bisa disebabkan oleh selinux, coba eksekusi:

chcon -R -t httpd_sys_content_t /var/www/html

Itulah cara menginstall Nginx, PHP 5.5 dengan opcache di Centos 6.