用 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. 用OneNote写博客的方法

    1.进入OneNote要发布博客的分区然后点击菜单栏中的文件         2.点击发送至博客         3.这时候会启动word程序弹出下面的对话框(如果你从未设置过)点击立即注册     ...

  2. lintcode-108-分割回文串 II

    108-分割回文串 II 给定一个字符串s,将s分割成一些子串,使每个子串都是回文. 返回s符合要求的的最少分割次数. 样例 比如,给出字符串s = "aab", 返回 1, 因为 ...

  3. grpc deadlines

    最近在将应用的rpc更换为grpc,使用过程中,发现报“rpc error:code=DeadlineExceeded desc = context deadline exceeded”,这是啥?原来 ...

  4. java生成和解析二维码

    前言 现在,二维码的应用已经非常广泛,在线生成器也是诸多,随手生成. 所以就和大家分享一个小案例,用zxing来做一个的二维码生成器,当然这个例子是比较简单,若是写的不好请多多包涵. ZXING项目是 ...

  5. 【bzoj3856】Monster 乱搞

    题目描述 你要打一只h点血的怪物,每回合你攻击会造成a点伤害,回合结束后怪物会回b点血,你每攻击k回合需要休息一次,该回合不能造成伤害.怪物血量降到0以下就会死亡,问最后能否打死怪物. 输入 Ther ...

  6. BZOJ4311 向量(线段树分治+三分)

    由点积的几何意义(即投影)可以发现答案一定在凸壳上,并且投影的变化是一个单峰函数,可以三分.现在需要处理的只有删除操作,线段树分治即可. #include<iostream> #inclu ...

  7. CF985F Isomorphic Strings

    题目描述 You are given a string s s s of length n n n consisting of lowercase English letters. For two g ...

  8. ACM 竞赛高校联盟 练习赛 第二场 B&C

    B. 题解: 枚举约数即可,判断n个数能否填约数的整数倍 #include <iostream> #include <cstring> #include <cstdio& ...

  9. [POJ 1204]Word Puzzles(Trie树暴搜&amp;AC自己主动机)

    Description Word puzzles are usually simple and very entertaining for all ages. They are so entertai ...

  10. 【BZOJ1458】士兵占领 最大流的模板题

    我们只要把他们可以有的限制用流量限制,再用两者关系限制一下就可以开心的跑了. #include <cstdio> #include <cstring> #include < ...