I installed mod_wsgi via apt-get install libapache2-mod-wsgi, and when that didn't work I built from source. I do think you're correct that it's running with an incorrect version. Here is my output from ldd mod_wsgi.so which is stored at /usr/lib/apache2/modules/
linux-vdso.so.1 => (0x00007fff881fe000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0132324000 ) libpython2.7.so.1.0 => /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 ( 0x00007f0131dbd000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f01319f6000) /lib64/ld-linux-x86-64.so.2 (0x00007f0132776000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f01317dd000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f01315d9000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f01313d5000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f01310cf000) Running >>> import sys >>> print sys.prefix /usr Still only getting the one error: "ImportError: No module named site" On Sunday, February 8, 2015 at 11:48:53 PM UTC-6, Graham Dumpleton wrote: > > > On 09/02/2015, at 4:31 PM, Jared Vacanti <[email protected] > <javascript:>> wrote: > > I've been working on this same error for the last few days, and can't seem > to find any way around it. I'm trying to use a virtual environment with my > python install in order to move my Flask app into production. When I > restart my webserver (sudo service apache2 restart), I don't get anything > reaction from the server when I point my browser to www.example.com. > > I'm using Ubuntu14.04, Apache/2.4.7 (Ubuntu), Python 2.7.6, & mod_wsgi > 4.4.8. This is a designated server, and when I run python manage.py > runserver (to launch a development environment) I can access the page at > www.example.com:5000 (served at 0:0:0:0:5000), so internally python is > working OK. > > I ran mod_wsgi-express start-server to test the wsgi installation and was > outputted > > Server URL : http://localhost:8000 > Server Root : /tmp/mod_wsgi-localhost:8000:1000 > Server Conf : /tmp/mod_wsgi-localhost:8000:1000/httpd.conf > Error Log File : /tmp/mod_wsgi-localhost:8000:1000/error_log > Request Capacity : 5 (1 process * 5 threads) > Request Timeout : 60 (seconds) > Queue Backlog : 100 (connections) > Queue Timeout : 45 (seconds) > Server Capacity : 20 (event/worker), 20 (prefork) > Server Backlog : 500 (connections) > Locale Setting : en_US.UTF-8 > > > Running pip install mod_wsgi and mod_wsgi-express is doing something > completely independent of your system Apache/mod_wsgi installation, which > is likely to have been set up by using OS packages and not using pip. > > How did you install mod_wsgi into your system Apache installation? > > Do you have any idea what version of Python the version of mod_wsgi > installed into your Apache installation is using? > > Can you find where the mod_wsgi.so is in your main Apache installation and > run: > > ldd mod_wsgi.so > > on it from within the directory where it is located? > > Which leads me to believe the installation is working find. Here are the > contents of both my WSGI Configuration: > > import sys, os > # activate_this = '/var/www/myApp/venv/bin/activate.py' > # execfile(activate_this, dict(__file__=activate_this)) > ALLDIRS = ['/var/www/myApp/venv/bin/activate_this.py'] > import site > # Remember original sys.path. > prev_sys_path = list(sys.path) > # Add each new site-packages directory. > for directory in ALLDIRS > site.addsitedir(directory) > # Reorder sys.path so new directories at the front. > new_sys_path = [] > for item in list(sys.path): > if item not in prev_sys_path: > new_sys_path.append(item) > sys.path.remove(item) > sys.path[:0] = new_sys_path > sys.path.insert(0, '/var/www/MyApp' > > > None of this mucking around with paths should be necessary if you are > using a reasonably modern version of mod_wsgi. There are better ways of > doing it from the Apache configuration for mod_wsgi. > > That said, most Linux distributions still ship hopelessly out of data > versions of mod_wsgi. Ubuntu 14.04 still ships mod_wsgi 3.4 from memory. If > you are lucky 3.5. > > os.chdir("/var/www/MyApp") > from MyApp import app as application > > and my Apache configuration: > > WSGIPythonHome /var/www/myApp/venv/bin/activate > > > This is wrong for a start, although mod_wsgi should really ignore it when > set wrongly. > > This is meant to be set to the value of sys.prefix your Python > installation outputs when you import sys from Python interactive > interpreter and print it. > > For example on my MacOS X box I get. That just happens to the the default > OS version of Python, so I wouldn't actually need to set it as would be > used already. > > >>> import sys > >>> print sys.prefix > /System/Library/Frameworks/Python.framework/Versions/2.7 > > <VirtualHost *:80> > ServerName example.com > ServerAdmin [email protected] > WSGIScriptAlias / /var/www/myApp/myApp.wsgi > <Directory /var/www/myApp/> > WSGIProcessGroup myApp > WSGIApplicationGroup %{GLOBAL > Order allow,deny > Allow from all > </Directory> > ErrorLog ${APACHE_LOG_DIR}/error.log > LogLevel warn > </VirtualHost> > > > I'm at a loss. When I run sudo service apache2 restart, and check my logs > in /var/log/apache2/error.log all I have is thousands of lines of "Import > Error: no module named site", because it is outputting it about once every > second. > > Any help or a reference to this problem would really be appreciated, > otherwise I'll make sure to try and update this if I figure it out in the > meantime. Thanks. > > > > Graham > -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/d/optout.
