服务器Ubuntu系统上,利用Nginx+uWSGI部署Django项目(多个项目)

陈占占
• 阅读 1360

前提已经安装好Nginx和uwsgi。 将Django项目上传到服务器上。 服务器Ubuntu系统上,利用Nginx+uWSGI部署Django项目(多个项目) 在项目根目录上,创建uWSGI的配置文件uwsgi.ini。 服务器Ubuntu系统上,利用Nginx+uWSGI部署Django项目(多个项目) 个人简历项目-uwsgi.ini配置

[uwsgi]
socket=:8000
# 项目在服务器上的地址
chdir=/home/ubuntu/chenzhanxu/blog
module=resume.wsgi
master=true
processes=2
threads=2
vacuum=true
harakiri=120
buffer-size=65536
lazy-apps=true
# 项目的虚拟环境
home=/home/ubuntu/.virtualenvs/chen

个人博客项目-uwsgi.ini配置

[uwsgi]
# 开放的服务器端口号
socket=:8001
# 项目在服务器上的地址
chdir=/home/ubuntu/chenzhanxu/blog
module=blog.wsgi
master=true
processes=2
threads=2
vacuum=true
harakiri=120
buffer-size=65536
lazy-apps=true
# 项目的虚拟环境
home=/home/ubuntu/.virtualenvs/chenzhanxu

尽量将ini文件中的注释删掉,以免报错。 uwsgi文件配置完之后,再来配置Nginx,Nginx默认的配置文件都在/etc/nginx目录下,所以在/etc/nginx/sites-available目录下进行配置default文件。

sudo vim /etc/nginx/sites-available/default

我是把default文件中的内容全部备份了一份(免得改错不知道源文件),然后删除了。

# 第一个项目配置
server {
    # SSL证书
    listen 443 ssl;
    ssl_certificate /home/ubuntu/chenzhanxu/chenzhanxu.top_nginx/chenzhanxu.top_bundle.crt;
    ssl_certificate_key /home/ubuntu/chenzhanxu/chenzhanxu.top_nginx/chenzhanxu.top.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    # 第一个项目的域名(一级域名)
    server_name     www.chenzhanxu.top;
    charset         UTF-8;
    # 错误记录
    access_log      /home/ubuntu/chenzhanxu/blog/log/blog_access.log;
    error_log       /home/ubuntu/chenzhanxu/blog/log/blog_error.log;

    client_max_body_size 75M;

    location / {

        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8001;    #端口号-要和uwsgi中的一样
        uwsgi_read_timeout 10;

    }
    # 静态文件
    location /static {

        expires 30d;
        autoindex on;
        add_header Cache-Control private;
        alias /home/ubuntu/chenzhanxu/blog/app/static;

    }

}
# 第二个项目配置
server {

    listen 80 default_server;
    # 第二个项目的域名(二级域名)
    server_name     resume.chenzhanxu.top;
    charset         UTF-8;
    # 错误记录
    access_log      /home/ubuntu/chenzhanxu/resume/log/resume_access.log;
    error_log       /home/ubuntu/chenzhanxu/resume/log/resume_error.log;

    client_max_body_size 75M;
    client_header_buffer_size 16k;
    large_client_header_buffers 4 64k;

    location / {

        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8000;    #端口号-要和uwsgi中的一样
        uwsgi_read_timeout 10;

    }
    # 静态文件
    location /static {

        expires 30d;
        autoindex on;
        add_header Cache-Control private;
        alias /home/ubuntu/chenzhanxu/resume/app/static;

    }

}

Nginx与uwsgi配置完成之后,用uwsgi启动项目。

# 需要到项目的跟目录上运行uwsgi.ini文件
sudo uwsgi --ini uwsgi.ini
# 后台运行,关闭ssh也可以查看
sudo uwsgi -d --ini uwsgi.ini
# 查看运行中的uwsgi
ps -ef|grep uwsgi
# 关闭运行中的uwsgi
udo kill -9 *****

服务器Ubuntu系统上,利用Nginx+uWSGI部署Django项目(多个项目)

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Nginx+uwsgi+ssl配置https
使用原始django,太过于笨重和杂多nginx是一个轻量级的web服务器,在处理静态资源和高并发有优势uwsgi是一个基于python的高效率的协议,处理后端和动态网页有优势所以这里采用静态网页交给nginx解析,动态网页交给uwsgi解析,并且nginx配置ssl,即可以使用出高安全,高效率的部署。步骤我
Stella981 Stella981
3年前
Django+nginx+uwsgi部署教程(centos7+ubuntu16.4)
项目部署教程在线演示(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2F139.199.131.146%2F)1.1.原理介绍django 一个基于python的开源web框架uwsgi 一是一个web服务器,也可以当做中间件
Stella981 Stella981
3年前
Flask + Gunicorn + Nginx 部署
最近很多朋友都在问我关于Flask部署的问题,说实在的我很乐意看到和回答这样的问题,至少证明了越来越多人开始用Flask了。之前我曾发表过一篇在Ubuntu上用uwsginginx的Flask部署方法,说实在的uwsgi是个大坑可能用在Django上还好吧,不过用在Flask上未必就如此。至少,uwsgi是个极
Stella981 Stella981
3年前
Nginx与uWSGI交互
1\.更改uwsgi的配置文件uwsgi.iniuwsgi...使用nginx连接时,监控地址socket127.0.0.1:8080直接做web服务器时,所监控地址http127.0.0.1:80802\.在nginx配置文件中的路由模块添加uwsgi支持.
Stella981 Stella981
3年前
Django3.0 + nginx + uwsgi 部署
CentOS7.6下部署Django3.0应用,使用nginxuwsgi部署:1\.uwsgi部署pipinstalluwsgi在项目的根目录中,新建文件夹conf,然后进入conf文件夹,并新建文件uwsgi.ini,内容如下:mysite_uwsgi.inifileuws
Stella981 Stella981
3年前
Linux学习笔记之Django项目部署(CentOS)
一、引入  用Django写了一个测试的项目,现在要部署在Linux上,一般这种情况下,只要在项目里面敲一行命令:python manage.py runserver0.0.0.0:8000就行了。但这是在开发项目的时候用这个可以测试项目,在浏览器看到效果。正真部署到服务器上,这样是不行的,因为窗口一关,Django也就关了。当然你也可以一直不关。。。
Stella981 Stella981
3年前
Django + Uwsgi + Nginx 实现生产环境部署
本节内容uwsgi介绍uwsgi安装使用nginx安装配置djangowithnginx如何在生产上部署Django?Django的部署可以有很多方式,采用nginxuwsgi的方式是其中比较常见的一种方式。uwsgi介绍uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。N
Wesley13 Wesley13
3年前
Ubuntu 上使用uwsgi部署django项目
在Ubuntu上使用uwsgi来部署1.将django项目发送到服务器上2.将settings.py的STATICFILES_DIRS注释添加STATIC_ROOTos.path.join(BASE_DIR,"static")收集一下静态文件pythonmanage.pycollects
Stella981 Stella981
3年前
Linux下部署springboot项目的步骤及过程
最近在研究将springboot项目部署到Linux服务器上,由于springboot是内嵌了tomcat,所以可以直接将项目打包上传至服务器上。我是在idea上的项目,所以我就基于此说下过程。(一)打包你的项目1、在pom文件中添加springboot的maven插件 !(https://img2018.cnblogs.com/blog/1
Stella981 Stella981
3年前
CentOS下宝塔如何部署Django项目?
基础环境装好宝塔服务宝塔里装好【Python项目管理器】宝塔里装好【Nginx】把Django项目代码发到服务器把代码放到服务器上有两种方法:方法一:服务器上安装Git,通过GitClone代码到服务器上方法二:通过宝塔的FTP工具把代码上传上去
陈占占
陈占占
Lv1
永恒的新手~
文章
22
粉丝
3
获赞
12