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. maven项目部署到tomcat方法

    今天记录下,maven项目部署到服务器的过程 1.首先在ide中里将自己的maven项目打包 mvn clean install 2. 看是否需要修改war包的名字,如果要修改,就用命令 mv xxx ...

  2. mysql设计规范二

    一.基本规范 必须使用InnoDB存储引擎 必须使用UTF8字符集 数据表.数据字段必须加入中文注释 二.设计规范 库名称.表名称.字段名称必须使用小写,最好不要使用驼峰式,使用“_”区分,例如use ...

  3. Django学习day4——视图和URL配置

    创建一个简单的hello world 在day3中我们第一次运行了服务器,里面是一个django的欢迎页面,那是因为我们没有配置URL和视图,django在底层会自动跳转这个页面上 我们在mysite ...

  4. NOIP模拟 24

    连续爆炸的开端. 从这一场开始我没状态了 T1 star way to heaven 受强降雨boboQQQ影响,我一直认为这是一道和凸包有关的计算几何题 很快就弃了,除了期望没做过带实数的题,所以吓 ...

  5. KETTLE常见问题和优化

    1.创建MySQL空资源库报错问题:因为boolean类型的问题,Mysql中的boolean类型实际上保存为TINYINT,需要手动的修改生成资源库的sql脚本,将其中的插入用户ENABLED的值由 ...

  6. js取两位小数点

    var money = one.money; var tmoney = money.substr(0,money.indexOf(".")+3);

  7. Java自动化测试框架-11 - TestNG之annotation与并发测试篇 (详细教程)

    1.简介 TestNG中用到的annotation的快速预览及其属性. 2.TestNG基本注解(注释) 注解 描述 @BeforeSuite 注解的方法只运行一次,在当前suite所有测试执行之前执 ...

  8. GitHub + jsDelivr + PicGo + Imagine 打造稳定快速、高效免费图床

    GitHub + jsDelivr + PicGo + Imagine 打造稳定快速.高效免费图床 前言 为什么要使用图床呢? 因为在不同平台发布同一篇文章的时候,最一个痛苦的点就是,图片存储问题,各 ...

  9. Java多线程-CountDownLatch、CyclicBarrier、Semaphore

    上次简单了解了多线程中锁的类型,今天要简单了解下多线程并发控制的一些工具类了. 1. 概念说明: CountDownLatch:相当于一个待执行线程计数器,当计数减为零时表示所有待执行线程都已执行完毕 ...

  10. vue cli3.0^版本处理文件下载的问题

    downloadFile(url, fileName) { axios.get(url, { responseType: 'blob' }) .then(({ data }) => { // 为 ...