Python3.6+Django2.0+Apache2.4+CentOS7.5 部署到云服务器腾讯云

注意的地方

  1. Linux 的一些代码不能识别tab 键,不能识别一些"奇怪的空格"
  2. 复制代码时,把注释和所有的空格代码后面的空格删掉(可能有点难,毕竟空格看不见,没关系,后面会介绍如何排错)

环境

  1. CentOS7.5(腾讯云服务器)
  2. Python3.6
  3. Django2.0
  4. Mysql5.7
  5. Apache2.4

开始

  1. 准备一个全新的 CentOS 7.5(我给服务器重装了系统)
    在这里插入图片描述

  2. 安装 Python 环境
    a. 到官网下载 Python 的源码安装包(一定要源码的)
    在这里插入图片描述
    b. 利用软件(我这里用FlieZilla, 也可以用 Xftp)把 Python 安装包上传到服务器上
    在这里插入图片描述
    c. 解压 Python 安装包

 cd /opt/ 
 tar -xvf Python-3.6.5.tgz 

在这里插入图片描述

d.安装依赖

yum install vim wget gcc gcc+ zlib-devel openssl-devel -y

在这里插入图片描述

e.编译/安装 Python

cd Python-3.6.5/
./configure --prefix=/usr/local/python36 --enable-shared --with-ssl 

在这里插入图片描述

make && make install

f.配置环境变量

vim /etc/profile
PATH=$PATH:/usr/local/python36/bin/      //最后一行加上这句话,保存后退出
source /etc/profile
cd  /etc/ld.so.conf.d
vim python3.conf
/usr/local/python36/lib
保存后退出
运行 ldconfig

在这里插入图片描述
Python 环境安装结束 !!!

  1. 安装 Apache2.4
    a.下载下面的安装包
    Apr:http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
    Apr-Util:http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
    pcre:http://jaist.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz
    apache:http://httpd.apache.org/download.cgi

b. 把这几个安装包上传到服务器(opt 目录下)

c. 安装依赖

yum -y install gcc**
yum -y install  gcc++ zlib zlib-devel

c. 解压/编译/安装

tar -xvf apr-1.5.2.tar.gz 
cd apr-1.5.2/ 
./configure --prefix=/usr/local/apr/
make && make install

回到 opt 目录 cd /opt

tar -xvf apr-util-1.5.4.tar.gz 
cd apr-util-1.5.4/
 ./configure --prefix=/usr/local/apr-util/  --with-apr=/usr/local/apr/
 make && make install

回到 opt 目录 cd /opt

 tar -xvf pcre-8.39.tar.gz 
 cd pcre-8.39/
./configure --prefix=/usr/local/pcre/
 make && make install

回到 opt 目录 cd /opt

tar -xvf httpd-2.4.37.tar.gz 
cd httpd-2.4.37/
./configure --prefix=/usr/local/apache24/  --with-apr=/usr/local/apr/  --with-apr-util=/usr/local/apr-util/  --with-pcre=/usr/local/pcre/
make && make install

apache 安装完毕
检测是否安装成功

cd /usr/local/apache24/bin/
./apachectl start 

如果你是在自己的电脑配置,没有问题,会显示It works.
但是如果你在服务器上配置,还需要修改一些东西

cd /usr/local/apache24/conf/
vim httpd.conf
ServerName 192.xxx.xxx.xxx   #你的服务器地址

在这里插入图片描述
之后再回到 Apache 目录,启动 Apache

cd /usr/local/apache24/bin/
./apachectl start

在这里插入图片描述

  1. 编译安装mod_wsgi
wget https://codeload.github.com/GrahamDumpleton/mod_wsgi/tar.gz/4.5.24
tar zxvf 4.5.24
cd mod_wsgi-4.5.24
./configure --with-apxs=/usr/local/apache24/bin/apxs --with-python=/usr/local/python36/bin/python3.6
make && make install

5.安装Mysql5.7(不需要数据库的可以跳过)
安装教程,点我

6.把项目上传到服务器(我把项目放在/opt目录下)
在这里插入图片描述

  1. 安装Django
pip3 install Django==2.0
  1. 配置httpd.conf和 wsgi.py

a、修改你项目的setting.py文件

ALLOWED_HOSTS = ["*"]

b.编辑wsgi.py文件,在项目中的wsgi.py文件,更改后的代码如下(注意代码的路径)

import os, sys

from django.core.wsgi import get_wsgi_application

sys.path.append('/usr/local/python36/bin/')

sys.path.append('/opt/jiekoufuwu')

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

application = get_wsgi_application()

在这里插入图片描述

c.编辑httpd.conf文件

vim /usr/local/apache24/conf/httpd.conf

在最后加上以下代码(注意路径,是你的项目路径)

LoadModule wsgi_module modules/mod_wsgi.so

<VirtualHost *:80>
    DocumentRoot  "/opt/jiekoufuwu"
    WSGIScriptAlias  / "/opt/jiekoufuwu/jiekoufuwu/wsgi.py"
    <Directory  /opt/jiekoufuwu/static>
        Require all granted
    </Directory>
    <Directory  /opt/jiekoufuwu>
        AllowOverride all
        Require all granted
    </Directory>
</VirtualHost>
  1. 数据库迁移
python manage.py makemigrations
python manage.py migrate
  1. 重新启动Apache
cd /usr/local/apache24/bin/
./apachectl  restart
  1. 测试
    在这里插入图片描述
    因为项目只涉及到后端的接口,所以在apache没有配置静态文件,所以看不到完整的页面,只能获取接口数据

不彩的彩蛋

在配置Apache文件时,如果运行过程中出现问题,可以用Django自带的web服务器运行项目,这样就可以显示错误的日志(Apache也有日志,但是我觉得日志不够详细),很有可能的错误在字符上,linux不能识别tab或者其他的空格

Django + Nginx + uWsgi部署生产环境

https://blog.youkuaiyun.com/Coxhuang/article/details/84068509

|
|
|

完 !!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值