1. 安装环境

    sudo apt-get install nginx
    sudo apt install python3
    sudo apt install python3-pip

    使用 sudo pip3 install 安装 下面环境

    pip3 install
    uwsgi
    Django
    django-cors-headers # 跨域
    mysqlclient # 连接MySQL
    wechatpy[cryptography] #微信公众平台SDK
    xlrd # 表格插件

    然后在项目文件夹根目录执行下面命令,然后就可以在项目根目录下面找到后端的样式资源(static文件夹下)了

    python3 manage.py collectstatic
  2. 环境配置

    cd /etc/nginx/sites-enabled/

    创建一个配置文件,如:demo,里面的内容如下,当前示例配置文件是前后端分离(Vue和Django):

    server {
    listen 80;
    listen [::]:80; server_name demo.zhuchenglin.cn; # 后端Django的样式
    location /static/admin/ {
    expires 30d;
    autoindex on;
    add_header Cache-Control private;
    alias /var/www/html/demo/back/static/admin/;
    }
    # 前端样式
    location /static/ {
    expires 30d;
    autoindex on;
    add_header Cache-Control private;
    alias /var/www/html/demo/front/dist/static/; }
    # 前端找到Vue的index.html
    location /front/ {
    alias /var/www/html/demo/front/dist/;
    index index.html index.htm;
    }
    # 后端处理请求
    location /{
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:9000;
    uwsgi_send_timeout 600;
    uwsgi_connect_timeout 600;
    uwsgi_read_timeout 1000; }
    }
  3. 服务启动和关闭

    1. 启动uWSGI,--processes 后面的数字可以更改,代表开启进程的个数。

      uwsgi --socket 127.0.0.1:9000 --chdir /var/www/html/demo/back  --module back.wsgi:application --processes 1 --enable-threads

      其他关于uwsgi的参数请见uwsgi官方文档

    2. 启动Nginx

      sudo /usr/sbin/nginx
    3. 关闭uWSGI和Nginx

      1. 关闭uWSGI和Nginx都可以使用

        ps -ef | grep uwsgi
        ps -ef | grep nginx

        然后使用 kill -3 进程id

      2. nginx 命令

        sudo /usr/sbin/nginx -t   #检测配置文件是否有问题
        sudo /usr/sbin/nginx -s stop # 快速关闭
        sudo /usr/sbin/nginx -s quit # 从容关闭
        sudo /usr/sbin/nginx -s reload
        sudo /usr/sbin/nginx -s restart

这样就可以通过域名来访问Django项目了。

注:本文操作在ubuntu系统上进行的,在其他Linux系统上安装软件的命令可能不一样(比如Centos用yum)

如需转载请注明出处:https://www.cnblogs.com/zhuchenglin/p/10748904.html

Linux 搭建Nginx+uWSGI+Django环境的更多相关文章

  1. 安装Nginx+uWSGI+Django环境

    Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和 ...

  2. Nginx+uWSGI+Django环境配置

    通常项目会部署在虚拟环境,虚拟环境的使用可以参考这里,点击前往 当然你也可以直接部署,这里不多说. 一.安装uWSGI 1.通过pip安装 pip install uwsgi 这里只说明了一种安装方式 ...

  3. 使用nginx+uwsgi+Django环境部署

    环境准备 Python点这里 nginx点这里 uwsgi点这里

  4. Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器

    一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...

  5. nginx+uwsgi+django开发环境搭建

    Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...

  6. Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器

    目录 Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器 crm django项目部署流程 使用supervisro启动uwsgi,退出虚 ...

  7. debian完整部署 Nginx + uWSGI + Django

    手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供 ...

  8. nginx+uWSGI+django+virtualenv+supervisor发布web服务器

    nginx+uWSGI+django+virtualenv+supervisor发布web服务器   导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以 ...

  9. Nginx+uWSGI+Django部署web服务器

    目录 Nginx+uWSGI+Django部署web服务器 环境说明 前言 搭建项目 Django部署 编辑luffy/luffy/settings.py 编辑luffy/app01/views.py ...

随机推荐

  1. linux下双网卡双网关配置

    要求: eth0:192.168.100.203 连接内网,网关为192.168.100.1.需要和192.168.10.0.192.168.12.0.192.168.100.0.10.2.2.0.1 ...

  2. 项目Alpha冲刺(团队)-第四天冲刺

    格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队)-代码规范.冲刺任务与计划 团队名称:为了交项目干杯 作业目标:描述第三天冲刺的项目进展.问题困难.心得体会 ...

  3. C++头文件用<>还是“” 以及 要加.h还是不加 的问题

    1.C++头文件用<>包含还是” “? 答:用<>包含,编译器会先在系统目录下搜索: 用” ” 包含,编译器会先在用户目录下搜索. 所以,如果使用系统标准库,要使用<&g ...

  4. nginx实现https的配置文件

    server { listen ; server_name testplatform.itegou.com; proxy_set_header X-Forwarded-Host $host; prox ...

  5. 多个 Github 网站账号 的配置

    账号的基本配置可参考上篇 紧跟上篇已将config 文件配置好了,下面是多账号的配置 一, 多账号也是在config里面配置 1.   首先:  在git 里面输入命令: ll      可以看到  ...

  6. C - Heavy Transportation && B - Frogger(迪杰斯变形)

    Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can now expand bus ...

  7. java - day007 - 继承(2), 多态,面向对象,抽象类

    继承 新建子类对象是,先新建父类对象,并执行父类的构造方法, 默认执行父类的无参构造放方法 可以 手动调用父类的有参构造 super(参数 ) super super.xxx() 调用父类成员 一般重 ...

  8. 设计通用的Adapter

    2019年3月18日 10:53:27 参照博文:Android 快速开发系列 打造万能的ListView GridView 适配器 一 BaseViewHolder public class Bas ...

  9. C# 高级编程02----手动创建C#程序

    在日常工作中使用C# 开发的时候,通常使用宇宙第一神器VS进行开发.为了了解编译过程,这里采用文本编辑器的方式编写一个C#程序 一.创建一个C#程序 1.使用记事本工具创建一个名为First.cs的文 ...

  10. IE8引用jQuery报$或者jQuery未定义

    最近公司做的项目要求兼容到IE8,结果在页面调试的时候出了个bug,在IE8上面一直报错$未定义,或者jQuery未定义,导致页面上面写的jQuery全部失效,在Chrome浏览器没有任何问题.很是头 ...