gpt4 book ai didi

deployment - Nginx:如何为 Nginx 配置中的路径提供变量?

转载 作者:行者123 更新时间:2023-12-05 01:16:33 25 4
gpt4 key购买 nike

  • 我有一个 Web 应用程序,我在本地测试并部署在 EC2 实例上
  • 我正在使用 local nginx 配置,看起来像
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,它可以读取特定机器上的变量来创建路径,这样我就不必在每台机器上更改它并且代码是可重用的

谢谢

最佳答案

两种方式:

  1. 正如上面所建议的,符号链接(symbolic link)是一种在机器上匹配路径的好方法,同时将代码保存在一个地方。符号链接(symbolic link)基本上是一个别名;如果/link 是/file 的符号链接(symbolic link),当您请求/link 时,您将得到/file。

    ln -s /file /link
  2. 使用包含语句。在 nginx 中,您可以 include variables.conf;。例如

    nginx.conf:

    include variables.conf

    ...

    http {
    listen $port;
    ...
    }

    变量配置文件:

    set $foo "Something";
    set $bar "Else";
    set $port 80;

关于deployment - Nginx:如何为 Nginx 配置中的路径提供变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12554964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com