前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python3.6+Django2.0+Apache2.4+CentOS7.5 部署到云服务器腾讯云

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

作者头像
Autooooooo
发布2020-11-09 11:20:40
1.8K0
发布2020-11-09 11:20:40
举报
文章被收录于专栏:CoxhuangCoxhuang

注意的地方

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

环境

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

开始

  1. 准备一个全新的 CentOS 7.5(我给服务器重装了系统)
  1. 安装 Python 环境 a. 到官网下载 Python 的源码安装包(一定要源码的)

b. 利用软件(我这里用FlieZilla, 也可以用 Xftp)把 Python 安装包上传到服务器上

c. 解压 Python 安装包

代码语言:javascript
复制
 cd /opt/ 
 tar -xvf Python-3.6.5.tgz 

d.安装依赖

代码语言:javascript
复制
yum install vim wget gcc gcc+ zlib-devel openssl-devel -y

e.编译/安装 Python

代码语言:javascript
复制
cd Python-3.6.5/
./configure --prefix=/usr/local/python36 --enable-shared --with-ssl 
代码语言:javascript
复制
make && make install

f.配置环境变量

代码语言:javascript
复制
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. 安装依赖

代码语言:javascript
复制
yum -y install gcc**
yum -y install  gcc++ zlib zlib-devel

c. 解压/编译/安装

代码语言:javascript
复制
tar -xvf apr-1.5.2.tar.gz 
cd apr-1.5.2/ 
./configure --prefix=/usr/local/apr/
make && make install

回到 opt 目录 cd /opt

代码语言:javascript
复制
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

代码语言:javascript
复制
 tar -xvf pcre-8.39.tar.gz 
 cd pcre-8.39/
./configure --prefix=/usr/local/pcre/
 make && make install

回到 opt 目录 cd /opt

代码语言:javascript
复制
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 安装完毕

检测是否安装成功

代码语言:javascript
复制
cd /usr/local/apache24/bin/
./apachectl start 

如果你是在自己的电脑配置,没有问题,会显示It works.

但是如果你在服务器上配置,还需要修改一些东西

代码语言:javascript
复制
cd /usr/local/apache24/conf/
vim httpd.conf
ServerName 192.xxx.xxx.xxx   #你的服务器地址

之后再回到 Apache 目录,启动 Apache

代码语言:javascript
复制
cd /usr/local/apache24/bin/
./apachectl start
  1. 编译安装mod_wsgi
代码语言:javascript
复制
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
代码语言:javascript
复制
pip3 install Django==2.0
  1. 配置httpd.conf和 wsgi.py

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

代码语言:javascript
复制
ALLOWED_HOSTS = ["*"]

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

代码语言:javascript
复制
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文件

代码语言:javascript
复制
vim /usr/local/apache24/conf/httpd.conf

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

代码语言:javascript
复制
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. 数据库迁移
代码语言:javascript
复制
python manage.py makemigrations
python manage.py migrate
  1. 重新启动Apache
代码语言:javascript
复制
cd /usr/local/apache24/bin/
./apachectl  restart
  1. 测试

因为项目只涉及到后端的接口,所以在apache没有配置静态文件,所以看不到完整的页面,只能获取接口数据

不彩的彩蛋

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

Django + Nginx + uWsgi部署生产环境

https://cloud.tencent.com/developer/article/1744960

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注意的地方
  • 环境
  • 开始
  • 不彩的彩蛋
  • Django + Nginx + uWsgi部署生产环境
  • https://cloud.tencent.com/developer/article/1744960
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档