You shouldn't need:

try:
    application = get_wsgi_application()
except Exception:
        # Error loading applications
        if 'mod_wsgi' in sys.modules:
           traceback.print_exc()
           os.kill(os.getpid(), signal.SIGINT)
           time.sleep(2.5)

When using mod_wsgi-express it has a default startup-timeout of 15 seconds.

    optparse.make_option('--startup-timeout', type='int', default=15,
            metavar='SECONDS', help='Maximum number of seconds allowed '
            'to pass waiting for the application to be successfully '
            'loaded and started by a worker process. When this timeout '
            'has been reached without the application having been '
            'successfully loaded and started, the worker process will '
            'be forced to restart. Defaults to 15 seconds.'),

This means that if the WSGI script doesn't load, the whole daemon process will 
be restarted automatically.

This gets around transient problems when doing Django initialisation, and 
Django initialisation not being able to be called a second time in the same 
process, which is what that try/except hack is about.

So you can use just:

    application = get_wsgi_application()

Also, when using mod_wsgi-express you don't need:

    
sys.path.append('/home/joel/myappointments/venv/lib/python3.6/site-packages')

as it will automatically use what virtual environment mod_wsgi was installed 
in. You shouldn't try and force it to use site-packages from a separate virtual 
environment.

Finally:

    sys.path.append('/home/joel/myappointments')

isn't needed if that is the current directory when you run mod_wsgi-express, or 
is the directory the WSGI script file is in.

If needing to force the home directory for the WSGI application, better to use:

    --home=/home/joel/myappointments

option. This will cause modules search to be performed from that directory as 
well.

If need to add additional directories, use:

    --python-path=/home/joel/myappointments

This option can be used more than once.

Graham

> On 9 Sep 2018, at 4:28 pm, Joel Mathew <[email protected]> wrote:
> 
> Thank you. The problem is fixed.
> My final command line:
> mod_wsgi-express setup-server wsgi.py --https-port 443 --https-only
> --server-name mysite.com --ssl-certificate-file ssl-certs/cert.pem
> --ssl-certificate-key-file ssl-certs/privkey.pem --user www-data
> --group www-data --url-alias /appointments/static
> ./appointments/static
> 
> I wrote a short blog on using letsencrypt certificates with
> mod_wsgi-express:
> http://blog.droidzone.in/2018/09/08/using-letsencrypt-certificate-files-with-mod_wsgi-express-for-https-on-django/
> 
> Thank you for the great utility, Graham Dumpleton
> 
> 
> 
> 
> On Sun, 9 Sep 2018 at 08:12, Graham Dumpleton
> <[email protected]> wrote:
>> 
>> 
>> 
>>> On 9 Sep 2018, at 12:27 pm, Joel Mathew <[email protected]> wrote:
>>> 
>>> When I do it like:
>>> 
>>> mod_wsgi-express start-server --log-to-terminal --startup-log
>>> --https-port 443 --server-name myopip.com --ssl-certificate-file
>>> ssl-certs/cert.pem --ssl-certificate-key-file ssl-certs/privkey.pem
>>> --user www-data --group www-data --host mysite.com --host 17.104.53.57
>>> 
>>> where the last is the ip of my server, I get the `My web site runs on
>>> Malt Whiskey ` message. Not my actual site.
>> 
>> Which is expected as you haven't given it as argument the path to the WSGI 
>> script file for your application.
>> 
>>> Without the --host mysite.com, again I get the malt whiskey page
>> 
>> Either way, I am saying you shouldn't use --host argument unless you have a 
>> specific reason to.
>> 
>>> 
>>> 
>>> Joel G Mathew
>>> On Sun, 9 Sep 2018 at 03:19, Graham Dumpleton
>>> <[email protected]> wrote:
>>>> 
>>>> I should clarify, use these options in addition to --server-name with the 
>>>> value you have now. Don't drop --server-name as must use that when using 
>>>> certificate.
>>>> 
>>>> On 9 Sep 2018, at 7:47 am, Graham Dumpleton <[email protected]> 
>>>> wrote:
>>>> 
>>>> You would not usually set --host with an argument of a hostname, but an IP 
>>>> address. You would only use that though if absolutely needed and have 
>>>> multiple interfaces and need to restrict which connections can come in on. 
>>>> Based on the error though, even though suggest not using it, I don't 
>>>> believe that is the issue.
>>>> 
>>>> The usual reason for getting forbidden is that because you have used 
>>>> '--server-name mysite.com', you can only connect when using that hostname 
>>>> in the URL. You can't connect to it with an IP address or other hostname. 
>>>> If behind a proxy, that may be a problem.
>>>> 
>>>> If trying to connect via 'localhost' or '127.0.0.1', you can add 
>>>> '--allow-localhost'.
>>>> 
>>>>   optparse.make_option('--allow-localhost', action='store_true',
>>>>           default=False, help='Flag indicating whether access via '
>>>>           'localhost should still be allowed when a server name has been '
>>>>           'specified and a name based virtual host has been configured.'),
>>>> 
>>>> If connecting remotely, from memory you can use '--server-alias *'.
>>>> 
>>>>   optparse.make_option('--server-alias', action='append',
>>>>           dest='server_aliases', metavar='HOSTNAME', help='A secondary '
>>>>           'host name for the web server. May include wildcard patterns.'),
>>>> 
>>>> The use of the wildcard of just '*' says allow connecting with any 
>>>> hostname. This should work even though it doesn't match what you expect to 
>>>> be used and what the certificate is set up. You may as a result get 
>>>> warnings about original hostname used not then matching the certificate.
>>>> 
>>>> Graham
>>>> 
>>>> On 9 Sep 2018, at 1:26 am, Joel <[email protected]> wrote:
>>>> 
>>>> I am using the following command to start mod_wsgi-express for my django 
>>>> project:
>>>> 
>>>> mod_wsgi-express start-server --log-to-terminal --startup-log --https-port 
>>>> 443 --server-name mysite.com --ssl-certificate-file ssl-certs/cert.pem 
>>>> --ssl-certificate-key-file ssl-certs/privkey.pem --user www-data --group 
>>>> www-data --host mysite.com
>>>> 
>>>> When loading https://mysite.com/, I get a 403 Forbidden error: You don't 
>>>> have permission to access / on this server.
>>>> 
>>>> The terminal shows the following lines:
>>>> root@localhost:/home/joel/new/myappointments# mod_wsgi-express 
>>>> start-server --log-to-terminal --startup-log --https-port 443 
>>>> --server-name mysite.com --ssl-certificate-file ssl-certs/cert.pem 
>>>> --ssl-certificate-key-file ssl-certs/privkey.pem --user www-data --group 
>>>> www-data --host mysite.com
>>>> Server URL         : http://mysite.com:8000/
>>>> Server URL (HTTPS) : https://mysite.com/
>>>> Server Root        : /tmp/mod_wsgi-mysite.com:8000:0
>>>> Server Conf        : /tmp/mod_wsgi-mysite.com:8000:0/httpd.conf
>>>> Error Log File     : /dev/stderr (warn)
>>>> Startup Log File   : /dev/stderr
>>>> Request Capacity   : 5 (1 process * 5 threads)
>>>> Request Timeout    : 60 (seconds)
>>>> Startup Timeout    : 15 (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
>>>> [Sat Sep 08 20:51:37.800732 2018] [ssl:warn] [pid 5130:tid 
>>>> 140248589061056] AH01873: Init: Session Cache is not configured [hint: 
>>>> SSLSessionCache]
>>>> [Sat Sep 08 20:51:37.803786 2018] [mpm_event:notice] [pid 5130:tid 
>>>> 140248589061056] AH00489: Apache/2.4.29 (Ubuntu) mod_wsgi/4.6.4 Python/3.6 
>>>> OpenSSL/1.1.0g configured -- resuming normal operations
>>>> [Sat Sep 08 20:51:37.804264 2018] [core:notice] [pid 5130:tid 
>>>> 140248589061056] AH00094: Command line: 'apache2 (mod_wsgi-express) -f 
>>>> /tmp/mod_wsgi-mysite.com:8000:0/httpd.conf -E /dev/stderr -D 
>>>> MOD_WSGI_VIRTUAL_HOST -D MOD_WSGI_WITH_HTTPS -D 
>>>> MOD_WSGI_WITH_LISTENER_HOST -D MOD_WSGI_MPM_ENABLE_EVENT_MODULE -D 
>>>> MOD_WSGI_MPM_EXISTS_EVENT_MODULE -D MOD_WSGI_MPM_EXISTS_WORKER_MODULE -D 
>>>> MOD_WSGI_MPM_EXISTS_PREFORK_MODULE -D FOREGROUND'
>>>> [Sat Sep 08 20:51:44.573958 2018] [authz_core:error] [pid 5133:tid 
>>>> 140248492054272] [client 62.58.165.208:33302] AH01630: client denied by 
>>>> server configuration: /tmp/mod_wsgi-mysite.com:8000:0/htdocs/
>>>> [Sat Sep 08 20:51:45.084675 2018] [authz_core:error] [pid 5133:tid 
>>>> 140248491788032] [client 72.68.14.235:62556] AH01630: client denied by 
>>>> server configuration: /tmp/mod_wsgi-mysite.com:8000:0/htdocs/favicon.ico, 
>>>> referer: https://mysite.com/
>>>> 
>>>> 
>>>> The generated conf /tmp/mod_wsgi-mysite.com:8000:0/httpd.conf shows:
>>>> 
>>>> <IfModule !version_module>
>>>> LoadModule version_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_version.so'
>>>> </IfModule>
>>>> 
>>>> 
>>>> ServerName mysite.com
>>>> ServerRoot '/tmp/mod_wsgi-mysite.com:8000:0'
>>>> PidFile '/tmp/mod_wsgi-mysite.com:8000:0/httpd.pid'
>>>> 
>>>> 
>>>> <IfVersion >= 2.4>
>>>> DefaultRuntimeDir '/tmp/mod_wsgi-mysite.com:8000:0'
>>>> </IfVersion>
>>>> 
>>>> 
>>>> ServerTokens ProductOnly
>>>> ServerSignature Off
>>>> 
>>>> 
>>>> User ${MOD_WSGI_USER}
>>>> Group ${MOD_WSGI_GROUP}
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_WITH_LISTENER_HOST>
>>>> Listen mysite.com:8000
>>>> </IfDefine>
>>>> <IfDefine !MOD_WSGI_WITH_LISTENER_HOST>
>>>> Listen 8000
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfVersion < 2.4>
>>>> LockFile '/tmp/mod_wsgi-mysite.com:8000:0/accept.lock'
>>>> </IfVersion>
>>>> 
>>>> 
>>>> <IfVersion >= 2.4>
>>>> <IfDefine MOD_WSGI_WITH_PHP5>
>>>> <IfModule !mpm_event_module>
>>>> <IfModule !mpm_worker_module>
>>>> <IfModule !mpm_prefork_module>
>>>> <IfDefine MOD_WSGI_MPM_EXISTS_PREFORK_MODULE>
>>>> LoadModule mpm_prefork_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_mpm_prefork.so'
>>>> </IfDefine>
>>>> </IfModule>
>>>> </IfModule>
>>>> </IfModule>
>>>> </IfDefine>
>>>> </IfVersion>
>>>> 
>>>> 
>>>> <IfVersion >= 2.4>
>>>> <IfModule !mpm_event_module>
>>>> <IfModule !mpm_worker_module>
>>>> <IfModule !mpm_prefork_module>
>>>> <IfDefine MOD_WSGI_MPM_ENABLE_EVENT_MODULE>
>>>> LoadModule mpm_event_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_mpm_event.so'
>>>> </IfDefine>
>>>> <IfDefine MOD_WSGI_MPM_ENABLE_WORKER_MODULE>
>>>> LoadModule mpm_worker_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_mpm_worker.so'
>>>> </IfDefine>
>>>> <IfDefine MOD_WSGI_MPM_ENABLE_PREFORK_MODULE>
>>>> LoadModule mpm_prefork_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_mpm_prefork.so'
>>>> </IfDefine>
>>>> </IfModule>
>>>> </IfModule>
>>>> </IfModule>
>>>> </IfVersion>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_WITH_HTTP2>
>>>> LoadModule http2_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_http2.so'
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfVersion >= 2.4>
>>>> <IfModule !access_compat_module>
>>>> LoadModule access_compat_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_access_compat.so'
>>>> </IfModule>
>>>> <IfModule !unixd_module>
>>>> LoadModule unixd_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_unixd.so'
>>>> </IfModule>
>>>> <IfModule !authn_core_module>
>>>> LoadModule authn_core_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_authn_core.so'
>>>> </IfModule>
>>>> <IfModule !authz_core_module>
>>>> LoadModule authz_core_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_authz_core.so'
>>>> </IfModule>
>>>> </IfVersion>
>>>> 
>>>> 
>>>> <IfModule !authz_host_module>
>>>> LoadModule authz_host_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_authz_host.so'
>>>> </IfModule>
>>>> <IfModule !mime_module>
>>>> LoadModule mime_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_mime.so'
>>>> </IfModule>
>>>> <IfModule !rewrite_module>
>>>> LoadModule rewrite_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_rewrite.so'
>>>> </IfModule>
>>>> <IfModule !alias_module>
>>>> LoadModule alias_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_alias.so'
>>>> </IfModule>
>>>> <IfModule !dir_module>
>>>> LoadModule dir_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_dir.so'
>>>> </IfModule>
>>>> <IfModule !env_module>
>>>> LoadModule env_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_env.so'
>>>> </IfModule>
>>>> <IfModule !headers_module>
>>>> LoadModule headers_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_headers.so'
>>>> </IfModule>
>>>> <IfModule !filter_module>
>>>> LoadModule filter_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_filter.so'
>>>> </IfModule>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_DIRECTORY_LISTING>
>>>> <IfModule !autoindex_module>
>>>> LoadModule autoindex_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_autoindex.so'
>>>> </IfModule>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfVersion >= 2.2.15>
>>>> <IfModule !reqtimeout_module>
>>>> LoadModule reqtimeout_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_reqtimeout.so'
>>>> </IfModule>
>>>> </IfVersion>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_COMPRESS_RESPONSES>
>>>> <IfModule !deflate_module>
>>>> LoadModule deflate_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_deflate.so'
>>>> </IfModule>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_AUTH_USER>
>>>> <IfModule !auth_basic_module>
>>>> LoadModule auth_basic_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_auth_basic.so'
>>>> </IfModule>
>>>> <IfModule !auth_digest_module>
>>>> LoadModule auth_digest_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_auth_digest.so'
>>>> </IfModule>
>>>> <IfModule !authz_user_module>
>>>> LoadModule authz_user_module 
>>>> '${MOD_WSGI_MODULES_DIRECTORY}/mod_authz_user.so'
>>>> </IfModule>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_WITH_PROXY>
>>>> <IfModule !proxy_module>
>>>> LoadModule proxy_module ${MOD_WSGI_MODULES_DIRECTORY}/mod_proxy.so
>>>> </IfModule>
>>>> <IfModule !proxy_http_module>
>>>> LoadModule proxy_http_module 
>>>> ${MOD_WSGI_MODULES_DIRECTORY}/mod_proxy_http.so
>>>> </IfModule>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfModule mpm_prefork_module>
>>>> <IfDefine MOD_WSGI_WITH_PHP5>
>>>> <IfModule !php5_module>
>>>> Loadmodule php5_module '${MOD_WSGI_MODULES_DIRECTORY}/libphp5.so'
>>>> </IfModule>
>>>> AddHandler application/x-httpd-php .php
>>>> </IfDefine>
>>>> </IfModule>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_LOAD_PYTHON_DYLIB>
>>>> LoadFile ''
>>>> </IfDefine>
>>>> 
>>>> 
>>>> LoadModule wsgi_module 
>>>> '/usr/local/lib/python3.6/dist-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so'
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_SERVER_METRICS>
>>>> <IfModule !status_module>
>>>> LoadModule status_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_status.so'
>>>> </IfModule>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_CGID_SCRIPT>
>>>> <IfModule !cgid_module>
>>>> LoadModule cgid_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_cgid.so'
>>>> </IfModule>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_CGI_SCRIPT>
>>>> <IfModule !cgi_module>
>>>> LoadModule cgi_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_cgi.so'
>>>> </IfModule>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfVersion < 2.4>
>>>> DefaultType text/plain
>>>> </IfVersion>
>>>> 
>>>> 
>>>> TypesConfig '/etc/mime.types'
>>>> 
>>>> 
>>>> HostnameLookups Off
>>>> MaxMemFree 64
>>>> Timeout 60
>>>> ListenBacklog 500
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_WITH_HTTP2>
>>>> Protocols h2 h2c http/1.1
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfVersion >= 2.2.15>
>>>> RequestReadTimeout header=15-30,MinRate=500 body=15,MinRate=500
>>>> </IfVersion>
>>>> 
>>>> 
>>>> LimitRequestBody 10485760
>>>> 
>>>> 
>>>> <Directory />
>>>>   AllowOverride None
>>>> <IfVersion < 2.4>
>>>>   Order deny,allow
>>>>   Deny from all
>>>> </IfVersion>
>>>> <IfVersion >= 2.4>
>>>>   Require all denied
>>>> </IfVersion>
>>>> </Directory>
>>>> 
>>>> 
>>>> WSGIPythonHome '/usr'
>>>> 
>>>> 
>>>> WSGIVerboseDebugging 'Off'
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_WITH_SOCKET_PREFIX>
>>>> WSGISocketPrefix None/wsgi
>>>> </IfDefine>
>>>> <IfDefine !MOD_WSGI_WITH_SOCKET_PREFIX>
>>>> WSGISocketPrefix /tmp/mod_wsgi-mysite.com:8000:0/wsgi
>>>> </IfDefine>
>>>> 
>>>> 
>>>> WSGISocketRotation Off
>>>> 
>>>> 
>>>> <IfDefine !ONE_PROCESS>
>>>> WSGIRestrictEmbedded On
>>>> <IfDefine MOD_WSGI_MULTIPROCESS>
>>>> WSGIDaemonProcess mysite.com:8000 \
>>>>  display-name='(wsgi:mysite.com:8000:0)' \
>>>>  home='/home/joel/new/myappointments' \
>>>>  processes=1 \
>>>>  threads=5 \
>>>>  maximum-requests=0 \
>>>>  python-path='' \
>>>>  python-eggs='/tmp/mod_wsgi-mysite.com:8000:0/python-eggs' \
>>>>  lang='en_US.UTF-8' \
>>>>  locale='en_US.UTF-8' \
>>>>  listen-backlog=100 \
>>>>  queue-timeout=45 \
>>>>  socket-timeout=60 \
>>>>  connect-timeout=15 \
>>>>  request-timeout=60 \
>>>>  inactivity-timeout=0 \
>>>>  startup-timeout=15 \
>>>>  deadlock-timeout=60 \
>>>>  graceful-timeout=15 \
>>>>  eviction-timeout=0 \
>>>>  restart-interval=0 \
>>>>  cpu-time-limit=0 \
>>>>  shutdown-timeout=5 \
>>>>  send-buffer-size=0 \
>>>>  receive-buffer-size=0 \
>>>>  header-buffer-size=0 \
>>>>  response-buffer-size=0 \
>>>>  response-socket-timeout=0 \
>>>>  server-metrics=Off
>>>> </IfDefine>
>>>> <IfDefine !MOD_WSGI_MULTIPROCESS>
>>>> WSGIDaemonProcess mysite.com:8000 \
>>>>  display-name='(wsgi:mysite.com:8000:0)' \
>>>>  home='/home/joel/new/myappointments' \
>>>>  threads=5 \
>>>>  maximum-requests=0 \
>>>>  python-path='' \
>>>>  python-eggs='/tmp/mod_wsgi-mysite.com:8000:0/python-eggs' \
>>>>  lang='en_US.UTF-8' \
>>>>  locale='en_US.UTF-8' \
>>>>  listen-backlog=100 \
>>>>  queue-timeout=45 \
>>>>  socket-timeout=60 \
>>>>  connect-timeout=15 \
>>>>  request-timeout=60 \
>>>>  inactivity-timeout=0 \
>>>>  startup-timeout=15 \
>>>>  deadlock-timeout=60 \
>>>>  graceful-timeout=15 \
>>>>  eviction-timeout=0 \
>>>>  restart-interval=0 \
>>>>  cpu-time-limit=0 \
>>>>  shutdown-timeout=5 \
>>>>  send-buffer-size=0 \
>>>>  receive-buffer-size=0 \
>>>>  response-buffer-size=0 \
>>>>  response-socket-timeout=0 \
>>>>  server-metrics=Off
>>>> </IfDefine>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> WSGICallableObject 'application'
>>>> WSGIPassAuthorization On
>>>> WSGIMapHEADToGET Auto
>>>> 
>>>> 
>>>> <IfDefine ONE_PROCESS>
>>>> WSGIRestrictStdin Off
>>>> <IfDefine MOD_WSGI_WITH_PYTHON_PATH>
>>>> WSGIPythonPath ''
>>>> </IfDefine>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_SERVER_METRICS>
>>>> ExtendedStatus On
>>>> </IfDefine>
>>>> 
>>>> 
>>>> WSGIServerMetrics Off
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_SERVER_STATUS>
>>>> <Location /server-status>
>>>>   SetHandler server-status
>>>> <IfVersion < 2.4>
>>>>   Order deny,allow
>>>>   Deny from all
>>>>   Allow from localhost
>>>> </IfVersion>
>>>> <IfVersion >= 2.4>
>>>>   Require all denied
>>>>   Require host localhost
>>>> </IfVersion>
>>>> </Location>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_KEEP_ALIVE>
>>>> KeepAlive On
>>>> KeepAliveTimeout 0
>>>> </IfDefine>
>>>> <IfDefine !MOD_WSGI_KEEP_ALIVE>
>>>> KeepAlive Off
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_COMPRESS_RESPONSES>
>>>> AddOutputFilterByType DEFLATE text/plain
>>>> AddOutputFilterByType DEFLATE text/html
>>>> AddOutputFilterByType DEFLATE text/xml
>>>> AddOutputFilterByType DEFLATE text/css
>>>> AddOutputFilterByType DEFLATE text/javascript
>>>> AddOutputFilterByType DEFLATE application/xhtml+xml
>>>> AddOutputFilterByType DEFLATE application/javascript
>>>> AddOutputFilterByType DEFLATE application/json
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_ROTATE_LOGS>
>>>> ErrorLog "|/usr/bin/rotatelogs \
>>>>   /dev/stderr.%Y-%m-%d-%H_%M_%S 5M"
>>>> </IfDefine>
>>>> <IfDefine !MOD_WSGI_ROTATE_LOGS>
>>>> ErrorLog "/dev/stderr"
>>>> </IfDefine>
>>>> LogLevel warn
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_ERROR_LOG_FORMAT>
>>>> ErrorLogFormat "None"
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_ACCESS_LOG>
>>>> <IfModule !log_config_module>
>>>> LoadModule log_config_module 
>>>> ${MOD_WSGI_MODULES_DIRECTORY}/mod_log_config.so
>>>> </IfModule>
>>>> LogFormat "%h %l %u %t \"%r\" %>s %b" common
>>>> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" 
>>>> combined
>>>> LogFormat "undefined" custom
>>>> <IfDefine MOD_WSGI_ROTATE_LOGS>
>>>> CustomLog "|/usr/bin/rotatelogs \
>>>>   /dev/stdout.%Y-%m-%d-%H_%M_%S 5M" common
>>>> </IfDefine>
>>>> <IfDefine !MOD_WSGI_ROTATE_LOGS>
>>>> CustomLog "/dev/stdout" common
>>>> </IfDefine>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_CHUNKED_REQUEST>
>>>> WSGIChunkedRequest On
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_WITH_PROXY_HEADERS>
>>>> WSGITrustedProxyHeaders
>>>> </IfDefine>
>>>> <IfDefine MOD_WSGI_WITH_TRUSTED_PROXIES>
>>>> WSGITrustedProxies
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_WITH_HTTPS>
>>>> <IfModule !ssl_module>
>>>> LoadModule ssl_module ${MOD_WSGI_MODULES_DIRECTORY}/mod_ssl.so
>>>> </IfModule>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfModule mpm_prefork_module>
>>>> <IfDefine !ONE_PROCESS>
>>>> ServerLimit 20
>>>> StartServers 1
>>>> MaxClients 20
>>>> MinSpareServers 1
>>>> MaxSpareServers 2
>>>> </IfDefine>
>>>> <IfDefine ONE_PROCESS>
>>>> ServerLimit 1
>>>> StartServers 1
>>>> MaxClients 1
>>>> MinSpareServers 1
>>>> MaxSpareServers 1
>>>> </IfDefine>
>>>> MaxRequestsPerChild 0
>>>> </IfModule>
>>>> 
>>>> 
>>>> <IfModule mpm_worker_module>
>>>> <IfDefine !ONE_PROCESS>
>>>> ServerLimit 2
>>>> ThreadLimit 10
>>>> StartServers 1
>>>> MaxClients 20
>>>> MinSpareThreads 10
>>>> MaxSpareThreads 10
>>>> ThreadsPerChild 10
>>>> </IfDefine>
>>>> <IfDefine ONE_PROCESS>
>>>> ServerLimit 1
>>>> ThreadLimit 1
>>>> StartServers 1
>>>> MaxClients 1
>>>> MinSpareThreads 1
>>>> MaxSpareThreads 1
>>>> ThreadsPerChild 1
>>>> </IfDefine>
>>>> MaxRequestsPerChild 0
>>>> ThreadStackSize 262144
>>>> </IfModule>
>>>> 
>>>> 
>>>> <IfModule mpm_event_module>
>>>> <IfDefine !ONE_PROCESS>
>>>> ServerLimit 2
>>>> ThreadLimit 10
>>>> StartServers 1
>>>> MaxClients 20
>>>> MinSpareThreads 10
>>>> MaxSpareThreads 10
>>>> ThreadsPerChild 10
>>>> </IfDefine>
>>>> <IfDefine ONE_PROCESS>
>>>> ServerLimit 1
>>>> ThreadLimit 1
>>>> StartServers 1
>>>> MaxClients 1
>>>> MinSpareThreads 1
>>>> MaxSpareThreads 1
>>>> ThreadsPerChild 1
>>>> </IfDefine>
>>>> MaxRequestsPerChild 0
>>>> ThreadStackSize 262144
>>>> </IfModule>
>>>> 
>>>> 
>>>> <IfDefine !MOD_WSGI_VIRTUAL_HOST>
>>>> <IfVersion < 2.4>
>>>> NameVirtualHost *:8000
>>>> </IfVersion>
>>>> <VirtualHost _default_:8000>
>>>> </VirtualHost>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_VIRTUAL_HOST>
>>>> 
>>>> 
>>>> <IfVersion < 2.4>
>>>> NameVirtualHost *:8000
>>>> </IfVersion>
>>>> <VirtualHost _default_:8000>
>>>> <Location />
>>>> <IfVersion < 2.4>
>>>> Order deny,allow
>>>> Deny from all
>>>> </IfVersion>
>>>> <IfVersion >= 2.4>
>>>> Require all denied
>>>> </IfVersion>
>>>> <IfDefine MOD_WSGI_ALLOW_LOCALHOST>
>>>> Allow from localhost
>>>> </IfDefine>
>>>> </Location>
>>>> </VirtualHost>
>>>> <IfDefine !MOD_WSGI_HTTPS_ONLY>
>>>> <VirtualHost *:8000>
>>>> ServerName mysite.com
>>>> <IfDefine MOD_WSGI_SERVER_ALIAS>
>>>> ServerAlias None
>>>> </IfDefine>
>>>> </VirtualHost>
>>>> <IfDefine MOD_WSGI_REDIRECT_WWW>
>>>> <VirtualHost *:8000>
>>>> ServerName unspecified
>>>> Redirect permanent / http://mysite.com:8000/
>>>> </VirtualHost>
>>>> </IfDefine>
>>>> </IfDefine>
>>>> 
>>>> 
>>>> <IfDefine MOD_WSGI_HTTPS_ONLY>
>>>> <VirtualHost *:8000>
>>>> ServerName mysite.com
>>>> <IfDefine MOD_WSGI_SERVER_ALIAS>
>>>> ServerAlias None
>>>> </IfDefine>
>>>> RewriteEngine On
>>>> RewriteCond %{HTTPS} off
>>>> RewriteRule (.*) https://mysite.com:443%{REQUEST_URI}
>>>> </VirtualHost>
>>>> <IfDefine MOD_WSGI_REDIRECT_WWW>
>>>> <VirtualHost *:8000>
>>>> ServerName unspecified
>>>> RewriteEngine On
>>>> RewriteCond %{HTTPS} off
>>>> RewriteRule (.*) https://mysite.com:443%{REQUEST_URI}
>>>> </VirtualHost>
>>>> </IfDefine>
>>> 
>>> --
>>> 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.
>> 
>> --
>> 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.
> 
> -- 
> 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.

-- 
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