首页 > 解决方案 > 在 Moqui 中更改默认端口

问题描述

Moqui 框架版本:2.1.3

框架在默认端口 8080 上运行很好,我想更改默认端口,我确实阅读了https://www.moqui.org/m/docs/framework/Run+and+Deploy#a2.RuntimeDirectoryandMoquiConfigurationXMLFile 其中指出> “每个都可以是系统环境变量(带下划线)或 Java 属性(带下划线或点),使用 -D 命令行参数。

我确实发现在 MoquiDefaultConf.xml 中引用了 webapp_ 变量,如上述材料中所述,并尝试使用以下启动命令 >

$sudo nohup java -Dwebapp_http_host=localhost -Dwebapp_http_port=9080 -Dwebapp_https_port=9443 -jar moqui.war conf=conf/MoquiDevConf.xml &

但是上面的命令似乎并没有改变端口,Moqui 仍然在默认端口 8080 上运行,我可能缺少什么?

我还尝试了更新 MoquiDevConf.xml 中的 webapp 标记的解决方案,如通过 SSL 在 Tomcat 上运行 Moqui(设置 http-port 和 htts-port)中提到的 - 返回代码 302没有任何乐趣,

感谢任何指针,我真的被卡住了

标签: runtimeportdefaultmoqui

解决方案


您提到的环境变量或 Java 属性用于设置构建 URL 时要使用的端口。这些是用于访问服务器的外部端口,如果使用负载平衡器或反向代理,则可能与运行 servlet 容器的端口不同。有关更多信息,请参阅:

https://moqui.org/m/docs/framework/Run+and+Deploy#EnvironmentVariables

如果您使用嵌入式 Jetty 服务器运行 Moqui,您可以使用 port 参数指定它侦听的端口,如运行和部署文档的可执行 WAR 文件部分所述:

https://moqui.org/m/docs/framework/Run+and+Deploy#a3.ExecutableWARFile

请注意,嵌入式 Jetty 服务器可以在生产中使用,但它不支持 https,并且旨在用于将请求转发到嵌入式 Jetty 服务器的反向代理(如 nginx 或 Apache httpd)后面。

如果通过将 WAR 文件放入 Servlet 容器(即作为实际的 WAR 文件,不将其视为可执行的 JAR 文件)来部署 WAR 文件,则端口配置将使用 Servlet 容器(Tomcat、Jetty 等)完成。


推荐阅读