Django+Nginx部署静态文件

本文介绍了如何使用Nginx部署Django项目的静态文件,包括设置STATIC_ROOT,运行collectstatic命令,以及编辑Nginx配置文件,最后重启Nginx和启动Django网站。

通过Nginx部署Django项目时,需要通过Nginx来部署静态文件。具体操作如下:

  1. 设置static根目录
    在项目的setting.py中“STATIC_URL = ‘/static/’”上面加入一行,如下所示
STATIC_ROOT = 'XXXX/项目名称/static'		# XXXX写项目的绝对路径
STATIC_URL = '/static/'
  1. 收集静态文件
    然后运行如下命令:
python manage.py collectstatic			# django会自动把需要的静态文件收集到STATIC_ROOT中
  1. 配置Nginx
    在Nginx中的配置文件(/etc/nginx/sites-available/XXX)中加入如下代码:
……
server{
……
	location / {
		……
	}
	# 主要是加入下面三行
	location /static/ {
		root XXXX/项目名称;				# 此处为Django中设置的STATIC_ROOT对应位置(去掉static)
	}
}

经过以上三个步骤后,重启Nginx,启动django网站即可。

### DjangoNginx部署教程 在CentOS 7.x上部署Django应用并与Nginx集成是一个常见的生产环境需求。以下是详细的配置过程: #### 一、安装必要的软件包 确保系统已安装Python、pip以及其他依赖项。接着通过`yum`或其他工具安装Nginx和uWSGI。 ```bash sudo yum install epel-release sudo yum install nginx uwsgi uwsgi-plugin-python3 ``` #### 二、配置Nginx服务 编辑Nginx的站点可用配置文件,通常位于`/etc/nginx/sites-available/`目录下。创建一个新的配置文件(如`myproject.conf`),并添加以下内容[^4]: ```nginx server { listen 80; server_name example.com; # 替换为实际的域名或IP地址 location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; # 对应uWSGI监听的socket地址 } location /static/ { alias /path/to/static/files/; # 替换为静态文件的实际路径 } } ``` 完成上述修改后,测试Nginx配置语法是否正确,并重新加载服务[^2]: ```bash sudo nginx -t sudo systemctl reload nginx ``` 如果一切正常,则会显示类似的消息:“syntax is ok”。 #### 三、配置uWSGI 在项目的根目录中创建一个名为`uwsgi.ini`的文件,用于定义uWSGI的行为[^3]。该文件的内容可能类似于下面这样: ```ini [uwsgi] chdir = /root/django-projects/myserver # 更改为您的项目路径 module = myserver.wsgi:application # 根据实际情况调整模块名 master = true processes = 4 threads = 2 socket = 127.0.0.1:8000 vacuum = true py-autoreload = 1 ``` 启动uWSGI服务时可执行以下命令: ```bash uwsgi --ini uwsgi.ini ``` #### 四、处理静态文件 对于Django中的静态资源管理,在开发环境中可以通过内置服务器提供支持;但在生产环境下推荐由Nginx负责托管这些文件。因此需先收集所有应用程序内的静态资产至单一位置[^3]: ```python python manage.py collectstatic ``` 随后更新Nginx配置中的`location /static/ {}`部分指向此集中存储区域。 --- ### 总结 以上步骤涵盖了从基础环境准备到具体参数设定的过程,能够帮助开发者顺利实现基于Linux系统的Django+Nginx架构部署方案[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值