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. 函数节流和函数防抖JavaScript实现

    函数节流 function throttle(fn, delay = 1000) { let Running = false; return function () { if (Running) { ...

  2. 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...

  3. day07 数据类型间的相互转化及字符编码

    今日内容: 字符间的相互转化 字符编码 今日重点: 字符间的相互转化 """ 字符间的相互转化: """ """ ...

  4. JAVA学习笔记(4)—— 排序算法

    排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法. 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ...

  5. dml并行

    Enabling Parallel DMLA DML statement can be parallelized only if you have explicitly enabled paralle ...

  6. maven父子模块deploy 问题

    1.问题描述:直接 deploy 子某块,但第三者确不能引用 jar(jar down不下来,但pom不报错) 原因:父子模块项目必须保证父模块pom deploy后,再 deploy 子模块才能被引 ...

  7. docker bulid命令

    使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1. docker build -t runoob/ubuntu:v1 . 使用URL github.com/cr ...

  8. 马拉车算法——边界拓展时加限制hdu4513

    #include<bits/stdc++.h> using namespace std; #define maxn 500005 int n,p[maxn],s[maxn],s_new[m ...

  9. SpringBoot 添加mybatis generator 自动生成代码插件

    自动生成数据层代码,提高开发效率 1.pom添加插件,并指定配置文件路径 <!-- mybatis generator 自动生成代码插件 --> <plugin> <gr ...

  10. C# 防止程序多开的两种方法

    互斥对象防止程序多开 private void Form1_Load(object sender, EventArgs e) { bool Exist;//定义一个bool变量,用来表示是否已经运行 ...