Как запустить шут на сервере Apache

Я хочу использовать шута в производственном сервере.
Однако шут может работать только в Terminal.app с синхронизированной работой.
Я хочу знать, как запустить асинхронный шут, как php-pfm.

Я написал этот код:

import jester, asyncdispatch, json

routes:
  get "/":
    resp "Hello World!"

  get "/users/@id":
    var data = %*{"id": @"id"}
    resp $data, "application/json"

runForever()

И теперь я запускаю этот код:

nim c -r cgi.nim

Как я могу запустить это за сервером Apache?

1 ответ

После того, как вы скомпилировали (с nim c -r cgi.nim) у вас должен быть исполняемый файл cgi, Вы должны запустить это на заднем плане, возможно, используя что-то вроде супервизора.

Затем вы настраиваете Apache для ReverseProxy по отношению к вашему cgi программа nim, которая по умолчанию прослушивает http://127.0.0.1:5000/.

Здесь у вас есть полное руководство с использованием systemd+watchdog вместо supervisor и nginx вместо Apache: https://github.com/nim-lang/Nim/wiki/Tutorial:-Creating-a-(micro)-service

Другие вопросы по тегам