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

相关文章
|
2月前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建
70 6
|
1月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
43 1
|
2月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
41 4
|
2月前
|
应用服务中间件 Linux nginx
Linux下操作Nginx相关命令
Linux下操作Nginx相关命令
|
2月前
|
存储 Shell 数据库
Python编程--Django入门:用户账户(二)
Python编程--Django入门:用户账户(二)
28 2
|
2月前
|
存储 数据库 Python
Python编程--Django入门:用户账户(一)
Python编程--Django入门:用户账户(一)
20 1
|
2月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
92 0
|
2月前
|
网络协议 应用服务中间件 Linux
Linux安装nginx
Linux安装nginx
|
安全 Linux 测试技术
配置Goby工具环境(win,linux,macOS)
配置Goby工具环境(win,linux,macOS)
838 2
下一篇
DataWorks