Configuration Nginx:指定访问日志位置时是否可以使用$server\u name?
我想为nginx虚拟主机编写一个如下所示的配置文件: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 /
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
在多个位置替换主机名,而不要介意重复。。。