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.
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
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:
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.