CentOS6下配置Django+Apache+mod_wsgi+Sqlite3过程

时间:2022-03-01 17:34:28

0. 安装环境:

CentOs版本:      VMWare中CentOs 6.4

Apache版本:      Httpd 2.2.15      http://httpd.apache.org/

Sqlite3版本:     Sqlite3 3.8.11.1       http://www.sqlite.org/

Python版本:       Python 3.4.0       https://www.python.org/

Django版本:     Django 1.8.5       https://www.djangoproject.com/community/

mod_wsgi版本: Mod_wsgi 4.4.15            https://pypi.python.org/pypi/mod_wsgi

1. 安装CentOS

注意:

网络适配器选择

网络配置 /etc/sysconfig/network-scripts/ifcfg-eth0

克隆镜像

  删除 /etc/sysconfig/network-scripts/ifcfg-eth0 中的MAC地址

  删除关联 /etc/udev/rules.d/70-persistent-net.rules

  重启系统 reboot

搭建服务器前:

  确认是否已安装:gcc, gcc-c++, zlib

  关闭防火墙

  关闭SELinxu

  检查80端口是否被占用

2. 安装Apache服务器

Apache就是Linux中的httpd

yum install httpd httpd-devel 

测试
service httpd start
在浏览器输入IP,出现下图则成功

CentOS6下配置Django+Apache+mod_wsgi+Sqlite3过程


查看是否已安装某软件(针对rpm和yum方式安装的,无法查看源码安装的)

rpm -qa httpd

3. 安装Sqlite3

tar -zxvf sqlite-autoconf-.tar.gz
cd sqlite-autoconf-
./configure
make
make install

4. 安装Python3.4

yum install zlib zlib-devel

tar -zxvf Python3.4.0.tgz
cd Python3.4.0 vim Modules/Setup.dist
找到
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
取消该行注释 ./configure --enable-shared make && make install #炒鸡慢......

运行会出错

# python3.4
python3.4: error while loading shared libraries: libpython3.4m.so.1.0: cannot open shared object file: No such file or directory

解决方案:

 新建下面文件
  vim /etc/ld.so.conf.d/python2.7.conf
  加入内容:
  /usr/local/lib
  保存退出后运行:
  ldconfig

为python3.4创建连接文件,取代原来的python

rm -f /usr/bin/python    (只是删除连接,python2.6本身并没有删除)

ln /usr/local/bin/python3.4 /usr/bin/python

此时输入python会打开python3.4

修改后yum命令可能无法使用了

解决方案:

vim /usr/bin/yum

修改#!/usr/bin/python 为 #!/usr/bin/python2.6  (系统默认安装的)

5. 安装Django

tar -zxvf Django-1.8.5.tgz
cd Django-1.8.5
python setup.py #比较慢... 测试
service httpd stop django-admin startproject xxx
cd xxx
python manage.py runserver 0.0.0.0:80
可以通过本地机浏览器访问虚拟机IP,出现It worked!

CentOS6下配置Django+Apache+mod_wsgi+Sqlite3过程


6. 安装mod_wsgi

安装mod_wsgi-3.4.tar.gz会报错
安装mod_wsgi-4.4.15.tar.gz tar -zxvf mod_wsgi-4.4.15.tar.gz
cd mod_wsgi-4.4.15
./configure
make && make install 生成编译好的mod_wsgi.so文件 /usr/lib/httpd/modules/mod_wsgi.so

7. 配置Apache和Django 

参考文档: How to use Django with Apache and mod_wsgi

a 配置httpd.conf
vim /etc/httpd/conf/httpd.conf 导入模型(一堆LoadMoudule处)
LoadModule wsgi_module modules/mod_wsgi.so 添加目录(最末尾)

<Directory /var/www/html/mysite/mysite>

<Files wsgi.py>

order deny,allow

allow from all    #Apache小于2.4版本, 2.4及以上版本则将两句改为:require all granted

</Files>

</Directory>

b 部署Django

cd /var/www/html
django-admin startproject mysite Django 1.4以上版本会自动在mysite/mysite下创建wsgi.py 重启httpd服务器  service httpd restart 浏览器输入IP即可
CentOS6下配置Django+Apache+mod_wsgi+Sqlite3过程