Sebelumnya kita telah membahas tentang Nginx sebagai webserver yang menjalankan skrip PHP.
Pada tulisan kali ini kita akan membahas tentang bagaimana cara menjalankan skrip python di web server dengan menggunakan Nginx. Saya tidak membahas tentang teori, fokus pada tulisan ini hanyalah praktek.
Langsung saja kita mulai praktek. Pertama-tama kita pasang dahulu Python dan Nginx di Ubuntu.
$ sudo apt-get update $ sudo apt-get install python-dev python-pip nginxLalu kita pasang virtualenv dengan pip.
$ sudo pip install virtualenv $ sudo pip install uwsgiSebagai contoh kita buat direktori di /home dengan nama mypy:
$ mkdir ~/mypy/ $ cd ~/mypyKemudian kita buat virtualenv.
$ virtualenv myappLalu buat skrip python sederhana
$ nano ~/mypy/wsgi.pyDan isikan skrip python itu seperti di bawah ini:
def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) return ["<h1 style='color:blue'>Halo Linuxku.com!</h1>"]Lalu coba kita jalankan:
$ uwsgi --socket 0.0.0.0:8080 --protocol=http -w wsgiJika sudah seperti gambar di bawah ini, berarti kita susah sukses memasang uWSGI.
Langkah selanjutnya kita buat uWSGI tersebut jalan di deamon. Berikut ini saya sediakan hanya skrip untuk Ubuntu 14.04 yang mana menggunakan Upstart.
Buat berkas myapp.ini
$ nano ~/mypy/myapp.iniLalu isikan seperti berikut:
[uwsgi] module = wsgi:application master = true processes = 5 socket = myapp.sock chmod-socket = 664 vacuum = true die-on-term = trueDan kita buat skrip untuk Upstart:
$ sudo nano /etc/init/myapp.confMasukan skrip berikut:
description "uWSGI instance to serve myapp" start on runlevel [2345] stop on runlevel [!2345] setuid ali setgid www-data script cd /home/ali/mypy . myapp/bin/activate uwsgi --ini myapp.ini end scriptDan coba kita jalankan
$ sudo start myapp
Jika sudah seperti gambar di bawah ini:
Berati sudah sukses. Lalu kemudian coba kita implentasikan di Nginx:
$ sudo nano /etc/nginx/sites-available/defaultKemudian isikan seperti berikut:
server {
listen 80;
server_name server_domain_or_IP;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/ali/mypy/myapp.sock;
}
}
Pastikan konfigurasi Nginx berjalan dengan sempurna, coba kita cek terlebih dahulu dengan: $ sudo nginx -tJika sudah beres langsung saja kita restart Nginx
$ sudo service nginx retartSekarang Anda bisa langsung akses skrip python Anda di browser seperti gambar berikut:
Semoga bermanfaat :)
Website ini menganut paham demokrasi wkwk
Jangan lupa gunakan emot biar akrab gan (/ ^.^)/
EmoticonEmoticon