作者:大大炮 | 2023-09-06 13:05
1> Vitalii Elen..:
只需将端口传递给Kemal.run
:
require "kemal"
get "/" do
"Hello World!"
end
port = ARGV[0]?.try &.to_i?
Kemal.run port
建立:
crystal build src/myapp.cr
跑:
./myapp # default port 3000
./myapp 80
./myapp 443
请注意,绑定到特权端口(端口号<1024)通常需要超级用户权限.对于在生产环境中运行,您可能需要某种服务管理来确保应用程序的可用性.
**@ Vitalii Elenhaupt**使用`--release`标志构建Kemal应用程序并不能保证在`production`模式下运行它.它仍将以"开发"模式运行,具有发布级别优化.在生产模式下运行它的一种方法是使用`KEMAL_ENV = production`变量将其导出到系统环境中,或者使用Kemal可执行文件作为`KEMAL_ENV = production ./myapp 80`