The following line (with parameters replaced) in upstarts script block
does work for me

exec /path/to/virtualenv/bin/gunicorn --pid=$pid --name="$name"
--user=$name --group=$name \
--access-logfile=$log_dir/access.log
--error-logfile=$log_dir/error.log $config 2\
>>$log_dir/error.log

The user account I run gunicorn under is not www-data, though, and
does have a shell.


On Thu, Jul 5, 2012 at 5:32 AM, Mark Huang <zhengha...@gmail.com> wrote:
> Hi Everyone,
>
> I currently have 2 servers A and B, both running on Debian.  Server A was
> setup 1 month ago with Gunicorn 1.4.3.  I created a new linux user called
> 'web', with shell access and a home directory.  The virutalenv is managed by
> virtualenvwrapper in the home directory.  So what I would do to start my
> pyramid application would be to login as root and switch to the 'web' user
> (su - web) and run gunicorn like so:
>
>     gunicorn_paster -w 5 -t 80 --log-file=/somewhere/with/logs -D
> production.ini
>
> This works!
>
> Server B was setup yesterday.  It is using Gunicorn 1.4.5.  My boss wants me
> to use the default www-data user and group instead of creating a separate
> user and group.  So I created my virtualenv to run my pyramid application as
> the 'root' user.  All of my code and logs live in the /srv directory and
> sub-directories.  I gave chown-ed the srv directory with www-data:www-data.
> Now....when I run gunicorn paster, I had to specify a user and group to run
> as using the '-u' and '-g' flag as stated in their documentation:
>
>     gunicorn_paster -w 5 -t 80 --log-file=/somewhere/with/logs -u www-data
> -g www-data -D production.ini
>
> However, this gave an error.  I added the --log-level=debug into it and the
> error says:
>
> 2012-07-05 11:13:35 [29578] [INFO] Worker exiting (pid: 29578)
> /paste/deploy/loadwsgi.py", line 296, in loadcontext
>   File
> "/root/.virtualenvs/rhino_env/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py",
> line 320, in _loadconfig
>   File
> "/root/.virtualenvs/rhino_env/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py",
> line 454, in get_context
>   File
> "/root/.virtualenvs/rhino_env/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py",
> line 476, in _context_from_use
>   File
> "/root/.virtualenvs/rhino_env/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py",
> line 406, in get_context
>   File
> "/root/.virtualenvs/rhino_env/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py",
> line 296, in loadcontext
>   File
> "/root/.virtualenvs/rhino_env/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py",
> line 328, in _loadegg
>   File
> "/root/.virtualenvs/rhino_env/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py",
> line 620, in get_context
>   File
> "/root/.virtualenvs/rhino_env/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py",
> line 646, in find_egg_entry_point
>   File
> "/root/.virtualenvs/rhino_env/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py",
> line 1954, in load
>   File "/srv/web/prod/rhino/rhino/__init__.py", line 2, in <module>
>     from pyramid.config import Configurator
> ImportError: No module named pyramid.config
>
> The really weird thing is that, if I open up a python console within my
> virtualenv, I am able to import that module!!  What's going on?  I suspect
> it is permissions related or something and that I am unable to run Gunicorn
> as a non root user (without shell access).
>
> Regards,
> Mark Huang
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "pylons-discuss" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/pylons-discuss/-/8Tjcpoufp5AJ.
> To post to this group, send email to pylons-discuss@googlegroups.com.
> To unsubscribe from this group, send email to
> pylons-discuss+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/pylons-discuss?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to pylons-discuss@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to