本篇博客主要内容为 介绍 阿里云服务器(CentOS) 搭建 Django 程序。
在正式开始之前,你需要有一台服务器。
文章目录
安装宝塔配置 Python 运行环境安装 Python配置 django 环境安装模块nginx 反向代理订阅时间安装宝塔
宝塔官网:/
如果使用的是 CentOS 系统,使用下述命令安装即可。
yum install -y wget && wget -O install.sh /install/install_6.0.sh && sh install.sh
安装完毕出现访问地址,账号和密码。
此时要做的第一个操作是去云服务器的控制面板,把8888
端口放开,具体的可以检索安全组配置,开启端口即可。
再次访问宝塔安装之后的地址,能看到登录界面,表示端口开启,宝塔可以正常操作。
配置 Python 运行环境
打开宝塔的软件商店,按照下图所示安装相关内容,默认登录宝塔之后,它会推荐安装LAMP
或者LNMP
,选择推荐安装即可。
尤其注意上述的 Python 项目管理器 是我们后续操作 Python 程序的必备插件。
安装 Python
点击Python 项目管理器右侧的设置按钮,弹窗选择版本管理,之后安装你需要的 Python 版本,这个地方安装的速度有点慢,略微等待一会即可。
配置 django 环境
配置 django 环境时,一定要注意参照下图配置,关于是否安装模块依赖,需要看你的项目中是否存在requirements.txt
文件,如果存在,才可勾选,模块也可以在项目开启之后,另行配置。
安装模块
项目初始化完毕之后,点击右侧的模块,手动安装项目中用到的模块,例如django
。
模块安装一定要注意版本号问题,例如 django 我本地使用的是 2.x 版本,所以服务器安装的也是该版本。
所有模块安装完毕,就可以重启 Python 服务了,这里需要时刻关注日志内容,确定可以重启成功。
这里会展示出 Python django 运行过程中出现的各种问题。
例如在首次运行会出现 Centos 系统自带的sqlite3
版本过低,在日志中会出现SQLite 3.x.x or later
等字样,这时就需要去升级 SQlite 的版本了。
以下内容转载自网络(/hupingzhi/p/11300049.html,感谢原作者,大家可以参考进行升级)
#更新SQLite 3#获取源代码(在主目录中运行)[root@djangoServer ~]# cd ~[root@djangoServer ~]# wget //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 --version3.27.2 -02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7[root@djangoServer ~]### Centos7自带的sqlite3版本[root@djangoServer ~]# /usr/bin/sqlite3 --version3.7.17 -05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668[root@djangoServer ~]### 可以看到sqlite3的版本还是旧版本,那么需要更新一下。[root@djangoServer ~]# sqlite3 --version3.7.17 -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 --version3.27.2 -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。
返回宝塔网站功能菜单,会看到出现一个新的站点。
点击网站名,可以查阅其反向代理配置,确保其在运行中即可。
此时,你可以打开浏览器,输入域名或者 IP,测试是否可以正常访问 django 程序,如果还报错,那查看项目根目录中settings.py
文件,是否配置如下内容,即ALLOWED_HOST
。
如果你的 Django 程序还存在静态资源,注意去反向代理配置中(找个空行),增加静态目录配置。
location /static/{alias /www/wwwroot/项目地址/static/;}
最后记得确定宝塔里面,网站端口是否准入,例如本案例中的8000
订阅时间
今天是持续写作的第 271 / 365 天。
可以关注我,点赞我、评论我、收藏我啦。
更多精彩
Python 爬虫 100 例教程导航帖(连续3年,不断更!)👇👇👇扫码加入【78技术人】~ Python 事业部👇👇👇,源码也在这