我在 CentOS 7 服务器虚拟机上安装了 Apache Web 服务器(httpd),该虚拟机是在 Ubuntu 20.04 GUI 上使用 Vagrant 创建的。在 CentOS 服务器上,我专门配置了某些文件以使 Apache 服务器能够工作。我在 Ubuntu 浏览器上使用 IP 进行了测试,效果非常好。再说一次,在这种情况下,CentOS 服务器只是我在 Ubuntu GUI 上创建的虚拟机,而 Ubuntu 是我可以测试 apache 是否在浏览器上运行的唯一地方。
后来我想配置apache,让它使用域名url和IP。以下是我遵循的步骤:
设置虚拟主机:
mkdir -p /var/www/example.com/html
chown -R $USER:$USER /var/www/example.com/html
chmod -R 755 /var/www/example.com/html/index.html
nano /var/www/example.com/html/index.html
在index.html 中,我只是编写了一些随机文本来显示。
之后,我创建了文件夹/etc/httpd/sites-available
和/etc/httpd/sites-enabled
,以及配置文件example.com.conf
,并用以下内容填充配置文件:
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/example.com/html
ErrorLog /var/www/example.com/log/error.log
CustomLog /var/www/example.com/log/requests.log combined
</VirtualHost>
我/etc/httpd/conf/httpd.conf
刚刚IncludeOptional sites-enabled/*.conf
在文本末尾添加了告诉 Apache 在sites-enabled
文件夹中查找虚拟主机的信息。
然后我就这样重新启动了httpd sudo systemctl restart httpd
。
另外要提一下,在这种情况下,我example.com
仅用于演示,但我确实将其更改为我自己的随机域名。
现在是最重要的部分,在 Ubuntu 上我打开浏览器,输入我创建的域名,它输出
唔。我们找不到该网站。
/etc/hosts
因此,经过一些研究后,我认为我可能必须在 Ubuntu 中定义 CentOS 服务器的 IP 和域名。这就是我所做的。然后我再次尝试在浏览器上执行域名,然后它输出:
错误的请求
您的浏览器发送了该服务器无法理解的请求。
此外,尝试使用 ErrorDocument 处理请求时遇到 400 Bad Request 错误。
所以澄清一下,在 Ubuntu 上我可以使用 IP 来打开 CentOS apache 服务器,但不能使用域名。
任何建议都将受到高度重视。