Thank you both for your replies. I now have a better understanding of the 
wsgi framework and I am using the error log to my advantage. I was able to 
find an error in my httpd.conf - I was using Apache 2.2 syntax in my 
directives, now I've updated it with the "Require all granted" and I am 
getting the server to respond with the wsgi script, which I have named 
mywebtool.wsgi - the code for which I grabbed from a stack overflow post:

def application(environ, start_response):
    status = '200 OK'
    output = b'Hello World!\n'
    response_headers = [('Content-type', 'text/plain'),
                ('Content-Length', str(len(output)))]
    start_response(status, response_headers)
    return [output]


I decided to do this to verify the first 2/3 of the stack were working 
(Apache, mod_wsgi). 

My original wsgi script taken from the flask mod_wsgi docs 
(http://flask.pocoo.org/docs/1.0/deploying/mod_wsgi/) is simple:

import sys

sys.path.insert(0, '/var/www/FLASKAPPS')

from mywebtool import app as application




and points to the Hello World python app I was calling originally (again, 
got this basic python script from a tutorial at 
https://www.bogotobogo.com/python/Flask/Python_Flask_HelloWorld_App_with_Apache_WSGI_Ubuntu14.php):


 

$ cat mywebtool.py
from flask import Flask
 
app = Flask(__name__)
 
@app.route("/")
def hello():
    return "Hello world!"
 
if __name__ == "__main__":
    app.run()


But, this is failing. When I tailed the Apache error log, I saw:

[Mon Oct 29 15:53:08.108746 2018] [wsgi:error] [pid 20474] [client 
185.26.34.125:53717] ImportError: No module named mywebtool
[Mon Oct 29 15:55:30.445940 2018] [wsgi:error] [pid 20476] [client 
60.248.94.241:50359] mod_wsgi (pid=20476): Failed to exec Python script 
file '/var/www/wsgi-scripts/mywebtool.wsgi'.
[Mon Oct 29 15:55:30.446038 2018] [wsgi:error] [pid 20476] [client 
60.248.94.241:50359] mod_wsgi (pid=20476): Exception occurred processing 
WSGI script '/var/www/wsgi-scripts/mywebtool.wsgi'.
[Mon Oct 29 15:55:30.446059 2018] [wsgi:error] [pid 20476] [client 
60.248.94.241:50359] Traceback (most recent call last):
[Mon Oct 29 15:55:30.446084 2018] [wsgi:error] [pid 20476] [client 
60.248.94.241:50359]   File "/var/www/wsgi-scripts/mywebtool.wsgi", line 1, 
in <module>
[Mon Oct 29 15:55:30.446150 2018] [wsgi:error] [pid 20476] [client 
60.248.94.241:50359]     from mywebtool import app as application
[Mon Oct 29 15:55:30.446173 2018] [wsgi:error] [pid 20476] [client 
60.248.94.241:50359] ImportError: No module named mywebtool


Obviously, I named my python file "mywebtool.py" as I say in the wsgi 
script, which leads me to two potential conclusions - 1. I'm not properly 
referring to the .py in the wsgi script, or 2. my python script is not 
executing due to a problem with python, or  with the python code itself.

I'm optimistic I'm getting closer here...

 

 


On Monday, October 29, 2018 at 4:00:21 PM UTC-7, Graham Dumpleton wrote:
>
> I'd agree on that except as noted.
>
> If the error message from the Apache error log is shown, along with 
> configuration for your WSGI application in Apache config, as well as saying 
> where your Python application code is located, that would help to give 
> better idea of what is going on.
>
> On 30 Oct 2018, at 9:57 am, Peter Lai <pete...@pw.utc.com <javascript:>> 
> wrote:
>
> 403 usually means that the directory to which you are hosting the .wsgi 
> isn't configured with:
>
> <Directory /path/to/your/app.wsgi>
>
>
> Except that the argument is a directory path, not full path to WSGI script 
> file.
>
>     AllowOverride None
>     Require all granted
> </Directory>
>
> This is required even though you have configured WSGIScriptAlias 
> /web/path/to/app /path/to/your/app.wsgi
>
>
> On Monday, October 29, 2018 at 6:52:29 PM UTC-4, wc wrote:
>>
>> Hello,
>>
>> My colleague would like to get a Python Flask app running on our new 
>> sever. I've been scratching my head for several days and doing lots of 
>> googling to help me get just a simple hello world wsgi app to run on my 
>> FreeBSD 11.2 server. I've followed some online tutorials to make a .py 
>> file, a .wsgi file and modify the http.conf file to add a virtual host.
>>
>> When I navigate to our site, I get a 403 forbidden error.
>>
>> I'm getting lost... but I've gone back to this checklist I found (
>> https://modwsgi.readthedocs.io/en/develop/user-guides/checking-your-installation.html)
>>  
>> to see what I might be missing.
>>
>> I see that in Apache (version 2.4) the wsgi_module is installed when I 
>> run httpd -M
>>
>> but when I attempt ldd mod_wsgi.so I get the following:
>>
>> ldd: mod_wsgi.so: No such file or directory
>>
>> At this point, I think that Python and mod_wsgi are not linked, but I am 
>> unsure. I have two versions of Python installed, 2.7 and 3.6 and I 
>> installed and updated everything using pkg with the exception of the 
>> wsgi_module, which I installed using pip2.7.
>>
>> I'm not sure what I'm missing and if I should go back and try to 
>> uninstall, then reinstall everything from scratch, or if there's something 
>> simple I'm missing. Anyone have a similar experience or any insight on 
>> this? Also, the various tutorials I've read on deploying 
>> Dash/Flask/mod_wsgi apps seem to vary in approach and can be somewhat vague 
>> on some of the steps. I'm not sure which is the best for me. One area 
>> that's not super clear to me is whether virtual host directives for 
>> Apache2.4 should be added directly to the httpd.conf virtual hosts section, 
>> or if it should be in a separate virtual hosts file.
>>
>> Any help anyone could offer me would be greatly appreciated!!! Thanks!
>>
>>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to modwsgi+u...@googlegroups.com <javascript:>.
> To post to this group, send email to mod...@googlegroups.com <javascript:>
> .
> Visit this group at https://groups.google.com/group/modwsgi.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to modwsgi+unsubscr...@googlegroups.com.
To post to this group, send email to modwsgi@googlegroups.com.
Visit this group at https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to