Centos 下,配置 Apache + Python + Django + postgresSQL 开发环境

时间:2021-08-26 22:47:25

用 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

    配置完成!

Centos 下,配置 Apache + Python + Django + postgresSQL 开发环境

四、安装并配置 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 

    没有提示则表示安装成功