Hi Ivan,

I followed this howto, and when I try to access the application I get
an internal error thrown by web2py:
Ticket issued: unknown

Any idea how to read contents of this ticket to debug?

On Jan 15, 3:14 am, Ivan P <[email protected]> wrote:
> Inspired by Phyo Arkar's howto on setting up web2py with Cherokee and
> FCGI I tried the setup, but was somewhat unsatisfied with the fcgi
> method and decided to try uWSGI. I am happy I did so, since it proved
> to be real easy and uWSGI is a real powerhouse and deserves attention
> of the whole python webdev community. On to the howto.
>
> I. Compile from source and run the latest uWSGI, 0.9.3 in my case
> (available herehttp://projects.unbit.it/uwsgi/wiki).
> 1. Download the source from and unzip.
>
> 2. To compile you must install packages python-dev and libxml2-dev (at
> least thats what they are called on a debian-based system)
>
> 3. When compiling simply run pick a makefile which matches your OS and
> python version and run something like "make -f Makefile.Linux.Py26".
> This produces only one executable named uwsgi26, where 26 is my python
> version. You can put it in /usr/local/bin.
>
> 5. To run it, you have two options:
>
> 5a) Create an xml file and call it, for example, config.xml. Put
> something like this in it:
> <uwsgi>
>     <pythonpath>/var/web2py/</pythonpath>
>     <app mountpoint="/">
>     <script>wsgihandler</script>
>     </app>
> </uwsgi>
> In this file "pythonpath" is where your web2py directory is and
> "script" is the file you want to run, in this case its web2py's
> "wsgihandler.py". Now run uWSGI like this, but replace "www-data" with
> the owner of your web2py directory, if its the same as your current
> user omit the sudo command:
> sudo -u www-data uwsgi26 -s /tmp/uwsgi.sock -C -x config.xml
> Why you need to change user is because web2py writes things (session
> data for example) to disc during execution, so the uwsgi process,
> which runs the web2py code, has to be the owner of the directories
> that contain the framework. Note that uwsgi now opened a socket we
> called "/tmp/uwsgi.sock" About other options consult the uwsgi manual
> or "uwsgi -h".
>
> 5b) You can omit the xml file and pass all the info via command line,
> doing that is easy, so consult the uwsgi docs :)
>
> II. Setting up cherokee (0.99.37 in my case).
> 1. Install it, run cherokee-admin, go to localhost:9090
>
> 2. Open "Information Sources" and create a new one with these
> parameters:
> Nick: web2py
> Connection: /tmp/uwsgi.sock
> Interpreter: uwsgi26 -s /tmp/uwsgi.sock -C -x /path/to/config.xml
> The interpreter line is why it is a good idea to have your web2py
> source owned by www-data or the Cherokee server's user - when cherokee
> runs it, you can be sure that owners of the sources and process match.
> And of  course put the correct path in.
>
> 3. Go to "Virtual Servers" and edit the default one, or you can create
> a new one, but make sure you give it a domain name to avoid conflict
> (not really sure what happens when they conflict).
>
> 4. Go to the "Behavior" section and edit the "Default" behavior.
>
> 5. Set the "Handler" to uWSGI and on the bottom set the information
> source to "web2py"
>
> 6. Pick "Hard restart" from the dropdown on the left and click "Save".
> TO PREVENT HEADACHE READ THIS: I seem to get inconsistent results with
> these restarts, so if you're doing production it seems to me that one
> should restart the server manualy (via /etc/init.d/cherokee restart,
> that is). Or maybe I should RTFM.
>
> 6. Go to localhost and BAM! (or at least I hope its a bam). veeery
> easy if all goes smooth.
>
> "But wait, what about url rewriting?" was my thought, and this caused
> much confusion, so I'll add a section on that.
>
> III. Doing some redirection (I'll give few examples due to poor
> knowledge of regex).
> Lets redirect "localhost/" to "/myapp/cntrlr/index"
> 1. Go back to the "Behavior" section of your server.
>
> 2. Add a new rule and set it's type to "Regular Expression" and set
> the regular expression to "^/$", this simply matches "localhost/" or
> "localhost", nothing more, nothing less.
>
> 3. Go to the "Handler" section and set the rule to "Redirect" with
> these parameters
> Type: Internal
> Regular Expression:     (yes, blank)
> Substitution: /myapp/cntrlr/index
> The regular expression is blank because for this scenario we did all
> the matching while defining a new behavior, you can combine the two in
> creative ways.
>
> That's about all. Your imagination should take care of the rest. I,
> for example, put my static files separately from the framework by
> creating a behavior that points to "/static" and picking "static
> files" as the handler.
> Thanks to Massimo DiPierro for web2py and Phyo Arkar for his cherokee
> howto.
> I'm not much of a writer so feel free to ask for clarifications.

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to