Want to improve this question? Update the question so it's on-topic for Stack Overflow.
开发者_JAVA技巧Closed 10 years ago.
Improve this questionI'm attempting to deploy a flask web app I've developed using cherokee and uwsgi. I got cherokee and uwsgi installed and working (i think uwsgi works), but when I configure the app in cherokee, i just get an error saying uWSGI Error wsgi application not found. I used an xml config file (I think you need to with cherokee), and that contains this:
<uwsgi>
    <pythonpath>/srv/mobile-site/app/</pythonpath>
    <app mountpoint="/">
        <module>mobilecms</module>
        <callable>app</callable>
    </app>
</uwsgi>
My flask app is obviouly in the /srv/mobile-site/app/ folder with the main script being mobilecms.py.
Is there something wrong with this file? Would permission errors cause this? Thanks in advance for any help!
Roberto's suggestion is a good one; it will help diagnose where the error is occurring (i.e. whether it's uWSGI or Cherokee).
I've also recently fought to get uWSGI and Cherokee to work together. I ended up configuring the uWSGI source in Cherokee manually:
- In Cherokee Admin, under the "Sources" tab, add a new source with nickname "uWSGI Source" and socket "/tmp/foo.sock"
- Change the type to "Local Interpreter"
- In the interpreter field, enter: /usr/local/bin/uwsgi -x /path/to/uwsgiconfig.xml
 
- In rule management for the virtual server, click to add a new behaviour rule.
- Choose a manual configuration of type "Directory" with a path of "/"
- Set the handler to "uWSGI"
- Scroll to the bottom and set "Round Robin" for the balancer
- Add the "uWSGI Source" information source
 
- Save changes and restart Cherokee
In my uWSGI config file I have something like this (adapted to your example):
<uwsgi>
    <chdir>/srv/mobile-site/app/</chdir>
    <wsgi-file>/srv/mobile-site/app/mobilecms.py</wsgi-file>
    <callable>app</callable>
    <socket>/tmp/foo.sock</socket>
    <chmod-socket>666</chmod-socket>
    <master />
    <processes>1</processes>
    <disable-logging /><!-- Errors are still logged; this just disables request logging which Cherokee takes care of -->
    <vacuum />
    <no-orphans />
</uwsgi>
Note that the Cherokee uWSGI wizard doesn't accept this as a valid configuration file (hence the manual configuration).
Always try uWSGI deploy without a webserver, before going in production.
uwsgi -x <xmlfile>
It will print a lot of information/errors
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论