Configuration Nginx:指定访问日志位置时是否可以使用$server\u name?

Configuration Nginx:指定访问日志位置时是否可以使用$server\u name?,configuration,nginx,webserver,access-log,Configuration,Nginx,Webserver,Access Log,我想为nginx虚拟主机编写一个如下所示的配置文件: server { listen 80; server_name www.my-domain-name.com; access_log /home/me/sites/$server_name/logs/access.log; error_log /home/me/sites/$server_name/logs/error.log; location /static { alias /

我想为nginx虚拟主机编写一个如下所示的配置文件:

server {
    listen 80;
    server_name www.my-domain-name.com;

    access_log /home/me/sites/$server_name/logs/access.log;
    error_log  /home/me/sites/$server_name/logs/error.log;

    location /static {
        alias /home/me/sites/$server_name/static;
    }

    location / {
        proxy_pass http://localhost:8000;
    }
}
使用
$server\u name
似乎对
位置/静态
有效,但对
访问日志
错误日志
无效--我做错什么了吗?或者这是不可能的?我能换个方式吗

[更新]-这是尝试重新加载nginx时的错误消息:


nginx:[emerg]open()“/home/me/sites/$server\u name/logs/error.log”失败(2:没有这样的文件或目录)

我也想这么做,但很明显,通过设计,nginx无法在
error\u log
命令中扩展变量,以防出现错误,并且无法获取日志文件名将其写入


他们的建议是使用一些程序来生成配置文件。您可以使用
sed
自动搜索和替换您自己的变量,并将输出放在nginx配置目录中。

。您需要使用$host变量#这里也不能使用host变量。对。最后,我想我应该使用
sed
在多个位置替换主机名,而不要介意重复。。。