Thanks.  I originally started with a clean install of the new version and 
tried it untouched.  That didn't work.  

I have always meant to create a more repeatable install and config so I am 
going to try one of Bruno's scripts from the slices. That way as I make 
changes I'll capture them in the script.  

Still it is frustrating when it's unclear why something that worked 
subsequently broke.

On Tuesday, January 15, 2013 5:22:10 AM UTC-8, Niphlod wrote:
>
> using an extract of the latest version of the install script, this 
> works..... try to pin down the differences between this and your config....
>
> <uwsgi>
>  <socket>/tmp/web2py.socket</socket>
>  <pythonpath>/home/www-data/web2py/</pythonpath>
>  <mount>/=wsgihandler:application</mount>
>  <master/>
>  <processes>4</processes>
>  <harakiri>60</harakiri>
>  <reload-mercy>8</reload-mercy>
>  <cpu-affinity>1</cpu-affinity>
>  <stats>/tmp/stats.socket</stats>
>  <max-requests>2000</max-requests>
>  <limit-as>512</limit-as>
>  <reload-on-as>256</reload-on-as>
>  <reload-on-rss>192</reload-on-rss>
>  <uid>www-data</uid>
>  <gid>www-data</gid>
>  <no-orphans/>
> </uwsgi>
>
> The thing is ......
>
> path = os.path.dirname(os.path.abspath(__file__))
> os.chdir(path)
> sys.path = [path] + [p for p in sys.path if not p == path]
>
> is at the top of wsgihandler.py , so it chdir's to the dir where 
> wsgihandler is, and usually in that dir there's the gluon one holding all 
> the modules of web2py.
>
> Triple check and get back with your findings....
>
> Il giorno martedì 15 gennaio 2013 13:15:37 UTC+1, Lewis ha scritto:
>>
>> I tried to run the auto upgrade to the latest version.  Worked on 
>> Windows/Rocket several times.  Would not work on my linode vps because of 
>> various permissions problems.  Not a big deal.
>>
>> Uploaded and unzipped the zip file in /var/web2py.   Set permissions so 
>> that www-data is the group for all files with rw access.
>>
>> My constant result is uWSGI Error Python Application not found.  Prior to 
>> the update, this had never occurred. In the update, I did not modify my 
>> uWSGI config at all.
>>
>> Here is the uWSGI log:
>>
>>
>> *** Starting uWSGI 1.2.3 (32bit) on [Tue Jan 15 11:41:15 2013] ***
>> compiled with version: 4.6.1 on 17 May 2012 23:33:21
>> detected number of CPU cores: 4
>> current working directory: /
>> writing pidfile to /var/run/uwsgi.pid
>> detected binary path: /usr/local/bin/uwsgi
>> uWSGI running as root, you can use --uid/--gid/--chroot options
>> setgid() to 33
>> setuid() to 33
>> your memory page size is 4096 bytes
>> detected max file descriptor number: 1024
>> lock engine: pthread robust mutexes
>> uwsgi socket 0 bound to UNIX address /tmp/web2py.sock fd 3
>> Python version: 2.7.2+ (default, Oct  4 2011, 20:29:37)  [GCC 4.6.1]
>> *** Python threads support is disabled. You can enable it with 
>> --enable-threads ***
>> Python main interpreter initialized at 0x8d69538
>> your server socket listen backlog is limited to 100 connections
>> *** Operational MODE: preforking ***
>> added /var/web2py/ to pythonpath.
>> Traceback (most recent call last):
>>   File "/var/web2py/wsgihandler.py", line 33, in <module>
>>     import gluon.main
>> ImportError: No module named gluon.main
>> 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: 23798)
>> spawned uWSGI worker 1 (pid: 23799, cores: 1)
>> spawned uWSGI worker 2 (pid: 23800, cores: 1)
>> spawned uWSGI worker 3 (pid: 23801, cores: 1)
>> spawned uWSGI worker 4 (pid: 23802, cores: 1)
>>
>>
>> You can see in the log that the import of gluon.main fails.  I tried a 
>> very old hint from Massimo to hard code the path to web2py in 
>> wsgihandler.py.  This is what lines of wsgihandler.py up to that point look 
>> like:
>>
>> login as: root
>> ro...@96.126.123.83's password:
>> Welcome to Ubuntu 11.10 (GNU/Linux 3.0.18-linode43 i686)
>>
>>  * Documentation:  https://help.ubuntu.com/
>> #!/usr/bin/env python
>> # -*- coding: utf-8 -*-
>>
>> """
>> This file is part of the web2py Web Framework
>> Copyrighted by Massimo Di Pierro <mdip...@cs.depaul.edu>
>> License: LGPLv3 (http://www.gnu.org/licenses/lgpl.html)
>>
>>
>> This is a WSGI handler for Apache
>> Requires apache+mod_wsgi.
>>
>> In httpd.conf put something like:
>>
>>     LoadModule wsgi_module modules/mod_wsgi.so
>>     WSGIScriptAlias / /path/to/wsgihandler.py
>>
>> """
>>
>> # change these parameters as required
>> LOGGING = False
>> SOFTCRON = False
>>
>> import sys
>> import os
>>
>> path = '/var/web2py'
>> os.chdir(path)
>> sys.path = [path] + [p for p in sys.path if not p == path]
>>
>> sys.stdout = sys.stderr
>>
>> import gluon.main
>>
>> if LOGGING:
>>     application = gluon.main.appfactory(wsgiapp=gluon.main.wsgibase,
>>                                         logfilename='httpserver.log',
>>                                         profilerfilename=None)
>> else:
>>     application = gluon.main.wsgibase
>>
>> if SOFTCRON:
>>     from gluon.settings import global_settings
>>     global_settings.web2py_crontype = 'soft'
>>
>>
>>
>> I also set the sys.path for python to include both web2py and 
>> web2py/gluon in my uwsgi init script: 
>>  PYTHONPATH=/var/web2py:/var/web2py/gluon.  After doing this the uwsgi log 
>> reports added /var/web2py:/varweb2py/gluon to pythonpath.  This resulted in 
>> a different import error--now it can't find wsgihandler ("ImportError: No 
>> module named wsgihandler").
>>
>> This is very frustrating.  Everything worked perfectly with earlier 
>> version of web2py.  Config is just massively fragile with so many moving 
>> parts.
>>
>> Sorry for the long post.  Thanks for your help.
>>
>>
>>
>>
>>

-- 



Reply via email to