在生產環境下,一般會使用監督樹的機制來啟動server的介接,因此需要在創建專案時新增--sup
參數。
mix new test_app --sup
然後,同上一章的步驟,我們會需要安裝cowboy,因此在你的mix.exs
做以下修改,並執行mix deps.get
安裝:
defp deps do
[
{:plug_cowboy, "~> 2.0"}
]
end
並且新增lib/example_plug.ex
,內容同上一篇。
然後修改以下檔案:
lib/test_app/application.ex
defmodule TestApp.Application do
# See https://hexdocs.pm/elixir/Application.html
# for more information on OTP Applications
@moduledoc false
use Application
def start(_type, _args) do
children = [
{Plug.Cowboy, scheme: :http, plug: ExamplePlug, options: [port: 4001]}
]
# See https://hexdocs.pm/elixir/Supervisor.html
# for other strategies and supported options
opts = [strategy: :one_for_one, name: TestApp.Supervisor]
Supervisor.start_link(children, opts)
end
end
然後運行mix run --no-halt
後,就可以在 http://localhost:4001 上看到運行起來的程式。