用 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. jsp实用过滤器写法

    使用过滤器来给servlet设置编码 public class CharacterEncodingFilter implements Filter{ @Override public void des ...

  2. 如何让旧浏览器支持HTML5新标签

    HTML5出现也不短了,很多网站的页面都进行了改版,为了降低代码量(不需要起太多的类名),提升加载速度,提高标签的语义性,因此,在网页中大量使用了section,article,header等HTML ...

  3. 【题解】SDOI2014旅行

    洛谷P3313 大概是一道树链剖分的裸题.可以看出如果不是查询相同宗教的这一点,就和普通的树链剖分毫无两样了.所以针对每一个宗教都单独开一棵线段树,变成单点修改+区间查询.只不过宗教数目很多,空间消耗 ...

  4. [CF735D]Taxes

    题目大意:给你$n$,把它分成若干个数$n_i$,记价值为$\sum_{i=1}^k(\sum_{j|n_i}j-n_i)$(即分成的每个数的约数和(不包括自身)).(以前写的题,不知道为什么没交) ...

  5. Nginx的火速蔓延与其并发性处理优势

    Nginx是俄罗斯人编写的十分轻量级的HTTP服务器.Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Ngi ...

  6. jQuery源码分析笔记

    jquery-2.0.3.js版本源码分析 (function(){  (21,94) 定义了一些变量和函数 jQuery = function(){};  (96,283) 给JQ对象,添加一些方法 ...

  7. android OTA升级包制作

    0.签名 java -Xmx2048m -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/t ...

  8. 如何用listview显示服务端数据

    https://www.cnblogs.com/caobotao/p/5061627.html

  9. hadoop更换硬盘

    hadoop服务器更换硬盘操作步骤(datanode hadoop目录${HADOOP_HOME}/bin    日志位置:/var/log/hadoop)1.登陆服务器,切换到mapred用户,执行 ...

  10. ERROR: Found lingering reference file hdfs

    Found lingering reference异常 ERROR: Found lingering reference file hdfs://jiujiang1:9000/hbase/month_ ...