简洁版本
尝试按照教程,在旧计算机上使用虚拟主机通过链接到同一 IP 地址的不同域在我的家庭网络上提供网络内容。
按照教程操作后,我收到错误:
$sudo service httpd restart $Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details
按照指示检查了 systemctl 和 journalctl 的输出、阅读了论坛并浏览了内容后,发现在 /etc/httpd/conf/httpd.conf 中注释掉以下行可以启动 httpd:
IncludeOptional sites-enabled/*.conf
我认为与 sites-enabled 符号链接的目录有问题,但无法找出与本教程不符的地方。所有信息都发布在下面。
必要信息
Apache 版本:2.4.6
/etc/httpd/sites-available 中的文件(sites-enabled 符号链接到此目录)
- example2.com.conf
- 例如.com.conf
example.com.conf 内容
<VirtualHost 192.168.1.4:80> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example.com/public_html ErrorLog /var/www/example.com/error.log CustomLog /var/www/example.com/requests.log combined </VirtualHost>
example2.com.conf 的内容相同,只是用“example2”替换了“example”的每个瞬间
请让我知道解决此问题所需的任何其他文件或输出。
答案1
类似这样的操作应该可以正常工作 - 确保文件名以 .conf 结尾。我为我和我的朋友托管了不少域名,因此DocumentRoot
每个域名的 都是/var/www-domain
。我命名文件/etc/apache2/sites-available/domain.conf
,然后将其链接或使用a2ensite
,然后重新启动/重新加载 apache。确保创建目录/var/www-example.com
!最后,apache2ctl -S
将显示/测试您的配置
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www-example.com
<directory /var/www-example.com>
Options All
AllowOverride All
Require all granted
</directory>
</VirtualHost>
答案2
发生这种情况是因为您的某个配置文件中存在错误。运行apachectl -t
以查找它。