Setup Server 2018

Kali ini saya akan menulis panduan menulis cara setup server terbaru (2018) menggunakan Ubuntu Xenial 64 bit. Versi python yang saya gunakan adalah python3.

I. Tambahkan User


# apt update && apt upgrade -y
# adduser kholidfu
# adduser kholidfu sudo

II. install pip, pip3 dan pipenv


$ sudo apt install python3-pip
$ pip3 install --user pipenv

Karena supervisor sampai saat artikel ini ditulis belum support python3 out-of-the-box, mari kita install juga python2 dan pip untuk python 2

$ sudo apt install python-pip

III. Web server [nginx]


Selanjutnya install web server, dalam hal ini saya menggunakan nginx

$ sudo apt install nginx

Sekarang mari kita set nginx.conf, saya menambahkan di /etc/nginx/sites-enabled/domain.conf

server {
    listen 80;
    server_name 142.93.19.222;

    location / {
        proxy_pass http://127.0.0.1:5000;
    }
}

Jangan lupa ada jarak 1 baris antara server_name dengan location, kalau tidak nanti error. Simpan kemudian, kita coba jalankan nginx setup dengan:

sudo nginx -t

IV. gunicorn


O, ya, jika belum install gunicorn, silakan install dulu, silakan mau di-install di --user atau di virtualenv, kalau saya di virtualenv

$ pipenv install gunicorn

Jika tidak ada pesan kesalahan, berarti nginx sudah siap, tinggal setup supervisor.

V. supervisor


Karena belum support python3, mari kita install supervisor menggunakan pip (python2):

$ pip install --user supervisor

Selanjutnya setup supervisor supaya connect dengan web app (dalam hal ini flask). Saya buat direktori .supervisord di ~, direktori ini nantinya untuk menaruh file konfigurasi supervisord.

$ mkdir .supervisord
$ echo_supervisord_conf > .supervisord/domain.conf

Kita tambahkan baris berikut di .supervisord/domain.conf

[program:web_app]
command=pipenv run gunicorn app.views:app -b 127.0.0.1:5000
directory=/home/kholidfu/weepdf_deployer

Jalankan supervisord

$ supervisord -c ~/.supervisord/domain.conf

atau jika sudah jalan, lakukan reload

$ supervisorctl -c ~/.supervisord/domain.conf

supervisor> reload


Selesai dan semoga bermanfaat!

Comments

Post a Comment

Popular posts from this blog

Adding Image Alternate Text into WordPress Image Attachment using python-wordpress-xmlrpc Library

Keutamaan Tidur yang Sedikit Menurut para Ulama

Kisah Nabi Uzair a.s.