python编程:linux环境gunicorn+nginx部署django项目

简介: python编程:linux环境gunicorn+nginx部署django项目

安装包


pip install gunicorn supervisor

gunicorn

确保django项目中有 wsgi.py 文件


通过gunicorn启动django项目(project需要换为相应的名称)


gunicorn --chdir project_dir --pythonpath venv/bin/python -w4 -b0.0.0.0:8090 project_name.wsgi:application

如果启动失败,就kill


lsof -i:8090
kill pid

访问测试:http://0.0.0.0:8090


nginx

找到nginx的配置文件


nginx -t

在末尾添加一下内容, 当然也可以单独配置


http {
    server {
        listen  8000;  # nginx的监听端口
        server_name localhost;
        location ^~ /static/ {
        root /project;  # 此处配置静态文件路径,不带static
        }
        location / {
            proxy_pass http://127.0.0.1:8090;  # guncorn启动django的监听路径和端口
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

nginx的基本操作


service nginx start  # 启动
service nginx stop # 关闭
service nginx restart  # 重启

配置完了执行:


nginx -t  # 检查语法
service nginx restart # 重启nginx

访问测试:http://127.0.0.1:8000/


supervisor

配置supervisor


[program:project_name]
directory=project_dir
command=gunicorn --pythonpath venv/bin/python -w4 -b0.0.0.0:8090 project_name.wsgi:application
autostart=true
autorestart=true
stdout_logfile=project.log
stderr_logfile=project.err        ; stderr log path, NONE for none; default AUTO
redirect_stderr=true          ; redirect proc stderr to stdout (default false)
stopsignal=QUIT               ; signal used to kill process (default TERM)

先将之前启动的gunicorn关闭, 再启动supervisor,这样可以确保程序异常退出后自动重启


python supervisord -c supervisord.conf
参考
django2.0+uwsgi+nginx部署
查看nginx配置文件路径
mac环境composer新建php的symfony项目并用nginx配置
python编程:mac环境gunicorn+nginx部署flask项目
Django 部署(Nginx)
django 中静态文件配置 static

相关文章
|
7天前
|
存储 算法 安全
Python编程实验六:面向对象应用
Python编程实验六:面向对象应用
30 1
|
1天前
|
缓存 安全 中间件
Python小白必备!清华大牛整理的《Django零基础入门到精通》手册
Django 是 Python 社区的两大最受欢迎的 Web 框架之一(另一个是 Flask)。凭借功能强大的脚手架和诸多开箱即用的组件,可以使你能够以最小的代价构建和维护高质量的Web应用。 从好的方面来看,Web 开发激动人心且富于创造性;从另一面来看,它却是份繁琐而令人生厌的工作。 通过减少重复的代码,Django 使你能够专注于 Web 应用上有趣的关键性的东西。 为了达到这个目标,Django提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。 同时,Django 尝试留下一些方法,来让你根据需要在framework
|
3天前
|
存储 设计模式 前端开发
Python Django框架总介绍
Python Django框架总介绍
8 0
|
3天前
|
机器学习/深度学习 数据处理 算法框架/工具
Python标准库与第三方库:强大的编程资源
Python标准库与第三方库:强大的编程资源
|
4天前
|
Python 容器
Python与GUI编程:创建图形用户界面
Python的Tkinter库是用于构建GUI应用的内置工具,无需额外安装。它提供了丰富的控件,如按钮、文本框等,让用户通过图形界面与程序交互。创建GUI窗口的基本步骤包括:导入Tkinter库,创建窗口对象,设置窗口属性,添加控件(如标签和按钮),并使用布局管理器(如`pack()`或`grid()`)来组织控件的位置。此外,可以通过绑定事件处理函数来响应用户操作,例如点击按钮。Tkinter还有更多高级功能,适合开发复杂GUI应用。
|
4天前
|
机器学习/深度学习 网络协议 数据库
Python编程实战:解决常见编程问题
```markdown Python编程入门指南:涵盖文件操作、列表操作、字符串处理、函数编写、异常处理、网络编程和数据库操作等实战案例。通过示例代码,学习如何读写文件、排序列表、转换字符串、创建函数、处理异常、构建TCP服务器及操作SQLite数据库,逐步掌握Python核心技能。 ```
|
4天前
|
机器学习/深度学习 人工智能 数据可视化
Python编程入门:从零开始探索编程的奇妙世界
这篇教程引导初学者入门Python编程,从安装Python开始,逐步讲解基本语法,如`print()`、变量、条件判断、循环以及自定义函数。文章强调了Python在数据处理、数据分析、人工智能和机器学习等领域的重要性,并鼓励学习者探索Python的广泛应用,开启编程之旅。
|
6天前
|
C语言 Python
专为编程小白设计的Python零基础入门教程,GitHub星标破W
市面上大多数技术类的书籍都着重于一步步的构建系统的知识体系,并不是说这样就是不对的,但这样按部就班的学习注定了需要花费大量的时间用来掌握“基础知识”,或死记硬背,或慢慢理解。 然而世界不会迁就你,而是在步步紧逼的告诉你要赶紧学完,赶紧找工作,赶紧挣钱,这才是你生活的基础。 今天给小伙伴们带来了一份《编程小白的第一步Python书》,这本书是专为零基础小白设计的,不会告诉“先学C语言,会更好理解Python”这种狗屁道理。而是先带你掌握搭建项目所用到的最少得知识,再真实的项目搭建中实践自己的所学,逐渐的完善知识体系
|
6天前
|
设计模式 缓存 前端开发
Python Django框架
Python Django框架
|
应用服务中间件 nginx Python
Django项目部署
环境 django == 1.11.16 nginx == 1.10.3 项目编写 略 安装nginx 略(前一篇有详细介绍) 配置uwsgi 创建 xxx.ini 文件 [uwsgi] socket=:9000 # 端口 chdir=/mnt/project/project_api # 项目路径 包含manage.