我又添加了 2 个 IP,但 PHP 无法在这些域上运行。看起来很奇怪。我肯定做错了什么,但不知道是什么。
IP地址:111.111.111.111、222.222.222.222 和 333.333.333.333
域:1.example.com,2.example.com,3.example.com
NSLOOKUP 确认域名已正确绑定到 IP
操作系统 UBUNTU 服务器 12.04在具有一个网络接口的虚拟机 (VPS) 上
是否配置
eth0 链路封装:以太网 HWaddr 00:16:3e:0f:2a:4f
inet addr:111.111.111.111 Bcast:111.111.111.255 掩码:255.255.255.0
....
lo 链路封装:...
/etc/网络/接口
自动 eth0
iface lo inet 环回
iface eth0 inet 静态
地址 111.111.111.111
网络掩码 255.255.255.0
网关 111.111.111.1
/etc/rc.local- 这就是我添加 2 个额外 IP 的方法
ip 地址添加 222.222.222.222 dev lo
ip 地址添加 333.333.333.333 dev lo
退出 0
APACHE2 / 2.4.3
/path_to_install_dir/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost 111.111.111.111>
DocumentRoot "/path/1.example.com/public_html/"
ServerName 1.example.com
AddType application/x-httpd-php .php
...
<VirtualHost 222.222.222.222>
DocumentRoot "/path/2.example.com/public_html/"
ServerName 3.example.com
AddType application/x-httpd-php .php
...
<VirtualHost 333.333.333.333>
DocumentRoot "/path/3.example.com/public_html/"
ServerName 3.example.com
AddType application/x-httpd-php .php
...
因此现在 1.example.com 可以正常工作,而 2.example.com 和 3.example.com(在其他 IP 上)则“丢失”了 PHP。我的意思是它们由 apache 提供服务,但 php 不起作用!error.logs 中没有任何内容!
有很多配置,所以感谢大家的帮助。
答案1
您需要将这些 IP 地址添加到eth0
,而不是添加到环回设备,以便从外部访问它们。假设您的 VPS 提供商对路由做了正确的操作,它应该立即起作用。
答案2
/path_to_install_dir/apache2/conf/extra/httpd-vhosts.conf
啊。你没有使用 Ubuntu 提供的 apache/php 等。这会带来麻烦,所以请摆脱它并安装 Ubuntu 软件包。除非你有非常不这样做的理由很充分。Php 和虚拟主机在 Ubuntu 的配置方式下配置得更好,这将解决这个问题。
您的 IP 地址配置也有问题,这些地址不应该在接口上lo
。我很惊讶它能正常工作(猜测它实际上不能正常工作)。