用 Python 搭建一个 Web 服务器

文章结构

  一、安装  Apache、Python、django

  二、安装 mod_wsgi,Apache 为 Python 提供的 wsgi 模块

   三、将 Django 应用到 Apache 中

  四、安装并配置 postgreSQL,(并使用 psycopy2 Python模块操作 postgreSQL;可选)

  五、将 Django 的数据库设置为 postgreSQL

一、安装 Apache、Python、Django

二、安装 mod_wsgi

  mod_wsgi 官方文档:https://modwsgi.readthedocs.org/en/develop/user-guides/quick-installation-guide.html

  一般 linux 发行版包含的预编译包可能过时很久了,所以直接从源码编译

  因为是从源码编译,确保系统已经包含 httpd-devel(apxs apache 扩展工具)、python-devel(python )

  如果没有,那么就安装一个

sudo yum install httpd-devel python-devel

  获取 mod_wsgi 源码包:

wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.4.20.tar.gz

  解压源码包

tar xvzf 4.4.20.tar.gz

  载入目录,依次输入以下命令

./configure

./make

./make install

  安装完成,一般可以在目录 /var/lib64/httpd/modules 中查看

三、配置 apache

  加载 mod_wsgi

    在 Apache 配置文件中,将 mod_wsgi 添加进去

    打开 Apache 配置文件:

vim /etc/httpd/conf/httpd.conf

    添加:

LoadModule wsgi_module modules/mod_wsgi.so

    验证 Apache 是否加载模块 mod_wsgi

    重启 Apache:

systemctl restart httpd

    在命令终端输入:

httpd -M

    如果出现 wsgi_model(shared)字样,说明加载成功

  创建 Django 项目,并配置 Apache

    创建 Django 项目:

django-admin startproject mysite

    打开 Apache 配置文件:

vim /etc/httpd/conf/httpd.conf

    添加:

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com <Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory> 

    重启 Apache:

      systemctl restart httpd

    配置完成!

四、安装并配置 postgreSQL,并使用 psycopy2 Python模块操作 postgreSQL

  安装postgreSQL 服务器

    使用 yum 安装

sudo yum install postgresql-client postgresql-server 

//可选安装包
postgresql-contrib //额外模块
postgresql-devel //开发工具
pgadmin3 //图形化工具

    初始化数据库

service postgresql initdb
chkconfig postgresql on

    开启数据库

systemctl start postgresql

    修改数据库配置文件,使得可以使用 psql -U 命令登陆(可略过)

vim /var/lib/pgsql/data/pg_hba.conf

    修改其中内容,将

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local all all md5

    中的 “ peer ” 改为 “ md5”

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local all all md5

    登陆数据库,其中 postgres 为管理员账号

psql -U postgres

    出现 postgres=# 则表示登陆成功

    如果出现密码错误的问题,输入

su postgres

    进入 “ bash-4.2$ ” 提示符下,输入

psql

    进入 “postgres=#” 提示符,输入

ALTER USER postgres PASSWORD 'newPassword';

    更改密码即可

  安装 psycopg2 ,Python 对 postgreSQL 的适配函数库

    使用 pip 安装

sudo pip install psycopg2

    进入 python 解释器,输入

import psycopg2 

    没有提示则表示安装成功

Centos 下,配置 Apache + Python + Django + postgresSQL 开发环境的更多相关文章

  1. window7 下配置python2.7+tornado3.3开发环境

    玩python的人大都在linux下进行开发,由于长期习惯在windows下开发代码,今天蛋疼尝试在window7下配置python2.7+tornado3.3开发环境,必然的中间遇到各种报错,但是最 ...

  2. 在Windows下配置Python+Django+Eclipse开发环境

    一.配置开发环境我的开发环境是:Python2.6.7 + Django1.6.2 + Eclipse1.安装Python2.安装Eclipse的Python插件PyDev如上两步如何操作请点击此进行 ...

  3. CentOS下配置Apache HTTPS

    一.安装Apache支持SSL/TLS yum install mod_ssl openssl 二.创建证书 证书(Cerificate)的基本作用是将一个公钥和安全个体(个人.公司.组织等)的名字绑 ...

  4. CentOS下配置apache+gitweb

    GitWeb支持多个版本库,可以对多个版本库进行目录浏览(包括历史版本),可以查看文件内容,查看提交历史,提供搜索及 RSS feed支持,也可以提供目录文件的打包下载等.可以看https://git ...

  5. Ubuntu16.04下配置VScode的C/C++开发环境

    博客转载:https://blog.csdn.net/weixin_43374723/article/details/84064644 Visual studio code是微软发布的一个运行于 Ma ...

  6. 17 win7 sp1 x64/VS2015下配置creo4.0二次开发环境——调用了众多开源库(ceres-solver,PCL1.8.0,office 2016COM接口,MySql数据库等)

    0 引言 本次开发环境的配置是在综合考虑了开源库的版本.VS版本以及CREO4.0的版本,同时针对甲方需求选择了win7 sp1 x64系统. 配置的过程中遇到了形形色色的问题,但是一一解决了.通过这 ...

  7. windows下python+Django+eclipse开发环境的配置

    1.JDK环境的安装 在http://www.java.com/zh_CN/download/faq/develop.xml 页面下,点击JDK下载,下载所需的jdk版本.直接点击安装即可. 2.py ...

  8. 阿里云 配置apache+python+django 环境 适合菜鸟

    云服务器环境:阿里云服务:20G+1M带宽+centos+512M 一.python安装: 刚开始没有好好利用centos 的yum方法.采用wget从python官网上下载的2.7.5版本.解压安装 ...

  9. ubuntu下配置Apache+mod_wsgi+Django项目(个人测试)

    经过了一个星期的摸索,查找资料以及实验,我搭建的环境基本能用(还有就是Django后台的静态文件加载的问题) 这里面只是介绍一下我的过程,因为对应Apache还不是很熟练,特别是配置文件.只能供大家参 ...

随机推荐

  1. lintcode-103-带环链表 II

    带环链表 II 给定一个链表,如果链表中存在环,则返回到链表中环的起始节点的值,如果没有环,返回null. 样例 给出 -21->10->4->5, tail connects to ...

  2. Linux中安装apache

    一.前言 安装的背景就是公司项目要用,自己在linux安装软件不多,过程比较曲折,需要记录一下(最近几篇博客好像都会有这种高大上的背景)~先说下笔者安装环境以及相关软件版本: 操作系统:RedHat ...

  3. Delphi中取得程序版本号

    Delphi做的程序,如果想包含版本信息, 必须在Delphi的集成编辑环境的菜单“Project/Options/Version Info”里面添加版本信息.即在Version Info 选项卡中选 ...

  4. 大并发量订单处理的 KafKa部署

    大并发量订单处理的 KafKa部署总结 今天要介绍的是消息中间件KafKa,应该说是一个很牛的中间件吧,背靠Apache 与很多有名的中间件搭配起来用效果更好哦 ,为什么不用RabbitMQ,因为公司 ...

  5. hdu 3033 I love sneakers!(分组背包+每组至少选一个)

    I love sneakers! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  6. POJ3294 Life Forms 【后缀数组】

    生命形式 时间限制: 5000MS   内存限制: 65536K 提交总数: 16660   接受: 4910 描述 你可能想知道为什么大多数外星人的生命形式与人类相似,不同的是表面特征,如身高,肤色 ...

  7. 安徽师大附中%你赛day3T1 怜香惜玉 解题报告

    怜香惜玉 题意: 已知 \(f(x)=\frac{2 \times \sum_{(i,x)=1}^x i}{φ(x)}\) 先给定数据组数\(t\)和\(k\) 每组数据给出\(n\),求\(\sum ...

  8. Bash script: report largest InnoDB files

    The following script will report the largest InnoDB tables under the data directory: schema, table & ...

  9. 原生toolbar基本使用教程

    1.先写布局文件 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" app:title=" ...

  10. codeforces 799C Fountains

    C. Fountains time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...