![当我在 .conf 文件中创建 VirtualHost 并且 /etc/init.d/apache2 重新加载时出现错误](https://linux22.com/image/1087726/%E5%BD%93%E6%88%91%E5%9C%A8%20.conf%20%E6%96%87%E4%BB%B6%E4%B8%AD%E5%88%9B%E5%BB%BA%20VirtualHost%20%E5%B9%B6%E4%B8%94%20%2Fetc%2Finit.d%2Fapache2%20%E9%87%8D%E6%96%B0%E5%8A%A0%E8%BD%BD%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%20.png)
我的任务:
域名www.mynewsite.lk
已配置并托管在 IP 地址为 的托管服务器中192.168.1.100
。另一个名为 的域名www.mysite.lk
也应配置相同的内容,且不重复。这里我想为 Apache 服务器配置基于名称的虚拟托管。
首先,我创建了包含我的网站文件的目录并添加了“home.html”文件。
sudo mkdir /var/www/website
sudo vim /var/www/website/home.html
default.conf
我在文件夹中创建新的虚拟主机文件后/etc/apache2/sites-available
,它看起来像
<VirtualHost 192.168.1.100>
ServerAdmin [email protected]
DocumentRoot /var/www/website
DirectoryIndex home.html
ServerName www.mynewsite.lk
Serveralias www.mysite.lk
ErrorLog /var/log/error/website/error.log
CustomLog combined
</VirtualHost>
接下来我创建了目录来保存“Error.log”
sudo mkdir /var/log/error
sudo mkdir /var/log/error/website
然后我使用设置 DNS sudo vim /etc/hosts
,并在该文件中添加以下行
192.168.1.100 www.mysite.lk www.mynewsite.lk
在我启用使用命令default.conf
创建的文件后sudo a2ensite default.conf
然后我运行这个命令
sudo ifconfig vmnet0: 192.168.1.100 netmask 255.255.255.0 up
最后我使用sudo /etc/init.d/apache2 reload
命令重新加载了 apache 服务器
我犯了一个错误apache2.service 的作业失败。请参阅“systemctl status apache2.service”和“journalctl -xn”了解详情。
我该怎么做才会出现此错误……?请帮助我完成我的任务。我创建 .conf 时出现任何错误吗<VirtualHost>
……?
答案1
我能够解决更改文件夹default.conf
中的文件/etc/apache2/sites-available
并创建目录来保存“Access.log”文件的错误。
所以我创建了虚拟主机最后一行CustomLog combined
改为CustomLog /var/log/access/website/access.log combined
然后default.conf文件如下...
<VirtualHost 192.168.1.100>
ServerAdmin [email protected]
DocumentRoot /var/www/website
DirectoryIndex home.html
ServerName www.mynewsite.lk
Serveralias www.mysite.lk
ErrorLog /var/log/error/website/error.log
CustomLog /var/log/access/website/access.log combined
</VirtualHost>
我创建了目录来保存“Access.log”
sudo mkdir /var/log/access
sudo mkdir /var/log/access/website
www.mynewsite.lk
然后我可以“重新加载/启动”我的 Apache 服务器,没有任何错误。并且我能够使用www.mysite.lk
我创建的“虚拟主机”链接运行我的 home.html 文件。