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

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

安装宝塔

宝塔官网: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环境,运行 django 程序
此时要做的第一个操作是去云服务器的控制面板,把 8888 端口放开,具体的可以检索安全组配置,开启端口即可。
阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序
再次访问宝塔安装之后的地址,能看到登录界面,表示端口开启,宝塔可以正常操作。
阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序

配置 Python 运行环境

打开宝塔的软件商店,按照下图所示安装相关内容,默认登录宝塔之后,它会推荐安装 LAMP 或者 LNMP,选择推荐安装即可。
阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序
尤其注意上述的 Python 项目管理器 是我们后续操作 Python 程序的必备插件。

安装 Python

点击 Python 项目管理器 右侧的设置按钮,弹窗选择 版本管理,之后安装你需要的 Python 版本,这个地方安装的速度有点慢,略微等待一会即可。
阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序

配置 django 环境

配置 django 环境时,一定要注意参照下图配置,关于是否安装模块依赖,需要看你的项目中是否存在 requirements.txt 文件,如果存在,才可勾选,模块也可以在项目开启之后,另行配置。
阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序

安装模块

项目初始化完毕之后,点击右侧的模块,手动安装项目中用到的模块,例如 django
阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序
模块安装 一定要注意 版本号问题,例如 django 我本地使用的是 2.x 版本,所以服务器安装的也是该版本。
阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序
所有模块安装完毕,就可以重启 Python 服务了,这里需要时刻关注日志内容,确定可以重启成功。

阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序
这里会展示出 Python django 运行过程中出现的各种问题。

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

以下内容转载自网络(https://www.cnblogs.com/hupingzhi/p/11300049.html,感谢原作者,大家可以参考进行升级)

#更新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环境,运行 django 程序
返回宝塔网站功能菜单,会看到出现一个新的站点。
阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序
点击网站名,可以查阅其反向代理配置,确保其在运行中即可。
阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序
此时,你可以打开浏览器,输入域名或者 IP,测试是否可以正常访问 django 程序,如果还报错,那查看项目根目录中 settings.py 文件,是否配置如下内容,即 ALLOWED_HOST
阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序
如果你的 Django 程序还存在静态资源,注意去反向代理配置中(找个空行),增加静态目录配置。

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

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

阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序

订阅时间

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

更多精彩


阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序

👇👇👇扫码加入【78技术人】~ Python 事业部👇👇👇,源码也在这
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐