Home » Categories » Multiple Categories

How To Setup uWSGI On Ubuntu 12.10

uWSGI provides an implementation of the WSGI specification and is both a protocol and an application server. For more, please refer to the uWSGI docs here. Although in this tutorial we will setup a standalone uWSGI server, it is generally kept behind nginx.

Prerequisites


  ssh -p 25000 demo@12.34.56.789

Remember to replace '2500' with the number of port you used in the previous article. Replace 'demo' with your username and '12.34.56.789' with your IP.

The server needs to be equipped with Python; since you have installed Ubuntu 12.04, you might already have Python 2.7.3 installed.

Step 1: Install Pip and Python Essentials


We will download the Python development headers as we will be deploying a small application written in Python.
sudo apt-get install build-essential python-dev
sudo apt-get install python-pip

Step 2: Install dependent packages


Next, install the required packages.
sudo apt-get install libxml2-dev
sudo apt-get install libxslt1-dev 

Step 3: Install Pip


We will install uwsgi from pip and not using aptitude, as Aptitude seems to install an older version of uwsgi.
sudo pip install uwsgi

Step 4: Create a small Application


We will create a small application and render a text. Create the following folder and then a python file inside it.
mkdir ~/projects
vim ~/projects/app.py

Copy the following contents in this file:
def application(env, start_response):
        start_response('200 OK', [('Content-Type','text/html')])
        return "Hello World"

Step 5: Launch the Application via uWSGI


Assuming that you have created a 'demo' user using 'adduser' as mentioned in the Pre-requisites sections, you can run the following to start serving the application at a port of your choice:
sudo uwsgi --http :port_num; --wsgi-file app.py  --uid <username>
sudo uwsgi --http :9090 --wsgi-file app.py  --uid demo

Step 6: Confirmation: Access the Application


You can confirm that uWSGI has been installed and running by directing your browser to your http://<IP address:port>:
ifconfig eth0 | grep inet | awk '{ print 2 }'

When you visit your <IP address:port> page in your browser, you will see the words:
"Hello World"

uWSGI installed and a sample application served by it.
Attachments Attachments
There are no attachments for this article.
Related Articles RSS Feed
How to Setup Tiki Wiki on Ubuntu 12.10
Viewed 3067 times since Thu, Jan 2, 2014
How To Work with the ZeroMQ Messaging Library
Viewed 2663 times since Sat, Jan 4, 2014
How To Create Nagios Plugins With Python On Ubuntu 12.10
Viewed 1514 times since Sat, Jan 4, 2014
Common Python Tools: Using virtualenv, Installing with Pip, and Managing
Viewed 1275 times since Sat, Jan 4, 2014
How To Set Up Apache Virtual Hosts on Ubuntu 12.04 LTS
Viewed 2455 times since Mon, Dec 23, 2013
A Comparison of Web Servers for Python Based Web Applications
Viewed 1559 times since Sat, Jan 4, 2014
How To Launch Your Site on a New Ubuntu 12.04 Server with LAMP, SFTP, and DNS
Viewed 1520 times since Thu, Dec 26, 2013
How to Setup a Multi-Protocol VPN Server Using SoftEther
Viewed 3882 times since Thu, Jan 2, 2014
How To Set Up an NFS Mount on Ubuntu 12.04
Viewed 4210 times since Tue, Dec 24, 2013
How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu
Viewed 1813 times since Thu, Jan 2, 2014