D. Prameswara
D. Prameswara Tukang ketik yang sedang belajar pemrograman #linux #android #vue #node.js

Cara mudah mengatasi masalah read ECONNRESET pada Ghost dalam Docker Swarm

Cara mudah mengatasi masalah 500 read ECONNRESET pada Ghost dalam Docker Swarm

Jika anda mendeploy aplikasi Ghost CMS dalam Docker Swarm, maka anda mungkin akan mengalami permasalah yang sebenarnya tidak fatal, tetapi sangat mengganggu, yaitu munculnya error 500 read ECONNRESET seperti di bawah ini :
500 
select count(distinct posts.id) as aggregate from `posts` where (`posts`.`status` = 'published' and `posts`.`type` = 'post') - read ECONNRESET

Error ini biasanya terjadi jika Ghost CMS idle (tidak ada yang mengakses) dalam rentang waktu tertentu. Error di atas sebenarnya akan hilang jika pengguna merefresh halaman tersebut, misalkan dengan menekan tombol F5, akan tetapi tentu saja hal ini sangat merugikan untuk pengalaman pengguna.

Ada beberapa solusi yang bisa dicoba untuk mengatasi permasalah di atas, yang pertama adalah dengan secara periodik (misalkan dalam beberapa detik sekali) mengakses halaman Ghost CMS anda. Hal ini untuk mencegah Ghost CMS idle. Solusi ini memang kurang elegan, tetapi working dan bisa dicoba. Solusi kedua adalah dengan mengubah setting minimal pool dari Ghost CMS menjadi 0. Seperti pada contoh setting docker-compose.yml di bawah ini.


version: '3.1'

volumes:
  mysql-volume:
  ghost-volume:
    
services:
 mysql:  
  image: mysql:5.7
  volumes:
    - mysql-volume:/var/lib/mysql
  environment:
    MYSQL_ROOT_PASSWORD: root
    MYSQL_DATABASE: db
    MYSQL_USER: blog-user
    MYSQL_PASSWORD: supersecret

 ghost:  
  image: ghost:3-alpine
  volumes:
    - ghost-volume:/var/lib/ghost/content
  restart: always
  ports:
    - 2368:2368 
  environment:
    url: https://dxs-uiux.dev.siap.id
    database__client: mysql
    database__connection__host: mysql
    database__connection__user: blog-user
    database__connection__password: supersecret
    database__connection__database: db
    database__pool__min: 0
    
  depends_on:
    - mysql    



Seperti pada contoh file docker-compose.yml di atas, silahkan tambahkan setting database__pool__min: 0 pada service ghost anda.

Setelah itu, silahkan deploy ulang atau update service anda. Jika semuanya lancar, maka Ghost CMS anda akan dapat berjalan normal meskipun sering idle dalam waktu yang lama.

Cara mudah mengatasi masalah 500 read ECONNRESET pada Ghost dalam Docker Swarm

Sekian dan selamat mencoba.


D. Prameswara
D. Prameswara Tukang ketik yang sedang belajar pemrograman #linux #android #vue #node.js
Load comments