我有一个包含破折号的域名,例如the-domain.com
,当我使用我的域名的服务器名称创建服务器块并重新启动 nginx 时,收到警告:
重新启动 nginx:nginx:[警告] 服务器名称“/var/www/domain.com/www/thedomain”在 /etc/nginx/sites-enabled/domain.com:56 nginx 中有奇怪的符号。
所以我将域名更改为我拥有的另一个域名,它仍然继续显示上述相同的错误。我不明白为什么当我将其更改为合适的域名时它会显示此信息?
这是重复的错误:
重新启动 nginx:nginx:[警告] 服务器名称“/var/www/domain.com/www/domaindir”在 /etc/nginx/sites-enabled/domain.com:56 nginx 中有奇怪的符号。
我的域配置文件如下所示:
server {
server_name domain.com;
root /var/www/domain.com/www;
index index.php index.htm index.html;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
access_log /var/www/domain.com/logs/access.log;
error_log /var/www/domain.com/logs/errors.log;
error_page 404 /index.php;
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/domain.com/www$fastcgi_script_name;
include fastcgi_params;
}
}
server {
server_name ~^(.+)\.domain\.com$;
set $file_path $1;
root /var/www/domain.com/www/$file_path;
index index.php index.htm index.html;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
access_log /var/www/domain.com/logs/access.log;
error_log /var/www/domain.com/logs/errors.log;
location /
{
try_files $uri /$uri /index.php?$args;
}
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/domain.com/www$fastcgi_script_name;
include fastcgi_params;
}
}
server {
server_name anotherdomain.org
root /var/www/domain.com/www/domaindir; # this is line 56
index index.php index.htm index.html;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
access_log /var/www/domain.com/logs/access.log;
error_log /var/www/domain.com/logs/errors.log;
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/domain.com/www$fastcgi_script_name;
include fastcgi_params;
}
}
导致出现此错误的问题是什么?
答案1
server_name
简单:第 54 行之后缺少“;” 。
答案2
对我来说,此错误的原因是服务器名称中包含“http://”。
即我改变了这个:
server {
listen <Server name>:80;
server_name <DNS name> http://localhost:28080;
...
对此:
server {
listen <Server name>:80;
server_name <DNS name> localhost:28080;
...