Nginx+uwsgi+Django
1、安装uwsgi
2、安装nginx
3、配置nginx:
1 | cd /etc/nginx/conf.d/ |
1 | 配置xxx.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | server{ listen 80; # 监听端口 server_name localhost ; # 域名 access_log / var /log/nginx/access.log main; # Nginx日志配置 charset utf-8; # Nginx编码 gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; # 支持压缩的类型 error_page 404 /404.html; # 错误页面 error_page 500 502 503 504 /50x.html; # 错误页面 # 指定项目路径uwsgi location / { include uwsgi_params; # (需要提前准备好文件)导入一个Nginx模块他是用来和uWSGI进行通讯的 uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间 uwsgi_pass unix:/opt/proj/script/uwsgi.sock; # 方式1,对应uwsgi.ini中的socket uwsgi_pass 127.0.0.1:9090 # 方式2,对应uwsgi.ini中的socket } # 指定静态文件路径(如果还有media等配置类似) location / static / { alias /opt/proj/teacher/ static /; index index.html index.htm; } } |
补充:
1 2 3 4 5 6 7 8 9 | location / static / { alias /opt/proj/teacher/ static /; index index.html index.htm; } 这里的静态文件没有包括admin后台的静态文件, 因为admin后台的静态文件在Django自己的路径, 所以,如果要加载全部的静态文件,这里需要先 收集所有的静态文件,然后将这里的路径改为收集后的路径。 |
1 2 3 4 5 6 7 | 收集所有的静态文件的路径: STATIC_ROOT=os.path. join (BASE_DIR, 'static_all' ) 命令行执行: python manage.py collectstatic 最后,将nginx的静态文件路径改为:static_all |
4、配置uwsgi
配置uwsgi.ini
1 2 3 4 5 6 7 8 9 10 11 12 13 | [uwsgi] socket=/opt/proj/script/uwsgi.sock # 方式1,对应nginx配置中的uwsgi_pass socket=127.0.0.1:9090 # 方式2,对应nginx配置中的 uwsgi_pass chdir=/wwwroot/destiny module=destiny.wsgi master = true processes=2 threads=2 max-requests=2000 chmod-socket=664 vacuum= true daemonize =/wwwroot/destiny/uwsgi.log |
5、启动nginx
6、启动uwsgi
7、测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现