使用gunicorn部署django项目时,发现静态文件加载失败问题,及部署

这篇具有很好参考价值的文章主要介绍了使用gunicorn部署django项目时,发现静态文件加载失败问题,及部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

  

urlpatterns = [

  url('^admin/', admin.site.urls),

]

urlpatterns += staticfiles_urlpatterns()

# 修改settings.py文件的:INSTALLED_APPS INSTALLED_APPS = [ ... 'gunicorn', # 把gunicorn添加到apps中 ]

配置脚本文件启动django项目:

# gunicorn_config.py
import logging
import logging.handlers
from logging.handlers import WatchedFileHandler
import os
import multiprocessing

bind = '0.0.0.0:8000'      # 绑定ip和端口号
# chdir = '/opt/workspace/bookstore'  # 目录切换
# backlog = 500              # 监听队列
timeout = 60                 # 超时
worker_class = 'gevent' # 使用gevent模式,还可以使用sync 模式,默认的是sync模式
workers = multiprocessing.cpu_count() * 2 + 1    # 进程数
threads = 2  # 指定每个进程开启的线程数
loglevel = 'info'  # 日志级别,这个日志级别指的是错误日志的级别,而访问日志的级别无法设置
access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'
accesslog = "/www/wwwroot/django_DRF_connecting/log/gunicorn_access.log"  # 访问日志文件
errorlog = "/www/wwwroot/django_DRF_connecting/log/gunicorn_error.log"    # 错误日志文件

让gunicorn通过守护进程运行,也就是后台运行。

gunicorn -c gunicorn.conf.py -D django_DRF_connecting.wsgi:application

-c 指定一个配置文件(py文件)
-b 与指定的socket进行绑定
-D 以守护进程形式来运行Gunicorn进程,其实就是将这个服务放到后台去运行
-w 工作的进程数量;
-k 工作进程类型,sync(默认), eventlet, gevent, or tornado, gthread, gaiohttp.
http://docs.gunicorn.org/en/latest/settings.html

以下是将gunicorn.conf.py配置成127.0.0.1:8000的nigix文件修改内容,我没有用反向代理直接在gunicorn里面配置的0.0.0.0:8080,大家可以做为参考

http {
    include       mime.types;
    default_type  application/octet-stream;
    
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.flag.space, 109.39.89.199;
        location / {
            proxy_pass http://127.0.0.1:8000;
            #root   html;
            #index  index.html index.htm;
        }
        location /static {
            alias /opt/workspace/bookstore/static;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
 文章来源地址https://www.toymoban.com/news/detail-486601.html

到了这里,关于使用gunicorn部署django项目时,发现静态文件加载失败问题,及部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • fastAPI+gunicorn+supervisor模式部署配置文件

    gunicorn conf配置内容 supervisord 配置内容

    2024年02月15日
    浏览(10)
  • Django高级扩展之静态文件和ajax使用

    Django高级扩展之静态文件和ajax使用

    目录 使用静态文件 创建静态文件目录 Settings.py配置 创建css文件 路由与视图 设置路由 视图 模板使用静态文件 调用css 调用js 调用图片 优化路径 加载标签 修改文件路径 修改图片路径 修改js路径 修改css路径 使用Ajax 应用场景 示例 路由 视图 模板 Javascript 总结 css、js、图片、

    2024年02月09日
    浏览(37)
  • 阿里云服务器部署flask项目「gunicorn + nginx + 支持https」

    阿里云服务器部署flask项目「gunicorn + nginx + 支持https」

    最近做了一个微信小程序,使用 flask 实现了对应的后台,上线需要部署到服务器上,之前只是了解并没有全链路试过,靠着网上的资料最终完成部署上线,但中间遇到了较多的一些问题,网上的资料也比较零碎,所以整理了这篇文章,一方面是作为记录方便后续查阅,另一方

    2024年02月06日
    浏览(14)
  • 从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)

    从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)

      Django是目前比较火爆的框架,之前有在知乎刷到,很多毕业生进入大厂实习后因为不会git和Django框架3天就被踢掉了,因为他们很难把自己的工作融入到整个组的工作中。因此,我尝试自学Django并整理出如下笔记。   在这部分,我将从Django的安装讲起,从创建项目到制

    2024年02月09日
    浏览(8)
  • Django 加载静态资源及<!DOCTYPE html>标红解决办法

    Django 加载静态资源及<!DOCTYPE html>标红解决办法

    1.文件夹位置: 用于开发者存放HTML页面。 本文件夹位置建立在app01文件夹目录下 -- 新建templates文件夹 -- 并在文件夹下创建html文件。 该文件的文件名与上述链接指向的html文件名称相同。 2.要点: 优先去项目的根目录的templates中寻找(这个需要提前配置),不配置则无效。

    2023年04月08日
    浏览(16)
  • Python中使用Gunicorn进行高效部署的配置指南

    Gunicorn(Green Unicorn)是一个用于在Python Web应用程序中充当HTTP服务器的工具。它可以帮助开发人员在生产环境中高效地部署Python应用程序。本文将介绍如何正确配置和使用Gunicorn,以实现最佳的性能和可靠性。 Gunicorn是一个基于Python的Web服务器,它使用预派生的子进程来处理并

    2024年04月13日
    浏览(8)
  • vue3项目服务器静态文件部署增加指定路由地址完整实现

    在 Vue 3 项目中,如果你想要配置服务器以便让它在特定的地址上运行,你通常是在使用 Vue CLI 的 devServer 配置。这主要是通过修改 vue.config.js 文件实现的。 如果你希望开发服务器绑定到特定地址,比如 192.168.1.100 ,可以这样做: 在项目根目录下创建或修改 vue.config.js : 如果你

    2024年02月07日
    浏览(13)
  • django项目使用docker部署

    django项目使用docker部署

    1. 在项目根目录下创建一个Dockerfile文件,该文件用于生成docker镜像 2. 继续在项目根目录下创建一个pip.conf文件,用于修改pip镜像源 3. 最后在项目根目录下创建一个requirements.txt文件,用于下载项目所依赖的包 4. 将整个项目文件上传到服务器中,并生成镜像 5. 创建并运行容器

    2024年02月08日
    浏览(13)
  • Tomcat无法加载Web项目部署后的静态页面(Caused by: java.lang.IllegalArgumentException: 指定的主资源集[X:XXXX]无效 || 子容器启动失败)

    Tomcat无法加载Web项目部署后的静态页面(Caused by: java.lang.IllegalArgumentException: 指定的主资源集[X:XXXX]无效 || 子容器启动失败)

    问题截图: 问题原因: 此种情况一般来讲是 docBase 与 path 的路径有一方是正确路径而另一方路径出错导致的,访问到前面的路径是正确的自然Console是不报错的,如此才会使得资源访问会出现404的问题。 解决方案:  1、在Servers中找到server.xml文件,拉到下方重新统一正确的路

    2024年02月07日
    浏览(13)
  • linux中如何使用nginx部署多个静态资源文件?

    一、切换到nginx的配置文件路径下:cd /usr/local/nginx/conf 二、编辑nginx的配置文件:vim nginx.conf 三、修改或添加location代码块,如下 location /project1{ alias /usr/local/nginx/dist#静态资源路径 index index.html index.htm; } location /project2{ alias /usr/local/nginx/dist#静态资源路径 index index.html index.htm

    2024年02月05日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包