1、概念
    1、Django项目(Web应用)
    2、web服务
        1、nginx
        2、Apache
            LNMP -> Linux Nginx MySQL Python/PHP/Perl
            LAMP -> Linux Apache MySQL Python/PHP/Perl
        3、uwsgi
            是WEB服务器和WEB框架之间一种简单而通用的接口
2、单项目部署(nginx+uwsgi+Django)
    1、确保django项目能够运行
    2、安装nginx
        1、安装:sudo pip3 install nginx
        2、启动:sudo /etc/init.d/nginx restart
        3、验证:127.0.0.1:80
    3、安装uwsgi
        1、安装:sudo pip3 install uwsgi
        2、验证(用uwsgi直接启动django项目)
            uwsgi --http :9998 --chdir /home/tarena/myproject/fruit/ --module fruit.wsgi
    4、部署
        1、配置uwsgi(配置文件)
            1、mkdir uwsgi
            2、cd /home/tarena/uwsgi
            3、vi fruit_uwsgi.ini
                1、设置和nginx通信的端口
                    socket = 127.0.0.1:8001
                2、项目路径
                    chdir = /home/tarena/myproject/fruit
                3、wsgi.py路径
                    wsgi-file = fruit/wsgi.py
                4、进程数
                    processes = 4
                5、线程数
                    thread = 2
                6、本项目占用uwsgi端口
                    stats = 127.0.0.1:8081
        2、配置nginx(配置文件)
            1、sudo -i
            2、cd /etc/nginx/sites-enabled/
            3、vi project_nginx.conf
                server{
                        listen 8201;#浏览器访问项目的端口
                        server_name fruit.com;
                        charset utf-8;
                        client_max_body_size 75M;
                        location /static{
                            alias /home/tarena/myproject/fruit/static
                        }
                        # 和uwsgi进行通信,1、nginx下uwsgi_params文件 2,端口
                        location /{
                            include uwsgi_params;
                            uwsgi_pass 127.0.0.1:8001;
                        }

}
            4、拷贝uwsgi_params文件到项目目录
                sudo cp /etc/nginx/uwsgi_params /home/tarena/myproject/fruit
            5、重启nginx服务
                sudo /etc/init.d/nginx restart
        3、收集静态文件
            1、settings.py文件,添加路径
                STATIC_ROOT = '/home/tarena/myproject/fruit/static/'
            2、收集静态文件
                python3 manage.py collectstatic
        4、uwsgi启动项目
            uwsgi --ini fruit_uwsgi.ini
3、多项目部署
    1、uwsgi:每个项目需要单独创建uwsgi配置文件,选用不同端口
    2、nginx配置文件,1个就可以,添加server{}
        项目2:个人博客
            浏览器访问端口:8202 ,listen 8202
            uwsgi和nginx通信端口:8002,socket=127.0.0.1:8002
            uwsgi占用端口:8082

4、访问流程

nginx项目部署的更多相关文章

  1. Diango + uwsgi + nginx 项目部署(可外网访问)

    自己通过nginx uwsgi 部署django项目,查询了很多资料,遇到了很多问题,最终完成了部署,趁着心情愉悦,写个随笔,为曾像我一样苦寻解决方案的小伙伴们提供些思路. 安装Nginx: #安装n ...

  2. nginx 项目部署

    一.nginx 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web 网络服务是一种被 ...

  3. Nginx 项目部署和配置

    nginx 作为代理服务器,需要代理多个项目的话配置如下: server { listen       80; server_name  localhost; #charset koi8-r; #ac ...

  4. SpringBoot + Vue + nginx项目部署(零基础带你部署)

    一.环境.工具 jdk1.8 maven spring-boot idea VSVode vue 百度网盘(vue+springboot+nginx源码): 链接:https://pan.baidu. ...

  5. Django+Uwsgi+Nginx项目部署文档

    一.基本环境搭建 1)查看服务器 [root@Myjumpserver ~]# cat /etc/sysconfig/selinux SELINUX=disabled SELINUXTYPE=targ ...

  6. docker简单使用+django+uwsgi+nginx项目部署

    使用docker 搭建 centos7 环境: 主机环境:windows 10专业版 一.安装docker Hub.docker.com官网下载 docker for windows 安装完成后,任务 ...

  7. linux jdk+mysql+tomcat+nginx 项目部署步骤

    1.下载linux jdk1.7.0_79.tar.gz ; 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-dow ...

  8. CentOS7.5下安装nginx --项目部署

    1.安装ngnix一些依赖包 [root@VM_39_157_centos ~]# yum -y install gcc gcc-c++ openssl-devel pcre-devel httpd- ...

  9. 在nginx上部署vue项目(history模式);

    在nginx上部署vue项目(history模式): vue-router 默认是hash模式,使用url的hash来模拟一个完整的url,当url改变的时候,页面不会重新加载.但是如果我们不想has ...

随机推荐

  1. 学习笔记之javascript编写简单计算器

      感觉自己的的实力真的是有待提高,在编写计算器的过程中,出现了各种各样的问题,暴露了自己的基础不扎实,逻辑思维能力不够,学得知识不能运用到自己的demo中区.先介绍一些这个这个计算器的整体思路.大致 ...

  2. C语言I博客作业07

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-1/homework/9931 我在这个课程的目标 ...

  3. 【XSY2985】【BZOJ1367】【Baltic2004】sequence

    考虑两种情况: 1.\(a_1\)<\(a_2\)<\(a_3\)<\(a_4\)...<\(a_n\) 直接令\(b_i\)=\(a_i\),最小. 2.\(a_1\)> ...

  4. IDEA 使用lombok

    一.配置maven <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback ...

  5. 描述Linux发行版的系统目录名称命名规则以及用途

    linux各种发行版都遵循LSB(Linux Stadards Base)规则,使用一致的相关的基础目录名称,使用根目录系统结构(root filesystem),使用FHS(Files Hierar ...

  6. 使用Typescript重构axios(二十一)——请求取消功能:添加axios.isCancel接口

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  7. 【vue】在VS Code中调试Jest单元测试

    在VS Code中调试Jest单元测试 添加调试任务 打开 vscode launch.json 文件,在 configurations 内加入下面代码 "configurations&qu ...

  8. ASP.NET Core 3 使用原生 依赖注入 集成 AspectCore ,实现 AOP 功能

    在NETCORE中可以使用AOP的方式有很多很多,包括国内优秀的开源框架asp.netcore同样可以实现AOP编程模式.   IOC方面,个人喜欢net core 3自带的DI,因为他注册服务简洁优 ...

  9. 基于Windows下永久破解jetbrains公司的系列产品(Idea, pycharm,clion,phpstorm)

    基于Windows下永久破解jetbrains公司的系列产品(Idea, pycharm,clion,phpstorm): PS : 有能力的建议购买正版,好吧. PS:均针对其对应的2018.3.1 ...

  10. nyoj 76-超级台阶 (递推)

    76-超级台阶 内存限制:64MB 时间限制:1000ms 特判: No 通过数:8 提交数:12 难度:3 题目描述: 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共 ...