Django项目部署到Centos,解决Django静态文件不能加载问题【详细步骤】

本文详细介绍了如何将Django项目部署到Centos7.3服务器上,包括安装宝塔面板,配置Python环境,打包上传项目,运行项目及解决静态文件加载问题。关键步骤包括安装Python管理插件,打包requirements.txt,上传项目,设置Python版本,映射域名,并正确配置静态文件路径。最后,文章提到了静态文件加载失败的常见解决方案。
摘要由CSDN通过智能技术生成

Django项目与服务器环境

服务器环境

  • Centos 7.3

项目环境

  • Python 3.8.6
  • Django 2.0.1

连接服务器&安装宝塔面板

  • 连接到服务器,这里以阿里云控制面板中连接到服务器为例:
    在这里插入图片描述

👿注意:先切换到root的权限模式,便于后续的安装工作。

  • 宝塔面板官网中选择Centos版本的链接:
    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
  • 记录下宝塔面板连接的链接、账号、密码:如下图
    在这里插入图片描述
  • 根据上面的信息登录到宝塔面板,登录进去后的界面如下:
    在这里插入图片描述

在宝塔面板中安装环境

安装Python项目管理插件
👿 注意:好像只有在Centos系统的宝塔面板中才有这个插件,我使用Ubuntu的时候没有找到。

  • 点击宝塔面板左侧中软件商店中,进入后,搜索“python”,就可以看到下面有这个插件,点击安装.
    在这里插入图片描述
  • 安装成功后,点击右侧的设置,进入下面的界面,选择版本控制,安装相应的python版本。
    在这里插入图片描述

打包Django项目&上传项目到服务器

打包Django项目

  • 进入Django项目中manage.py所在的文件夹的终端,使用下面的命令对项目的依赖包进行打包,生成requirements.txt文件。(这一步骤其实相当于就是把项目中需要安装的第三方库记录到requirements.txt中,到时候在服务器上面根据这个requirements.txt再配置这些第三方库。
pip freeze > requirements.txt

上传Django项目

  • 将Django项目上传到**/www/wwwroot**所在的文件夹中,例如下面的hello项目。
    在这里插入图片描述

运行项目

在Python项目管理插件中添加项目

  • 在左右的软件商店里找到Python项目管理插件,然后点击设置,添加项目。里面的各种选项很简单,按实际情况填写就行。
    在这里插入图片描述

👿 注意

  • 这里Python一定要选择前面安装的那个版本,另外一定选择uwsgi方式启动
  • 箭头的位置,一定要定位到wsgi.py那个文件,因为这是启动文件。
  • 端口可以自己进行选择,这里默认使用8000,但是到时候访问的网址的时候不需要加端口8000.

映射地址

  • 点击 “映射”,然后输入网址,或者可以直接输入IP地址,例如:123.45.78.10。
  • 然后就可以进入这个网站了,但是注意使用的访问网址是http://123.45.78.10 , 而不是http://123.45.78.10:8000
  • 👿提醒:这里一定要进行地址映射,很多教程都没有写,否则不能进入网站中。

解决静态文件不能加载的问题

问题:到此为止,这个项目部署已经完成了90% , 但是我们会发现此时的网站没有样式,也就是不能加载css,js,img这些静态文件。

网上大部分教程给出的解决方案

  1. 修改setting.py文件:在setting.py文件中添加下面的代码。
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, '/static/')
STATICFILES_DIRS = (
     os.path.join(BASE_DIR, 'static'),
)
  1. 修改网站配置文件:👿这一步很有可能出问题,应该按照后面那个模块的方式更改。
    在下面图片中网站的配置文件,添加路径信息。添加的代码为
location /static
    {    
        alias  /www/wwwroot/项目名/static/;
    }

在这里插入图片描述

  1. 进入python虚拟环境中,收集静态文件:
# 首先激活python虚拟环境
source www/wwwroot/项目文件夹名/项目名_venv/bin/activate
# 进入项目文件夹
cd www/wwwroot/项目文件夹名
# 收集静态文件
python manage.py collectstatic
  1. 重启项目
    在这里插入图片描述

正确的配置

  • 上面的修改中其它步骤并没有问题,但是问题出现在第二步。
  • 第二步正确的修改方式应该采用下面的代码:
location ^~ /static/ {
        root /www/wwwroot/项目名/;
 }

完成啦!

到此为止已经完成了使用django的部署啦!

参考

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值