本篇博客主要内容为 介绍 阿里云服务器(centos) 搭建 django 程序。
在正式开始之前,你需要有一台服务器。
安装宝塔
宝塔官网:https://www.bt.cn/
如果使用的是 centos 系统,使用下述命令安装即可。
1
|
yum install - y wget && wget - o install.sh http: / / download.bt.cn / install / install_6. 0.sh && sh install.sh |
安装完毕出现访问地址,账号和密码。
爱主机评测网,最优惠主机信息推荐,便宜VPS分享,香港CN2
此时要做的第一个操作是去云服务器的控制面板,把 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 的版本了。
以下内容转载自网络(,感谢原作者,大家可以参考进行升级)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#更新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。
返回宝塔网站功能菜单,会看到出现一个新的站点。
点击网站名,可以查阅其反向代理配置,确保其在运行中即可。
此时,你可以打开浏览器,输入域名或者 ip,测试是否可以正常访问 django 程序,如果还报错,那查看项目根目录中 settings.py
文件,是否配置如下内容,即 allowed_host
。
如果你的 django 程序还存在静态资源,注意去反向代理配置中(找个空行),增加静态目录配置。
1
2
3
4
|
location / static / { alias / www / wwwroot / 项目地址 / static / ; } |
最后记得确定宝塔里面,网站端口是否准入,例如本案例中的 8000
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。