Cara Install Nginx di FreeBSD
Artikel kali ini membahas tentang tutorial cara install Nginx di FreeBSD. Jika ingin menggunakan Apache web server di FreeBSD baca tutorial cara install Apache di FreeBSD.
Install Nginx
Install nginx via pkg
1 | # pkg install nginx |
Aktifkan service dan jalankan
1 2 | # sysrc nginx_enable="yes" # service nginx start |
Uji instalasi Nginx dengan mengakses IP server di browser
Server blocks
Setelah nginx bisa berjalan dengan baik, selanjutnya melakukan konfigurasi server blocks di mana kita dapat meng-hosting banyak domain dalam satu server. Kalau di Apache istilah server blocks disebut virtual hosts.
Pada tutorial ini saya membuat 2 virtual hosts musaamin.bsd dan sysadmin.nux yang mengarah ke IP server 192.168.56.100.
Saya memakai client Ubuntu, mengubah file
1 | /etc/hosts |
agar musaamin.bsd dan sysadmin.nux langsung mengarah ke IP server 192.168.56.100.
1 | # nano /etc/hosts |
Isinya
1 | 192.168.56.100 musaamin.bsd sysadmin.nux |
Selanjutnya pada FreeBSD, buat direktori untuk server blocks/virtual hosts
1 | # mkdir -p /usr/local/etc/nginx/vhosts |
Buat file config untuk virtual host musaamin.bsd
1 | # nano /usr/local/etc/nginx/vhosts/musaamin.bsd.conf |
Isinya
1 2 3 4 5 6 7 8 9 10 11 12 13 | server { listen 80; server_name musaamin.bsd www.musaamin.bsd; root /usr/local/www/nginx/musaamin.bsd; index index.html index.htm; location / { try_files $uri $uri/ =404; } access_log /var/log/nginx/musaamin.bsd_access.log; error_log /var/log/nginx/musaamin.bsd_error.log; } |
Buat file config untuk virtual host sysadmin.nux
1 | # nano /usr/local/etc/nginx/vhosts/sysadmin.nux.conf |
Isinya
1 2 3 4 5 6 7 8 9 10 11 12 | server { listen 80; server_name sysadmin.nux www.sysadmin.nux; root /usr/local/www/nginx/sysadmin.nux; index index.html index.htm; location / { try_files $uri $uri/ =404; } access_log /var/log/nginx/sysadmin.nux_access.log; error_log /var/log/nginx/sysadmin.nux_error.log; } |
Konfigurasi file nginx.conf agar file virtual hosts terbaca
1 | # nano /usr/local/etc/nginx/nginx.conf |
Tambahkan baris kode include sebelum penutup http
1 2 3 4 | http { ... include /usr/local/etc/nginx/vhosts/*.conf; } |
Buat root directory dan file index.html untuk musaamin.bsd
1 2 | # mkdir -p /usr/local/www/nginx/musaamin.bsd # nano /usr/local/www/nginx/musaamin.bsd/index.html |
Isi file index.html
1 | <h1>Hello, musaamin.bsd</h1> |
Buat root directory dan file index.html untuk sysadmin.nux
1 2 | # mkdir -p /usr/local/www/nginx/sysadmin.nux # nano /usr/local/www/nginx/sysadmin.nux/index.html |
Isi file index.html
1 | <h1>Hello, sysadmin.nux</h1> |
Restart nginx
1 | # service nginx restart |
Uji dengan mengakses server name virtual host. Masing-masing server name harus menampilkan index.html sendiri dan bukan default halaman welcome Nginx.
selamat mencoba 🙂
pagi pak.. sebelumnya saya ucapkan terimakasih saya sudah bisa install freeBSD dengan USB. dan saya juga sudah bisa install nginx dan mariadb dengan baik.. tetapi saya bingung cara agar PHP konek dengan nginx cara mkdir nya bagaimana y pak.. mohon pencerahannya
pak ini saya coba buka file php di dalam folder /usr/local/www/nginx/nmfolder/index.php keluarnya di browser 500 Internal Server Error tapi kalo saya access dari /usr/local/www/nginx/coba.php tanpa folder bisa pak normal..itu error darimananya pak