我编辑了文件 /etc/apache2/sites-enabled/000-default,然后尝试重新启动我的 apache 服务器,但出现以下错误:
Syntax error on line 20 of /etc/apache2/sites-enabled/000-default.save:
unknown order
Action 'configtest' failed.
000-default 文件如下所示:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
答案1
编辑需要简单说明的是,如果配置文件由于更改而阻塞,避免 Apache 服务器受到干扰的一种方法是先让reload
Apache 查看它如何解析配置。
sudo service apache2 reload
其优点reload
是它会尝试重新加载配置文件中的设置,但不会强制服务器停止或重新启动。如果出现故障,它会发出警报,但您的 Apache 服务器仍在顺利运行。如果一切reload
正常,您可以restart
根据需要强制 Apache 设置。
现在,针对您的问题,错误指出:
/etc/apache2/sites-enabled/ 第 20 行语法错误000-默认.保存:未知顺序操作‘configtest’失败。
但你指的是:
/etc/apache2/sites-enabled/000-默认
似乎您在编辑文件时出现了问题,因为当发生崩溃或以其他非正常方式退出编辑器时就会显示000-default
该文件。.save
此外,应该只有一个000-default
,而不是一个000-default.save
。
我会查看这个文件:
/etc/apache2/sites-available/000-default
看起来对吗?不对,请看这里:
/etc/apache2/sites-available/000-default.save
000-default
看起来对吗?那么将的内容替换为000-default.save
?
一旦解决了sites-available
问题,请转到此目录:
/etc/apache2/sites-enabled/
然后清理它。删除所有名为000-default
或的文件,并创建一个从 到的000-default.save
正确符号链接,如下所示:sites-available
sites-enabled
sudo ln -s /etc/apache2/sites-available/default /etc/apache2/sites-enabled/000-default
sites-available
请注意,在文件中命名时,default
但当它被链接到文件中时,sites-enabled
它会被命名000-default
以设置加载顺序。