Socket address relative to prefix

Hi there.

I’m using nginx (v0.8.53 on Arch Linux) for web application development
and testing, and I’ve encountered a problem. I’ll specify the problem
first and then explain why I ran into it.

Problem:
Is there a way to specify a unix socket address (as in “fcgi_pass
unix:/path/to/socket”) relative to nginx prefix? I’ve tried using
“fcgi_pass: unix:relative/path”, but nginx still interpreted it as
absolute path (is this a bug?).

Rationale:
I’d like to be able to specify socket address relative to prefix because
of the setup I use - I run nginx (as well as php fastcgi) as
non-privileged user and keep all the relevant files inside my home dir.
This is mainly for convenience, so that I don’t have to go root
everytime I want to tweak some settings or start and stop servers. I use
only relative paths in nginx.conf, and start nginx with a wrapper script
that sets nginx prefix to the directory it resides in. That way I don’t
have to update config files everytime I move (or copy) this directory.

Any suggestions?

Regards,
Radek

Posted at Nginx Forum:

I know this as posted ages ago however its the number 1 post in google
and
has no answer.

NGINX uses a path relative to where it was started from when it comes to
reading sockets at least. I am unsure if this affects additional
functionality.

At first I thought it was reading from the compile prefix but this
doesnt
seem to be the case and I also dont see any documentation on this.

Here is an example.

Starting NGINX manually from the NGINX folder
cd ~/nginx; sbin/nginx

Now all SOCKET paths are relative to ~/nginx

However;
cd ~; nginx/sbin/nginx

SOCKET paths are now relative to ~

Just figured I would help document.

Posted at Nginx Forum:

Thanks for answering :slight_smile:

By the way, excellent timing - I have just returned, after long break,
to
experiments with web development, so I’ll definitely make use of this
knowledge.

Back then I worked around this problem by preprocessing config files
each
time the service was started, and I’ll probably still have to to this
for
php and mysql. But it’s nice that I won’t need it for Nginx anymore.

Posted at Nginx Forum: