GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing www.fullstackpython.com — Operating Systems Operating SystemsAn operating system runs on the server or virtual server and controls access to computing resources. The operating system also includes a way to install programs necessary for running your Python web application.
Why are operating systems necessary?An operating system makes many of the computing tasks we take for granted easy. For example, the operating system enables writing to files, communicating over a network and running multiple programs at once. Otherwise you'd need to control the CPU, memory, network, graphics card, and many other components with your own low-level implementation. Without using an existing operating system like Linux, Mac OS X or Windows, you'd be forced to write a new operating system as part of your web application. It would be impossible to write features for your Python web application because you'd be too busy hunting down a memory leak in your assembly code, if you even were able to get that far. Fortunately, the open source community provides Linux to the Python world as a rock solid free operating system for running our applications. Recommended operating systemsThe only recommended operating systems for production Python web stack deployments are Linux and FreeBSD. There are several Linux distributions commonly used for running production servers. Ubuntu Long Term Support (LTS) releases, Red Hat Enterprise Linux, and CentOS are all viable options. Mac OS X is fine for development activities. Windows and Mac OS X are not appropriate for production deployments unless there is a major reason why you must use them in lieu of Linux. Canonical's Ubuntu LinuxUbuntu is a Linux distribution packaged by the Canonical Ltd company. Ubuntu uses the Debian distribution as a base for packages, including the aptitude package manager. For desktop versions of Ubuntu, GNOME (until the 11.04 release, then again in 18.04) or Unity (11.10 until 17.10) is bundled with the distribution to provide a user interface. Ubuntu Long Term Support (LTS) releases are the recommended versions to use for deployments. LTS versions receive five years of post-release updates from Canonical. Every two years, Canonical creates a new LTS release, which allows for an easy upgrade path as well as flexibility in skipping every other LTS release if necessary. As of May 2018, 18.04 Bionic Beaver is the latest Ubuntu LTS release. Xenial Xerus includes Python 3.6 as its default Python version, which is a major update compared with 2.7 in Ubuntu 14.04 LTS and a solid improvement over Python 3.5 included in Ubuntu 16.04 LTS. Red Hat and CentOSRed Hat Enterprise Linux (RHEL) and Community ENTerprise Operating System (CentOS) are the same distribution. The primary difference between the two is that CentOS is an open source, liberally licensed free derivative of RHEL. RHEL and CentOS use a different package manager and command-line interface from Debian-based Linux distributions: RPM Package Manager (RPM) and the Yellowdog Updater, Modified (YUM). RPM has a specific .rpm file format to handle the packaging and installation of libraries and applications. YUM provides a command-line interface for interacting with the RPM system. Learning how operating systems work
Choosing an OS resourcesmacOS and Linux are generally preferred by Python developers over Windows because many Python packages like gevent simply do not work on Windows. Others such as Ansible cannot be used as intended on Windows without major hacks. The following operating system resources cover perspectives on why developers chose one operating system over others.
Operating system learning checklist
After setting up your OS you should configure a web server.
1. Introduction
2. Development Environments
3. Data
4. Web Development
5. Deployment
Hosting
Servers
Static Content
CDNs
Virtual Private Servers
Linode
DigitalOcean
Lightsail
Platform-as-a-Service
Heroku
PythonAnywhere
AWS CodeStar
Operating Systems
Ubuntu
macOS
Windows
FreeBSD
Web Servers
Apache HTTP Server
Nginx
Caddy
WSGI Servers
Green Unicorn (Gunicorn)
mod_wsgi
uWSGI
Continuous Integration
Jenkins
GoCD
Configuration Management
Ansible
Salt
Containers
Docker
Kubernetes
Serverless
AWS Lambda
Azure Functions
Google Cloud Functions
6. DevOps
Changelog
What Full Stack Means
About the Author
Future Directions
Page Statuses
...or view the full table of contents.
Full Stack Python
Full Stack Python
is an open book that explains concepts in plain language and provides
helpful resources for those topics.
Updates via Twitter & Facebook. |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |