问题
似乎我的 php 页面无法通过主 Apache 服务器上设置的 proxypass 加载。我需要进行哪些更改才能让 php 页面通过我的 proxypass 加载?
我尝试在 Ask Ubuntu 上回答这个问题,但有人建议我在这里回答这个问题。这正是该论坛上的帖子。
询问 Ubuntu 链接:https://askubuntu.com/questions/1003434/how-to-install-php-on-ubuntu-server
原始帖子
我以为这将是一个简单的答案。(但事实并非如此)我的 Ubuntu 服务器上运行着 Apache2,但似乎没有安装 PHP。当我尝试加载 php 页面时,它无法正确加载。
例子:http://urbanturtles.servegame.com/(我的网站)
起初我以为 php 模块没有加载,但是当我尝试运行时sudo a2enmod php
它却不起作用并且出现此错误:
ERROR: Module php does not exist!
提前感谢你的帮助!
编辑
尝试加载一个简单的 PHP 页面来显示 php 版本后,我在尝试加载页面时收到一个新的错误。该错误在此处显示:http://urbanturtles.servegame.com/version.php。这让我觉得我遇到的更多是 Apache 问题而不是 php 问题。我有一个主 Apahce 服务器,它将所有传入流量代理到我网络内的每个服务器。主服务器的 Apache 配置如下所示:
<VirtualHost *:*>
ServerName MaxKulik.net
ServerAdmin [email protected]
ProxyPreserveHost On
ServerName "www.MaxKulik.net"
ServerAlias "MaxKulik.net"
ProxyPass / http://192.168.1.5/
ProxyPassReverse / http://192.168.1.5/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:*>
ServerName MaxKulik.net
ServerAdmin [email protected]
ProxyPreserveHost On
ServerName "www.MaxKulik.net"
ServerAlias "MaxKulik.net"
SSLProxyEngine On
SSLProxyCheckPeerCN on
SSLProxyCheckPeerExpire on
ProxyPass / https://192.168.1.5/
ProxyPassReverse / https://192.168.1.5/
</VirtualHost>
<VirtualHost *:*>
ServerName USI
ServerAdmin [email protected]
ProxyPreserveHost On
ServerName "www.UrbanTurtles.servegame.com"
ServerAlias "UrbanTurtles.servegame.com"
ProxyPass / http://192.168.1.28/
ProxyPassReverse / http://192.168.1.28/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
答案1
您的 VirtualHost 中只能有一个ServerName
指令。该指令应与您站点的主要 FQDN 匹配,所有其他 FQDN 都应为ServerAlias
。
ServerName www.urbanturtles.servegame.com
ServerAlias urbanturtles.servegame.com
删除该ServerName USI
指令,它不是 FQDN。
如果您有多个ServerName
指令并且 Apache 决定使用错误的指令,您的 VirualHost 将不匹配。