Figured it out:

Niplod you may be proud.  I ran strace in the in the in the service:

[Unit]
Description=uWSGI Emperor Service
After=syslog.target

[Service]
EnvironmentFile=-/etc/sysconfig/uwsgi
ExecStartPre=/bin/mkdir -p /run/uwsgi
ExecStartPre=/bin/chown uwsgi:uwsgi /run/uwsgi
ExecStart=/bin/strace -o /tmp/uwsgi.service /usr/sbin/uwsgi --ini 
/etc/uwsgi.ini
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT
Restart=always
Type=notify
StandardError=syslog
NotifyAccess=all

[Install]
WantedBy=multi-user.target



-------------------------------------------
Which exposed this as i trolled through tons to find some keywords pop out 
at:

cat /tmp/uwsgi.service |wc -l
15031

cat /tmp/uwsgi.service |grep "Permission denied"
openat(AT_FDCWD, "/opt/www-data/web2py/site-packages", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 EACCES (Permission denied)
openat(AT_FDCWD, "/opt/www-data/web2py/gluon", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 EACCES (Permission denied)
open("/opt/www-data/web2py/VERSION", O_RDONLY) = -1 EACCES (Permission 
denied)

so i: 
chown u+r /opt/www-data/web2py/VERSION
chown u+r /opt/www-data/web2py/site-packages
chown u+r /opt/www-data/web2py/gluon

restarted ( systemctl restart uwsgi.service ) uwsgi

Loaded perfectly.

Web2py now running as limited user "uwsgi" and not root!!!!!!!    WOOHOO






On Monday, July 18, 2016 at 4:44:57 PM UTC-7, Michael Messmer wrote:
>
> Environment
> nginx & uwsgi
> Rhel7
> web2py: Version 2.14.6-stable+timestamp.2016.05.09.19.18.48
> (Running on Unknown, Python 2.7.5)
>
> ---
> uwsgi.ini file
> ---
> [uwsgi]
> master = true
> processes = 4
> max-requests = 50
>
> enable-threads = true
>
> chdir  = /opt/www-data/web2py
> module = wsgihandler:application
>
> plugin = python
> logto  = /var/log/nginx/uwsgi.log
>
> #gid = uwsgi
> #uid = uwsgi 
>
> socket = /run/uwsgi/web2py.sock
> chown-socket = uwsgi:nginx
> chmod-socket = 666
> vacuum = true
>
>
>
>
>
>
>
> ---
> running as root user & working
> ---
>
> *** Starting uWSGI 2.0.12 (64bit) on [Mon Jul 18 16:38:43 2016] ***
> compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-4) on 02 January 2016 
> 19:52:54
> os: Linux-3.10.0-327.22.2.el7.x86_64 #1 SMP Thu Jun 9 10:09:10 EDT 2016
> nodename: n01
> machine: x86_64
> clock source: unix
> pcre jit disabled
> detected number of CPU cores: 8
> current working directory: /
> detected binary path: /usr/sbin/uwsgi
> chdir() to /opt/www-data/web2py
> your processes number limit is 63467
> your memory page size is 4096 bytes
> detected max file descriptor number: 1024
> lock engine: pthread robust mutexes
> thunder lock: disabled (you can enable it with --thunder-lock)
> uwsgi socket 0 bound to UNIX address /run/uwsgi/web2py.sock fd 4
> uWSGI running as root, you can use --uid/--gid/--chroot options
> *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
> Python version: 2.7.5 (default, Oct 11 2015, 17:47:16)  [GCC 4.8.3 
> 20140911 (Red Hat 4.8.3-9)]
> Python main interpreter initialized at 0xaa8ec0
> python threads support enabled
> your server socket listen backlog is limited to 100 connections
> your mercy for graceful operations on workers is 60 seconds
> mapped 363840 bytes (355 KB) for 4 cores
> *** Operational MODE: preforking ***
> WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0xaa8ec0 pid: 
> 7140 (default app)
> *** uWSGI is running in multiple interpreter mode ***
> spawned uWSGI master process (pid: 7140)
> spawned uWSGI worker 1 (pid: 7154, cores: 1)
> spawned uWSGI worker 2 (pid: 7155, cores: 1)
> spawned uWSGI worker 3 (pid: 7156, cores: 1)
> spawned uWSGI worker 4 (pid: 7157, cores: 1)
>
>
>
>
> ----
> running as uwsgi user & not working
> ----
>
> *** Starting uWSGI 2.0.12 (64bit) on [Mon Jul 18 16:31:51 2016] ***
> compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-4) on 02 January 2016 
> 19:52:54
> os: Linux-3.10.0-327.22.2.el7.x86_64 #1 SMP Thu Jun 9 10:09:10 EDT 2016
> nodename: n01
> machine: x86_64
> clock source: unix
> pcre jit disabled
> detected number of CPU cores: 8
> current working directory: /
> detected binary path: /usr/sbin/uwsgi
> chdir() to /opt/www-data/web2py
> your processes number limit is 63467
> your memory page size is 4096 bytes
> detected max file descriptor number: 1024
> lock engine: pthread robust mutexes
> thunder lock: disabled (you can enable it with --thunder-lock)
> uwsgi socket 0 bound to UNIX address /run/uwsgi/web2py.sock fd 4
> setgid() to 168
> set additional group 169 (nginx)
> setuid() to 168
> Python version: 2.7.5 (default, Oct 11 2015, 17:47:16)  [GCC 4.8.3 
> 20140911 (Red Hat 4.8.3-9)]
> Python main interpreter initialized at 0x1692ef0
> python threads support enabled
> your server socket listen backlog is limited to 100 connections
> your mercy for graceful operations on workers is 60 seconds
> mapped 363840 bytes (355 KB) for 4 cores
> *** Operational MODE: preforking ***
> Traceback (most recent call last):
>   File "./wsgihandler.py", line 37, in <module>
>     import gluon.main
>   File "/opt/www-data/web2py/gluon/main.py", line 112, in <module>
>     raise RuntimeError("Cannot determine web2py version")
> RuntimeError: Cannot determine web2py version
> unable to load app 0 (mountpoint='') (callable not found or import error)
> *** no app loaded. going in full dynamic mode ***
> *** uWSGI is running in multiple interpreter mode ***
> spawned uWSGI master process (pid: 7046)
> spawned uWSGI worker 1 (pid: 7058, cores: 1)
> spawned uWSGI worker 2 (pid: 7059, cores: 1)
> spawned uWSGI worker 3 (pid: 7060, cores: 1)
> spawned uWSGI worker 4 (pid: 7061, cores: 1)
>
>
>
>
>
> I chown'ed  all /opt/www-data/web2py to uwsgi:uwsgi
> Still no dice.  Suggestions on what im doing wrong and why im getting:
> ------------------
>  File "/opt/www-data/web2py/gluon/main.py", line 112, in <module>
>     raise RuntimeError("Cannot determine web2py version")
> ------------------
> When the uid for uwsgi.ini file is set to uwsgi instead of commented out 
> and running as root?
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to