我仍然在学习服务器的东西,所以希望标题足够描述。
基本上我有sub.domain.com,我想运行在端口8090的nginx。
我想单独离开apache,让它捕获端口80上的所有默认stream量。
所以我想用虚拟名称主机代理传递给sub.domain.com:8090,没有工作,不知道什么是正确的语法可能是。
有任何想法吗? 我发现的大部分是通过从Apache nginx,但我想做的相反。
LoadModule proxy_module modules / mod_proxy.so
LoadModule proxy_http_module modules / mod_proxy_http.so
<VirtualHost sub.domain.com:80>ProxyPreserveHost打开
ProxyRequestclosures
ServerName sub.domain.com
DocumentRoot / home / app / public
ServerAlias sub.domain.com
proxyPass / http://appname:8090/ (also tried localhost and sub.domain.com)
ProxyPassReverse / http://appname:8090/
</VirtualHost>
当我这样做,我得到
[警告]模块proxy_module已经加载,skippin
[warn]模块proxy_http_module已经加载,跳过
[错误](EAI 2)名称或服务未知:无法parsing主机名sub.domain.com – 忽略!
是的,该应用程序正在工作(我有它运行在另一个子域的端口80),它在sub.domain.com:8090
[错误](EAI 2)名称或服务未知:无法parsing主机名sub.domain.com – 忽略!
这是说,它不能parsingsub.domain.com到一个IP地址。 你需要安排你的服务器能够做到这一点。 如何做到这一点取决于如何configurationDNSparsing器。
日志中的前两行
[warn] module proxy_module is already loaded, skippin [warn] module proxy_http_module is already loaded, skipping
说那2个模块已经加载了。 所以,你可以删除你在文章中写的LoadModule行。
对于第三个错误行
[error] (EAI 2)Name or service not known: Could not resolve host name sub.domain.com -- ignoring!
可能会有不同的原因相同,可能是你的dns服务器configuration不正确,但为了快速修复你可以做的就是在/ etc / hosts文件中join这样的内容
ip_address sub.domain.com
ip_address应该被运行nginx的IP所取代。 它可能是127.0.0.1或其他一些IP。
虽然这不是最好的解决方法,但它应该解决您的问题。
如果这仍然没有帮助,如果你可以在这里发布以下命令的输出,在你运行apache的服务器上运行这个命令后,会很好。