От Deploying Yesod web app я мог бы скопировать исполняемый файл, статический и файл конфигурации, чтобы запустить Yesod в качестве автономного веб-сервера. Это структура каталогов.Изменить номер порта Yesod
├── config
│ ├── client_session_key.aes
│ ├── favicon.ico
│ ├── keter.yml
│ ├── models
│ ├── robots.txt
│ ├── routes
│ ├── settings.yml
│ ├── sqlite.yml
│ └── test-settings.yml
├── my-project
├── my-project.sqlite3
└── static
Я пытался использовать другой порт, изменив конфиг/settings.yml
port: "_env:PORT:3002"
approot: "_env:APPROOT:http://localhost:3002"
Однако, приложение по-прежнему доступны с портом 3000. Даже я удалил settings.yml, но не было сообщение об ошибке.
Способ изменения порта состоял в изменении переменных окружения export PORT=3002
от https://github.com/yesodweb/yesod/wiki/Configuration#overriding-configuration-values-with-environment-variables, но я не это то, что я могу использовать.
Для разработки я могу использовать stack exec -- yesod devel -p 3003
(how can I change the settings (e.g., port) used by "yesod devel"?), но, похоже, я не использую опцию -p
с исполняемым кодом Yesod (my-project).
Почему исполняемый файл не загружается config/settings
? Как настроить использование порта в веб-приложении Yesod?