How to Install Apache mod_wsgi Module on CentOS 8

Channel: Linux
Abstract: str(len(output)))] start_response(statusRestart Apache service to get mod_wsgi to work. sudo systemctl restart httpd.service

The mod_wsgi Apache module is used for serving Python scripts over HTTP via the Apache web server. This tutorial helps you to how to install the Apache Python module (mod_wsgi) on CentOS 8 Linux. We will also create a sample page in Python and deploy it with the Apache web server.

You may like:

  • How to Install Django Python Framework on CentOS 8
Step 1 – Prerequisites

Login to the CentOS 8 server console via SSH. Then must have python installed on our system. Use the following commands to install python as its dependencies on your system.

sudo dnf install python3 python3-pip
Step 2 – Install mod_wsgi Module

Before starting, you will need to install some prerequisite Apache components in order to work with mod_wsgi. You can install all the required components by simply running the following command:

sudo dnf install mod_wsgi httpd

Restart Apache service to get mod_wsgi to work.

sudo systemctl restart httpd.service
Step 3 – Configure Apache for WSGI

Next, create a python script to serve via the mod_wsgi Apache module. For testing, I have created a test_wsgi.py file under the default document root.

sudo vi /var/www/html/test_wsgi.py

And added the following content:

def application(environ, start_response): status = '200 OK' output = b'Hooray, mod_wsgi is working' response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))] start_response(status, response_headers) return [output]123456789def application(environ, start_response):    status = '200 OK'    output = b'Hooray, mod_wsgi is working'     response_headers = [('Content-type', 'text/plain'),                        ('Content-Length', str(len(output)))]    start_response(status, response_headers)     return [output]

After that, configure the Apache server to serve this file over the web. Let’s create a configuration file to serve the test_wsgi.py script over a sub URL.

sudo vi /etc/httpd/conf.d/python-wsgi.conf

Add the following content:

WSGIScriptAlias /test_wsgi /var/www/html/test_wsgi.py

<Directory /var/www/html>
Order allow,deny
Allow from all
</Directory>

After completing the above steps enable mod-wsgi configuration and restart Apache service.

sudo systemctl restart httpd.service
Step 4 – Testing

The setup is ready now. You can test the script by accessing the following URL in a web browser. Change your-server-ip with the actual server IP or hostname.

 http://your-server-ip/test_wsgi

You will see the results as below:

Ref From: tecadmin

Related articles