获取nginx配置文件中包含ngxin配置文件的目录的绝对路径

时间:2013-12-16 11:41:50

标签: python configuration nginx uwsgi

我使用nginx + uwsgi来部署我的wsgi应用。我必须使用unix sock文件来进行nginx和uwsgi的通信。

配置如下:

location / {
    include uwsgi_params;
    uwsgi_pass unix:/path/to/uwsgi.sock;
}

但我的项目的父路径是可变的,所以我不能使用固定的绝对路径。 我也不能使用相对路径。因为pwd也是可变的。

所以我喜欢nginx配置文件中的任何变量,例如$hostname,它们可以指向包含nginx配置文件的derectory的绝对路径。但我发现没有这样的变数。

有什么好主意吗?

PS:我也不想使用0.0.0.0:8000这样的套接字来进行nginx和uwsgi的通信。用户运行服务器不是root用户。我想把套接字文件放在项目目录中。

1 个答案:

答案 0 :(得分:0)

我不是nginx的专家,但是;

我的建议是使用标准的UNIX方法并将UNIX套接字存储在两个标准位置之一:

  • /var/run
  • /tmp

如果为用户存储UNIX套接字,我会将它们存储在:

  • $HOME/var/run - 并将此文件记录给您的用户。

这类似于Apache的userdir选项如何工作,例如,通过/home/prologic/public_html提供GET ~/prologic请求的文件。