
Instalasi nginx dari source di CentOS 5. Artikel ini akan menjelaskan cara instalasi, mulai dari paket yang diperlukan untuk proses kompilasi, proses kompilasi sampai dengan membuat skrip init agar nginx bisa dijalankan secara otomatis saat booting.
Paket Yang Diperlukan
Sebelumnya pastikan paket-paket development tools sudah terinstall.
sudo yum groupinstall 'Development Tools'
Instal juga pustaka yang diperlukan oleh nginx
sudo yum install pcre-devel zlib-devel openssl-devel
Download Source Instalasi Nginx
Pastikan Anda selalu memeriksa rilis stabil terbaru di website nginx. Untuk rilis terbaru saat tulisan ini dibuat.
wget http://sysoev.ru/nginx/nginx-0.7.61.tar.gz
Instalasi
Ekstrak,
tar zxvf nginx-0.7.61.tar.gz cd nginx-0.7.61
Configure. Seperti biasa, instalasi dari source saya suka arahkan ke direktori /opt.
./configure --prefix=/opt/nginx --with-http_ssl_module \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log
Kompile dan install,
make sudo make install
Skrip Init
Buat skrip init di /etc/init.d/nginx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | #!/bin/sh # # nginx - this script starts and stops the nginx daemin # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /opt/nginx/conf/nginx.conf # pidfile: /opt/nginx/logs/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/opt/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf" lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac |
Setelah itu, aktifkan untuk runlevel 3, 4 dan 5.
sudo chkconfig --level 345 nginx on
Lalu jalankan service nginx.
/etc/init.d/nginx start
Sekarang Anda sudah bisa mengakses default web dari ngix di http://ip.server.anda. Disana Anda akan mendapatkan halaman default seperti di bawah ini.

Nginx Default Page
Mengkonfigurasi Logrotate
Jangan lupa untuk mengkonfigurasi logrotate, agar berkas log rutin di rotasi, dan tidak menghabiskan space di server Anda.
Buat berkas konfigurasi di /etc/logrotate.d/nginx
1 2 3 4 5 6 7 8 9 10 11 12 13 | /var/log/nginx/*.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 640 root root
sharedscripts
postrotate
[ ! -f /opt/nginx/logs/nginx.pid ] || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
endscript
} |
Rangkuman
Sekarang Anda sudah memiliki instalasi nginx, yang bisa Anda konfigurasi untuk keperluan lanjut. Misal untuk hosting berkas statik, atau set proxy ke instalasi rails atau django atau aplikasi yang dijalankan via fast cgi lainnya.
Konfigurasi lebih lanjut akan dibahas dalam artikel lain.

4 Komentar
pak mau nanya klo uuntuk koneksi ke database(ex:mysql) nya gmana …?? trus mo running PHP nya juga gmana
Nginx tidak berkomunikasi langsung dengan database. Biasanya yang melakukan koneksi ke database adalah aplikasi. Jika aplikasi itu berbasiskan php, maka skrip php lah yang melakukan koneksi ke database, dan itu TIDAK ada hubungannya dengan nginx.
Kalau mau running php, salah satu caranya sudah saya tuliskan di Instalasi PHP sebagai FastCGI di Nginx.
sory ni om nanya, kan tadi saya dah coba yang fast cgi, nah saya ada pertanyaan? gimana klo kita mempunyai sebuah cms seperti joomla atau drupal tapi saya menggunakan nginx sebagai web server nya…
trima kasih
mas, saya mau tanya nginx udah saya install juga php sudah koneksi, terus untuk menjalankan web, folder web ditarug mana ? serta untuk membuka phpmyadmin guna import database gimana caranya ? trims