[linux-ubuntu]apache部署django

一. 部署Apache

1. 先安装apache的依赖:apr、apr-util、pcre

(1)apr、apr-util下载地址:http://apr.apache.org/download.cgi ,下载完后分别解压编译安装

apr解压编译安装:

tar -zxvf 包名

./configure --prefix=/usr/local/apr #指定目录安装方便查看

make && make install

apr-util解压编译安装:

tar -zxvf 包名

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make && make install

(2) pcre下载地址:http://pcre.org/ 

tar -zxvf 包名

./configure --prefix=/usr/local/pcre

make && make install

2.安装Apache

下载地址:http://httpd.apache.org/download.cgi ,下载完一样解压编译安装:

tar -zxvf httpd-2.4.33.tar.gz

cd httpd-2.4.33

./configure --prefix=/usr/local/apache2

make && make install

3. 测试apache安装完成

(1)由于apache默认监听的80端口,避免和其他部署项目冲突,我这里将配置的监听端口改为8000

vim /usr/local/apache2/conf/httpd.conf

将Listen 80修改为Listen 8000

(2)重启apache服务

/usr/local/apache2/bin/apachectl restart

(3)浏览器访问http://127.0.0.1:8000,显示It Work 即成功。


二. 部署Wsgi(相当于apache和django的桥梁)


tar xvfz mod_wsgi-3.4.tar.gz

cd mod_wsgi-3.4

./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/local/bin/python

make && make install

PS:如果报错Error: Command failed with rc=65536,是由于没有与python建立共享库,所以需要重新编译python

(我用的是python2.7.10),然后编译的时候加上--enable-shared


三. 部署Django


1. 安装pip,python项目这个工具是必不可少的

   可能会碰到的报错:缺少setuptools,继续先安装setuptools;依然可能会碰到的报错:缺少zlib;

  在ubuntu中,直接安装他们:

  agt-get install zlib1g 

  apt-get install zlib1g-dev

 然后再重新编译安装下python才能生效。顺利的话pip就安装好了,pip -V,看看安装成功没,推荐安装10.0.1的最新版本。

2. 按项目需要用到的包django、mysql等

  pip install "django<2" (我自己用的1.11)

  pip install mysql-python

如果仍然报错,根据报错提示解决。

3. 配置apache以及wsgi,重点部分的配置如下

(1)wsgi.py:

import os
from os.path import join,dirname,abspath

PROJECT_DIR = dirname(dirname(abspath(__file__)))

import sys
sys.path.insert(0,PROJECT_DIR)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

(2)apache的配置:

#添加mod_wsgi.so 模块
LoadModule wsgi_module modules/mod_wsgi.so

#指定myweb项目的wsgi.py配置文件路径
WSGIScriptAlias / /***/wsgi.py

#指定项目路径
WSGIPythonPath /usr/local/lib/python2.7/dist-packages
<Directory ***>
<Files wsgi.py>
    Require all granted
</Files>
</Directory>

#配置静态资源
Alias /static/ /***/static/
<Directory /***/static>

    Require all granted

</Directory>

四. 重启Apache服务,项目部署成功

/usr/local/apache2/bin/apachectl restart

如果仍有错误,可以看下apache的log


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值