nevermind! This error is specific to the django debug toolbar. I'm seeing 
the app on the web page, albeit with some errors I'll have to workthrough.
Thanks again for your help Graham. much appreciated.

On Wednesday, February 7, 2018 at 5:02:08 PM UTC-8, David Cansler wrote:
>
> Thanks, I should have caught that. I've got a new error:
> [Wed Feb 07 17:54:27 2018] [info] Server built: Oct 19 2017 16:43:38
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14998): Initializing 
> Python.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14997): Initializing 
> Python.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14996): Initializing 
> Python.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14999): Initializing 
> Python.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=15000): Initializing 
> Python.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=15002): Initializing 
> Python.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=15003): Initializing 
> Python.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=15001): Initializing 
> Python.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14995): Attach interpreter 
> ''.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=15000): Attach interpreter 
> ''.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14998): Attach interpreter 
> ''.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14996): Attach interpreter 
> ''.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=15002): Attach interpreter 
> ''.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14999): Attach interpreter 
> ''.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14997): Attach interpreter 
> ''.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=15003): Attach interpreter 
> ''.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=15001): Attach interpreter 
> ''.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14995): Adding 
> '/usr/local/webapps' to path.
> [Wed Feb 07 17:54:27 2018] [info] mod_wsgi (pid=14995): Adding 
> '/usr/local/webapps/gov_salaries' to path.
> [Wed Feb 07 17:55:06 2018] [info] [client 50.202.228.131] mod_wsgi 
> (pid=14995, process='salaries', application=''): Loading WSGI script 
> '/usr/local/webapps/gov_salaries/config/wsgi.py'.
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131] mod_wsgi 
> (pid=14995): Target WSGI script 
> '/usr/local/webapps/gov_salaries/config/wsgi.py' cannot be loaded as Python 
> module.
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131] mod_wsgi 
> (pid=14995): Exception occurred processing WSGI script 
> '/usr/local/webapps/gov_salaries/config/wsgi.py'.
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131] Traceback (most 
> recent call last):
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/utils.py",
>  
> line 33, in get_module_path
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     module = 
> import_module(module_name)
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     return 
> _bootstrap._gcd_import(name[level:], package, level)
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 994, in _gcd_import
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 971, in _find_and_load
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 953, in _find_and_load_unlocked
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131] 
> ModuleNotFoundError: No module named 'wsgiref'
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131] 
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131] During handling 
> of the above exception, another exception occurred:
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131] 
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131] Traceback (most 
> recent call last):
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/config/wsgi.py", line 18, in <module>
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     application 
> = get_wsgi_application()
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/django/core/wsgi.py",
>  
> line 14, in get_wsgi_application
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     return 
> WSGIHandler()
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/django/core/handlers/wsgi.py",
>  
> line 151, in __init__
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]    
>  self.load_middleware()
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/django/core/handlers/base.py",
>  
> line 80, in load_middleware
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     middleware 
> = import_string(middleware_path)
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/django/utils/module_loading.py",
>  
> line 20, in import_string
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     module = 
> import_module(module_path)
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     return 
> _bootstrap._gcd_import(name[level:], package, level)
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 994, in _gcd_import
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 971, in _find_and_load
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 955, in _find_and_load_unlocked
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 665, in _load_unlocked
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap_external>", line 678, in exec_module
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 219, in _call_with_frames_removed
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/middleware.py",
>  
> line 17, in <module>
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     from 
> debug_toolbar.toolbar import DebugToolbar
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/toolbar.py",
>  
> line 135, in <module>
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     urlpatterns 
> = DebugToolbar.get_urls()
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/toolbar.py",
>  
> line 128, in get_urls
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     for 
> panel_class in cls.get_panel_classes():
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/toolbar.py",
>  
> line 111, in get_panel_classes
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     for 
> panel_path in dt_settings.get_panels()
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/toolbar.py",
>  
> line 111, in <listcomp>
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     for 
> panel_path in dt_settings.get_panels()
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/django/utils/module_loading.py",
>  
> line 20, in import_string
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     module = 
> import_module(module_path)
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     return 
> _bootstrap._gcd_import(name[level:], package, level)
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/panels/__init__.py",
>  
> line 8, in <module>
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     from 
> debug_toolbar.utils import get_name_from_obj
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/utils.py",
>  
> line 46, in <module>
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     for 
> module_name in dt_settings.get_config()['HIDE_IN_STACKTRACES']
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/utils.py",
>  
> line 46, in <listcomp>
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     for 
> module_name in dt_settings.get_config()['HIDE_IN_STACKTRACES']
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/utils.py",
>  
> line 36, in get_module_path
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131]     'Error 
> importing HIDE_IN_STACKTRACES: %s' % (e,))
> [Thu Feb 08 00:55:07 2018] [error] [client 50.202.228.131] 
> django.core.exceptions.ImproperlyConfigured: Error importing 
> HIDE_IN_STACKTRACES: No module named 'wsgiref'
> [Thu Feb 08 00:55:09 2018] [info] [client 50.202.228.131] mod_wsgi 
> (pid=14995, process='salaries', application=''): Loading WSGI script 
> '/usr/local/webapps/gov_salaries/config/wsgi.py'.
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131] mod_wsgi 
> (pid=14995): Target WSGI script 
> '/usr/local/webapps/gov_salaries/config/wsgi.py' cannot be loaded as Python 
> module.
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131] mod_wsgi 
> (pid=14995): Exception occurred processing WSGI script 
> '/usr/local/webapps/gov_salaries/config/wsgi.py'.
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131] Traceback (most 
> recent call last):
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/utils.py",
>  
> line 33, in get_module_path
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     module = 
> import_module(module_name)
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     return 
> _bootstrap._gcd_import(name[level:], package, level)
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 994, in _gcd_import
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 971, in _find_and_load
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 953, in _find_and_load_unlocked
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131] 
> ModuleNotFoundError: No module named 'wsgiref'
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131] 
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131] During handling 
> of the above exception, another exception occurred:
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131] 
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131] Traceback (most 
> recent call last):
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/config/wsgi.py", line 18, in <module>
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     application 
> = get_wsgi_application()
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/django/core/wsgi.py",
>  
> line 14, in get_wsgi_application
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     return 
> WSGIHandler()
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/django/core/handlers/wsgi.py",
>  
> line 151, in __init__
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]    
>  self.load_middleware()
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/django/core/handlers/base.py",
>  
> line 80, in load_middleware
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     middleware 
> = import_string(middleware_path)
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/django/utils/module_loading.py",
>  
> line 20, in import_string
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     module = 
> import_module(module_path)
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     return 
> _bootstrap._gcd_import(name[level:], package, level)
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 994, in _gcd_import
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 971, in _find_and_load
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 955, in _find_and_load_unlocked
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 665, in _load_unlocked
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap_external>", line 678, in exec_module
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File "<frozen 
> importlib._bootstrap>", line 219, in _call_with_frames_removed
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/middleware.py",
>  
> line 17, in <module>
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     from 
> debug_toolbar.toolbar import DebugToolbar
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/toolbar.py",
>  
> line 135, in <module>
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     urlpatterns 
> = DebugToolbar.get_urls()
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/toolbar.py",
>  
> line 128, in get_urls
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     for 
> panel_class in cls.get_panel_classes():
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/toolbar.py",
>  
> line 111, in get_panel_classes
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     for 
> panel_path in dt_settings.get_panels()
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/toolbar.py",
>  
> line 111, in <listcomp>
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     for 
> panel_path in dt_settings.get_panels()
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/django/utils/module_loading.py",
>  
> line 20, in import_string
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     module = 
> import_module(module_path)
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     return 
> _bootstrap._gcd_import(name[level:], package, level)
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/panels/__init__.py",
>  
> line 8, in <module>
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     from 
> debug_toolbar.utils import get_name_from_obj
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/utils.py",
>  
> line 46, in <module>
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     for 
> module_name in dt_settings.get_config()['HIDE_IN_STACKTRACES']
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/utils.py",
>  
> line 46, in <listcomp>
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     for 
> module_name in dt_settings.get_config()['HIDE_IN_STACKTRACES']
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]   File 
> "/usr/local/webapps/gov_salaries/gov_venv/lib/python3.6/site-packages/debug_toolbar/utils.py",
>  
> line 36, in get_module_path
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131]     'Error 
> importing HIDE_IN_STACKTRACES: %s' % (e,))
> [Thu Feb 08 00:55:09 2018] [error] [client 50.202.228.131] 
> django.core.exceptions.ImproperlyConfigured: Error importing 
> HIDE_IN_STACKTRACES: No module named 'wsgiref'
>
> On Wednesday, February 7, 2018 at 12:12:02 PM UTC-8, David Cansler wrote:
>
> I'm trying to deploy a Django app onto a Centos 6.9 server and I'm getting 
> the error Target WSGI script "wsgi.py" cannot be loaded as pyhton module.
> I've run through the troubleshooting tips and am now at a point where I 
> could use some help.
> Here's my setup
>
> *The server:*
> Last Update Run: Sun Feb 04 09:00:34 +0000 2018, state OK
> Patching Group : auto
> OS Detection   : CentOS 6.9 amd64 (yum)
> KERNEL updates : false (2.6.32-504.23.4.el6.x86_64)
>
>
> *[devwebuser@87670-newsdev gov_salaries]$ httpd -V*
> Server version: Apache/2.2.15 (Unix)
> Server built:   Oct 19 2017 16:43:38
> Server's Module Magic Number: 20051115:25
> Server loaded:  APR 1.3.9, APR-Util 1.3.9
> Compiled using: APR 1.3.9, APR-Util 1.3.9
> Architecture:   64-bit
> Server MPM:     Prefork
>   threaded:     no
>     forked:     yes (variable process count)
> Server compiled with....
>  -D APACHE_MPM_DIR="server/mpm/prefork"
>  -D APR_HAS_SENDFILE
>  -D APR_HAS_MMAP
>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>  -D APR_USE_SYSVSEM_SERIALIZE
>  -D APR_USE_PTHREAD_SERIALIZE
>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>  -D APR_HAS_OTHER_CHILD
>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>  -D DYNAMIC_MODULE_LIMIT=128
>  -D HTTPD_ROOT="/etc/httpd"
>  -D SUEXEC_BIN="/usr/sbin/suexec"
>  -D DEFAULT_PIDLOG="run/httpd.pid"
>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>  -D DEFAULT_ERRORLOG="logs/error_log"
>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>
> *Installed python3.6.4:*
> ./configure --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath 
> /usr/local/lib"
>
> *Installed mod_wsgi-4.5.24*
> ./configure --with-python=/usr/local/bin/python3.6
> LD_RUN_PATH=/usr/local/lib make
> sudo make install
>
> *Looks good with mod_wsgi and shared python library:*
> [devwebuser@87670-newsdev modules]$ ldd /etc/httpd/modules/mod_wsgi.so
> linux-vdso.so.1 =>  (0x00007fff9f3f3000)
> libpython3.6m.so.1.0 => /usr/local/lib/libpython3.6m.so.1.0 
> (0x00007f4aa66a6000)
> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4aa647a000)
> libdl.so.2 => /lib64/libdl.so.2 (0x00007f4aa6276000)
> libutil.so.1 => /lib64/libutil.so.1 (0x00007f4aa6073000)
> librt.so.1 => /lib64/librt.so.1 (0x00007f4aa5e6a000)
> libm.so.6 => /lib64/libm.so.6 (0x00007f4aa5be6000)
> libc.so.6 => /lib64/libc.so.6 (0x00007f4aa5852000)
> /lib64/ld-linux-x86-64.so.2 (0x00000032f0c00000)
>
> *Create virtual environment, etc.:*
> [devwebuser@87670-newsdev gov_salaries]$ python3 -m venv 
> /usr/local/webapps/gov_salaries/gov_venv
> [devwebuser@87670-newsdev gov_salaries]$ source 
> /usr/local/webapps/gov_salaries/gov_venv/bin/activate
> (gov_venv) [devwebuser@87670-newsdev gov_salaries]$ pip install -r 
> requirements.txt 
> (gov_venv) [devwebuser@87670-newsdev gov_salaries]$ pip freeze
> Django==1.11.4
> django-bootstrap4==0.0.4
> django-crispy-forms==1.6.1
> django-debug-toolbar==1.9.1
> django-filter==1.0.4
> django-tables2==1.10.0
> psycopg2==2.7.3.2
> pytz==2017.2
> sqlparse==0.2.4
>
> *Location of virtual environment:*
> (gov_venv) [devwebuser@87670-newsdev gov_salaries]$ python -c 'import sys; 
> print(sys.prefix)'
> /usr/local/webapps/gov_salaries/gov_venv
>
> *httpd.conf file (I deleted most commented lines for brevity):*
>
> ServerRoot "/etc/httpd"
>
> PidFile run/httpd.pid
>
> Timeout 60
>
> KeepAlive Off
> MaxKeepAliveRequests 100
>
> KeepAliveTimeout 15
>
> <IfModule prefork.c>
> StartServers       8
> MinSpareServers    5
> MaxSpareServers   20
> ServerLimit      256
> MaxClients       256
> MaxRequestsPerChild  4000
> </IfModule>
>
> <IfModule worker.c>
> StartServers         4
> MaxClients         300
> MinSpareThreads     25
> MaxSpareThreads     75
> ThreadsPerChild     25
> MaxRequestsPerChild  0
> </IfModule>
>
> Listen 80
>
> LoadModule auth_basic_module modules/mod_auth_basic.so
> LoadModule auth_digest_module modules/mod_auth_digest.so
> LoadModule authn_file_module modules/mod_authn_file.so
> LoadModule authn_alias_module modules/mod_authn_alias.so
> LoadModule authn_anon_module modules/mod_authn_anon.so
> LoadModule authn_dbm_module modules/mod_authn_dbm.so
> LoadModule authn_default_module modules/mod_authn_default.so
> LoadModule authz_host_module modules/mod_authz_host.so
> LoadModule authz_user_module modules/mod_authz_user.so
> LoadModule authz_owner_module modules/mod_authz_owner.so
> LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
> LoadModule authz_dbm_module modules/mod_authz_dbm.so
> LoadModule authz_default_module modules/mod_authz_default.so
> LoadModule ldap_module modules/mod_ldap.so
> LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
> # LoadModule include_module modules/mod_include.so
> LoadModule log_config_module modules/mod_log_config.so
> LoadModule logio_module modules/mod_logio.so
> LoadModule env_module modules/mod_env.so
> LoadModule ext_filter_module modules/mod_ext_filter.so
> LoadModule mime_magic_module modules/mod_mime_magic.so
> LoadModule expires_module modules/mod_expires.so
> LoadModule deflate_module modules/mod_deflate.so
> LoadModule headers_module modules/mod_headers.so
> LoadModule usertrack_module modules/mod_usertrack.so
> LoadModule setenvif_module modules/mod_setenvif.so
> LoadModule mime_module modules/mod_mime.so
> LoadModule dav_module modules/mod_dav.so
> LoadModule status_module modules/mod_status.so
> # LoadModule autoindex_module modules/mod_autoindex.so
> # LoadModule info_module modules/mod_info.so
> LoadModule dav_fs_module modules/mod_dav_fs.so
> LoadModule vhost_alias_module modules/mod_vhost_alias.so
> LoadModule negotiation_module modules/mod_negotiation.so
> LoadModule dir_module modules/mod_dir.so
> LoadModule actions_module modules/mod_actions.so
> LoadModule speling_module modules/mod_speling.so
> # LoadModule userdir_module modules/mod_userdir.so
> LoadModule alias_module modules/mod_alias.so
> LoadModule substitute_module modules/mod_substitute.so
> LoadModule rewrite_module modules/mod_rewrite.so
> LoadModule proxy_module modules/mod_proxy.so
> LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
> LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
> LoadModule proxy_http_module modules/mod_proxy_http.so
> LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
> LoadModule proxy_connect_module modules/mod_proxy_connect.so
> LoadModule cache_module modules/mod_cache.so
> LoadModule suexec_module modules/mod_suexec.so
> LoadModule disk_cache_module modules/mod_disk_cache.so
> LoadModule cgi_module modules/mod_cgi.so
> LoadModule version_module modules/mod_version.so
> #LoadModule passenger_module 
> /usr/lib64/ruby/gems/1.8/gems/passenger-4.0.59/buildout/apache2/mod_passenger.so
> #
> # The following modules are not loaded by default:
> #
> #LoadModule asis_module modules/mod_asis.so
> #LoadModule authn_dbd_module modules/mod_authn_dbd.so
> #LoadModule cern_meta_module modules/mod_cern_meta.so
> #LoadModule cgid_module modules/mod_cgid.so
> #LoadModule dbd_module modules/mod_dbd.so
> #LoadModule dumpio_module modules/mod_dumpio.so
> #LoadModule filter_module modules/mod_filter.so
> #LoadModule ident_module modules/mod_ident.so
> #LoadModule log_forensic_module modules/mod_log_forensic.so
> #LoadModule unique_id_module modules/mod_unique_id.so
> LoadModule wsgi_module modules/mod_wsgi.so
> WSGISocketPrefix /var/run/wsgi
>
> Include conf.d/*.conf
>
> #
> # ExtendedStatus controls whether Apache will generate "full" status
> # information (ExtendedStatus On) or just basic information (ExtendedStatus
> # Off) when the "server-status" handler is called. The default is Off.
> #
> ExtendedStatus On
>
> #
> # If you wish httpd to run as a different user or group, you must run
> # httpd as root initially and it will switch.
> #
> # User/Group: The name (or #number) of the user/group to run httpd as.
> #  . On SCO (ODT 3) use "User nouser" and "Group nogroup".
> #  . On HPUX you may not be able to use shared memory as nobody, and the
> #    suggested workaround is to create a user www and use that user.
> #  NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
> #  when the value of (unsigned)Group is above 60000;
> #  don't use Group #-1 on these systems!
> #
> User apache
> Group apache
>
> ### Section 2: 'Main' server configuration
> #
> ServerAdmin [email protected]
>
> ServerName newsdev.oregonian.com:80
>
> UseCanonicalName Off
>
> DocumentRoot "/var/www/html/newsdev.oregonian.com"
>
> <Directory />
> Order Deny,Allow
> deny from all
> </Directory>
>
> #
> # This should be changed to whatever you set DocumentRoot to.
> #
> <Directory "/var/www/html/newsdev.oregonian.com">
>
> #
> # Possible values for the Options directive are "None", "All",
> # or any combination of:
> #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
> #
> # Note that "MultiViews" must be named *explicitly* --- "Options All"
> # doesn't give it to you.
> #
> # The Options directive is both complicated and important.  Please see
> # http://httpd.apache.org/docs/2.2/mod/core.html#options
> # for more information.
> #
>     Options -Indexes FollowSymLinks
>
> #
> # AllowOverride controls what directives may be placed in .htaccess files.
> # It can be "All", "None", or any combination of the keywords:
> #   Options FileInfo AuthConfig Limit
> #
>     AllowOverride None
>
> #
> # Controls who can get stuff from this server.
> #
>     Order allow,deny
>     Allow from all
>
> </Directory>
>
> #
> # UserDir: The name of the directory that is appended onto a user's home
> # directory if a ~user request is received.
> #
> # The path to the end user account 'public_html' directory must be
> # accessible to the webserver userid.  This usually means that ~userid
> # must have permissions of 711, ~userid/public_html must have permissions
> # of 755, and documents contained therein must be world-readable.
> # Otherwise, the client will only receive a "403 Forbidden" message.
> #
> # See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden
> #
> #<IfModule mod_userdir.c>
>     #
>     # UserDir is disabled by default since it can confirm the presence
>     # of a username on the system (depending on home directory
>     # permissions).
>     #
>     # UserDir disabled
>
>     #
>     # To enable requests to /~user/ to serve the user's public_html
>     # directory, remove the "UserDir disabled" line above, and uncomment
>     # the following line instead:
>     #
>     #UserDir public_html
>
> #</IfModule>
>
>
> DirectoryIndex index.html index.html.var
>
> #
> # AccessFileName: The name of the file to look for in each directory
> # for additional configuration directives.  See also the AllowOverride
> # directive.
> #
> AccessFileName .htaccess
>
> #
> # The following lines prevent .htaccess and .htpasswd files from being
> # viewed by Web clients.
> #
> <Files ~ "^\.ht">
>     Order allow,deny
>     Deny from all
>     Satisfy All
> </Files>
>
> #
> # TypesConfig describes where the mime.types file (or equivalent) is
> # to be found.
> #
> TypesConfig /etc/mime.types
>
> DefaultType text/plain
>
> #
> # The mod_mime_magic module allows the server to use various hints from the
> # contents of the file itself to determine its type.  The MIMEMagicFile
> # directive tells the module where the hint definitions are located.
> #
> <IfModule mod_mime_magic.c>
> #   MIMEMagicFile /usr/share/magic.mime
>     MIMEMagicFile conf/magic
> </IfModule>
>
> HostnameLookups Off
>
> ErrorLog logs/error_log
>
> LogLevel info
>
> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" 
> combined
> LogFormat "%h %l %u %t \"%r\" %>s %b" common
> LogFormat "%{Referer}i -> %U" referer
> LogFormat "%{User-agent}i" agent
>
> CustomLog logs/access_log combined
>
> ServerSignature On
>
>  ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
>
> #
> # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
> # CGI directory exists, if you have that configured.
> #
>  <Directory "/var/www/cgi-bin">
>     AllowOverride None
>     Options None
>     Order allow,deny
>     Allow from all
>  </Directory>
>
> AddLanguage ca .ca
> AddLanguage cs .cz .cs
> AddLanguage da .dk
> AddLanguage de .de
> AddLanguage el .el
> AddLanguage en .en
> AddLanguage eo .eo
> AddLanguage es .es
> AddLanguage et .et
> AddLanguage fr .fr
> AddLanguage he .he
> AddLanguage hr .hr
> AddLanguage it .it
> AddLanguage ja .ja
> AddLanguage ko .ko
> AddLanguage ltz .ltz
> AddLanguage nl .nl
> AddLanguage nn .nn
> AddLanguage no .no
> AddLanguage pl .po
> AddLanguage pt .pt
> AddLanguage pt-BR .pt-br
> AddLanguage ru .ru
> AddLanguage sv .sv
> AddLanguage zh-CN .zh-cn
> AddLanguage zh-TW .zh-tw
>
> LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no 
> pl pt pt-BR ru sv zh-CN zh-TW
>
> ForceLanguagePriority Prefer Fallback
>
> AddDefaultCharset UTF-8
>
> AddType application/x-compress .Z
> AddType application/x-gzip .gz .tgz
>
> AddType application/x-x509-ca-cert .crt
> AddType application/x-pkcs7-crl    .crl
>
>
> AddHandler type-map var
>
> AddType text/html .shtml
> AddOutputFilter INCLUDES .shtml
>
>
> Alias /error/ "/var/www/error/"
>
> <IfModule mod_negotiation.c>
> <IfModule mod_include.c>
>     <Directory "/var/www/error">
>         AllowOverride None
>         Options IncludesNoExec
>         AddOutputFilter Includes html
>         AddHandler type-map var
>         Order allow,deny
>         Allow from all
>         LanguagePriority en es de fr
>         ForceLanguagePriority Prefer Fallback
>     </Directory>
>
> #    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
> #    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
> #    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
> #    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
> #    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
> #    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
> #    ErrorDocument 410 /error/HTTP_GONE.html.var
> #    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
> #    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
> #    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
> #    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
> #    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
> #    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
> #    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
> #    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
> #    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
> #    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
>
> </IfModule>
> </IfModule>
>
> #
> # The following directives modify normal HTTP response behavior to
> # handle known problems with browser implementations.
> #
> BrowserMatch "Mozilla/2" nokeepalive
> BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
> BrowserMatch "RealPlayer 4\.0" force-response-1.0
> BrowserMatch "Java/1\.0" force-response-1.0
> BrowserMatch "JDK/1\.0" force-response-1.0
>
> #
> # The following directive disables redirects on non-GET requests for
> # a directory that does not include the trailing slash.  This fixes a
> # problem with Microsoft WebFolders which does not appropriately handle
> # redirects for folders with DAV methods.
> # Same deal with Apple's DAV filesystem and Gnome VFS support for DAV.
> #
> BrowserMatch "Microsoft Data Access Internet Publishing Provider" 
> redirect-carefully
> BrowserMatch "MS FrontPage" redirect-carefully
> BrowserMatch "^WebDrive" redirect-carefully
> BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
> BrowserMatch "^gnome-vfs/1.0" redirect-carefully
> BrowserMatch "^XML Spy" redirect-carefully
> BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
>
> #
> # Allow server status reports generated by mod_status,
> # with the URL of http://servername/server-status
> # Change the ".example.com" to match your domain to enable.
> #
> <Location /server-status>
>     SetHandler server-status
>     Order allow,deny
>     Allow from all
> </Location>
>
> #
> # Allow remote server configuration reports, with the URL of
> #  http://servername/server-info (requires that mod_info.c be loaded).
> # Change the ".example.com" to match your domain to enable.
> #
> #<Location /server-info>
> #    SetHandler server-info
> #    Order deny,allow
> #    Deny from all
> #    Allow from .example.com
> #</Location>
>
> #
> # Proxy Server directives. Uncomment the following lines to
> # enable the proxy server:
> #
> #<IfModule mod_proxy.c>
> #ProxyRequests On
> #
> #<Proxy *>
> #    Order deny,allow
> #    Deny from all
> #    Allow from .example.com
> #</Proxy>
>
> #
> # Enable/disable the handling of HTTP/1.1 "Via:" headers.
> # ("Full" adds the server version; "Block" removes all outgoing Via: 
> headers)
> # Set to one of: Off | On | Full | Block
> #
> #ProxyVia On
>
> #
> # To enable a cache of proxied content, uncomment the following lines.
> # See http://httpd.apache.org/docs/2.2/mod/mod_cache.html for more 
> details.
> #
> #<IfModule mod_disk_cache.c>
> #   CacheEnable disk /
> #   CacheRoot "/var/cache/mod_proxy"
> #</IfModule>
> #
>
> #</IfModule>
> # End of proxy directives.
>
> # Load Passenger module for Ruby
>
> <IfModule mod_passenger.c>
> PassengerRoot /usr/lib64/ruby/gems/1.8/gems/passenger-4.0.59
> PassengerDefaultRuby /usr/bin/ruby
> </IfModule>
>
> ### Section 3: Virtual Hosts
> #
>
> <VirtualHost *:80>
>         ServerAdmin [email protected]
>         ServerName newsdev.oregonian.com
>         DocumentRoot /var/www/html/newsdev.oregonian.com
>         RewriteEngine On
>         <Directory /var/www/html/newsdev.oregonian.com>
>                 Options -Indexes FollowSymLinks
>                 AllowOverride All
>                 Order allow,deny
>                 Allow from all
>         </Directory>
>
>         Alias /static/ /var/www/static/
>
>         WSGIDaemonProcess salaries 
> python-home=/usr/local/webapps/gov_salaries/gov_venv
>         WSGIApplicationGroup %{GLOBAL}
>         WSGIScriptAlias /salaries 
> /usr/local/webapps/gov_salaries/config/wsgi.py process-group=salaries
>
>         <Directory /usr/local/webapps/gov_salaries>
>             Order allow,deny
>             Allow from all
>         </Directory>
>
>         <Directory /usr/local/webapps/gov_salaries/config>
>             <Files wsgi.py>
>             Order allow,deny
>             Allow from all
>             </Files>
>         </Directory>
>
>         <Directory /var/www/static>
>             Order allow,deny
>             Allow from all
>         </Directory>
>
>
>
> </VirtualHost>
>
> <VirtualHost *:80>
> ServerAdmin [email protected]
>         ServerName datawrapper.oregonian.com
>         DocumentRoot /var/www/html/datawrapper/www
> #RewriteEngine On
>         <Directory /var/www/html/datawrapper/www/>
>                 Options -Indexes FollowSymLinks
> AllowOverride All
>                 Order allow,deny
>                 Allow from all
>         </Directory>
> </VirtualHost>
>
> <VirtualHost *:80>
>         ServerAdmin [email protected]
>         ServerName charts.oregonian.com
>         DocumentRoot /var/www/html/datawrapper/charts/static
> RewriteEngine On
>         <Directory /var/www/html/datawrapper/charts/static/>
>                 Options -Indexes FollowSymLinks
> AllowOverride All
>                 Order allow,deny
>                 Allow from all
>         </Directory>
> </VirtualHost>
>
>
> <VirtualHost *:80>
> ServerAdmin [email protected]
> ServerName testapp.oregonian.com
> DocumentRoot /var/www/html/newsdev.oregonian.com/recipes/current/public
>
> #<Location /assets>
> #ProxyPass !
> #</Location>
> #<Location /system>
> #ProxyPass !
> #</Location>
> ProxyPass / http://127.0.0.1:9292/
> ProxyPassReverse / http://127.0.0.1:9292/
>
> <Directory /var/www/html/
> newsdev.oregonian.com/recipes/current/public/system>
> Options -Indexes FollowSymLinks
> AllowOverride All
> Order allow,deny
> Allow from all
> </Directory>
>
> <Directory /var/www/html/
> newsdev.oregonian.com/recipes/current/public/assets>
> Options -Indexes FollowSymLinks
> AllowOverride All
> Order allow,deny
> Allow from all
> </Directory>
> </VirtualHost>
>
>
> <VirtualHost *:80>
>         ServerAdmin [email protected]
>         ServerName testapp2.oregonian.com
>         DocumentRoot /var/www/html/
> newsdev.oregonian.com/restaurants/current/public
>
>         #<Location /assets>
>                 #ProxyPass !
>         #</Location>
>         #<Location /system>
>                 #ProxyPass !
>         #</Location>
>         ProxyPass / http://127.0.0.1:9293/
>         ProxyPassReverse / http://127.0.0.1:9293/
>
>         <Directory /var/www/html/
> newsdev.oregonian.com/current/public/system>
>                 Options -Indexes FollowSymLinks
>                 AllowOverride All
>                 Order allow,deny
>                 Allow from all
>         </Directory>
>
>         <Directory /var/www/html/
>
> ...

-- 
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 https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to