本篇博客主要内容为 介绍 阿里云服务器(CentOS) 搭建 Django 程序。

在正式开始之前,你需要有一台服务器。


文章目录

  • 安装宝塔
  • 配置 Python 运行环境
  • 安装 Python
  • 配置 django 环境
  • 安装模块
  • nginx 反向代理
  • 订阅时间


安装宝塔

宝塔官网:https://www.bt.cn/ 如果使用的是 CentOS 系统,使用下述命令安装即可。

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完毕出现访问地址,账号和密码。

Python项目宝塔搭建 宝塔 python_服务器


此时要做的第一个操作是去云服务器的控制面板,把 8888 端口放开,具体的可以检索安全组配置,开启端口即可。

Python项目宝塔搭建 宝塔 python_阿里云_02


再次访问宝塔安装之后的地址,能看到登录界面,表示端口开启,宝塔可以正常操作。

Python项目宝塔搭建 宝塔 python_Python项目宝塔搭建_03

配置 Python 运行环境

打开宝塔的软件商店,按照下图所示安装相关内容,默认登录宝塔之后,它会推荐安装 LAMP 或者 LNMP,选择推荐安装即可。

Python项目宝塔搭建 宝塔 python_python_04


尤其注意上述的 Python 项目管理器 是我们后续操作 Python 程序的必备插件。

安装 Python

点击 Python 项目管理器 右侧的设置按钮,弹窗选择 版本管理,之后安装你需要的 Python 版本,这个地方安装的速度有点慢,略微等待一会即可。

Python项目宝塔搭建 宝塔 python_Python项目宝塔搭建_05

配置 django 环境

配置 django 环境时,一定要注意参照下图配置,关于是否安装模块依赖,需要看你的项目中是否存在 requirements.txt 文件,如果存在,才可勾选,模块也可以在项目开启之后,另行配置。

Python项目宝塔搭建 宝塔 python_python_06

安装模块

项目初始化完毕之后,点击右侧的模块,手动安装项目中用到的模块,例如 django

Python项目宝塔搭建 宝塔 python_阿里云_07


模块安装 一定要注意 版本号问题,例如 django 我本地使用的是 2.x 版本,所以服务器安装的也是该版本。

Python项目宝塔搭建 宝塔 python_服务器_08


所有模块安装完毕,就可以重启 Python 服务了,这里需要时刻关注日志内容,确定可以重启成功。

Python项目宝塔搭建 宝塔 python_python_09


这里会展示出 Python django 运行过程中出现的各种问题。

例如在首次运行会出现 Centos 系统自带的 sqlite3 版本过低,在日志中会出现 SQLite 3.x.x or later 等字样,这时就需要去升级 SQlite 的版本了。

以下内容转载自网络(,感谢原作者,大家可以参考进行升级)

#更新SQLite 3
#获取源代码(在主目录中运行)
[root@djangoServer ~]# cd ~
[root@djangoServer ~]# wget https://www.sqlite.org/2019/sqlite-autoconf-3270200.tar.gz
[root@djangoServer ~]# tar -zxvf sqlite-autoconf-3270200.tar.gz

#构建并安装
[root@djangoServer ~]# cd sqlite-autoconf-3270200
[root@djangoServer sqlite-autoconf-3270200]# ./configure --prefix=/usr/local/sqlite
[root@djangoServer sqlite-autoconf-3270200]# make && make install

#检查版本
## 最新安装的sqlite3版本
[root@djangoServer ~]# /usr/local/sqlite/bin/sqlite3 --version
3.27.2 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7
[root@djangoServer ~]#

## Centos7自带的sqlite3版本
[root@djangoServer ~]# /usr/bin/sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
[root@djangoServer ~]#

## 可以看到sqlite3的版本还是旧版本,那么需要更新一下。
[root@djangoServer ~]# sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
[root@djangoServer ~]#

## 更改旧的sqlite3
[root@djangoServer ~]# mv /usr/bin/sqlite3  /usr/bin/sqlite3_old

## 软链接将新的sqlite3设置到/usr/bin目录下
[root@djangoServer ~]# ln -s /usr/local/sqlite/bin/sqlite3   /usr/bin/sqlite3

## 查看当前全局sqlite3的版本
[root@djangoServer ~]# sqlite3 --version
3.27.2 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7
[root@djangoServer ~]#

#将路径传递给共享库
# 设置开机自启动执行,可以将下面的export语句写入 ~/.bashrc 文件中,如果如果你想立即生效,可以执行source 〜/.bashrc 将在每次启动终端时执行
[root@djangoServer ~]# export LD_LIBRARY_PATH=/usr/local/sqlite/lib

只要运行中,日志无错误数据产生,就表示配置成功,接下来就可以设置 nginx 反向代理了。

nginx 反向代理

点击下图映射 按钮,输入域名或者服务器外网 IP。

Python项目宝塔搭建 宝塔 python_服务器_10


返回宝塔网站功能菜单,会看到出现一个新的站点。

Python项目宝塔搭建 宝塔 python_django_11


点击网站名,可以查阅其反向代理配置,确保其在运行中即可。

Python项目宝塔搭建 宝塔 python_阿里云_12


此时,你可以打开浏览器,输入域名或者 IP,测试是否可以正常访问 django 程序,如果还报错,那查看项目根目录中 settings.py 文件,是否配置如下内容,即 ALLOWED_HOST

Python项目宝塔搭建 宝塔 python_服务器_13


如果你的 Django 程序还存在静态资源,注意去反向代理配置中(找个空行),增加静态目录配置。

location /static/
    {
        alias /www/wwwroot/项目地址/static/;
    }

最后记得确定宝塔里面,网站端口是否准入,例如本案例中的 8000

Python项目宝塔搭建 宝塔 python_阿里云_14

订阅时间

今天是持续写作的第 271 / 365 天。
可以关注我,点赞我、评论我、收藏我啦。