location /static/ { alias /home/me/code/p/python/myapp/static/; # if asset versioning is used if ($query_string) { expires max; } } location /templates/ { alias /home/me/code/p/python/app/templates/; # if asset versioning is used if ($query_string) { expires max; } }
在EC2实例上,唯一可以改变的是路径,例如
/home/me/code/p/python/myapp/static/
至/User/ubuntu/code/p/python/myapp/static/
~/code/p/python/myapp/static/
但这不起作用,它显示了路径
/etc/nginx/~/code/p/python/myapp/static/
哪个不对
问题 - 是否可以在nginx conf中包含环境变量?
我想要什么 - Nginx conf,它可以读取特定机器上的变量来创建路径,这样我就不必每台机器更改它,代码可以重复使用
谢谢
答案 0 :(得分:0)
两种方法:
如上所述,符号链接是在机器上进行路径匹配的一种非常好的方法,同时将代码保存在一个地方。符号链接基本上是别名; if / link是/ file的符号链接,当你要求/ link时,你会得到/ file。
ln -s /file /link
使用include语句。在nginx中,您可以include variables.conf;
。 E.g。
nginx.conf:
include variables.conf
...
http {
listen $port;
...
}
variables.conf:
set $foo "Something";
set $bar "Else";
set $port 80;