nginx + uwsgi 部署 Django+Vue项目

  • windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc
  1. 单机本地测试运行方式,调用django第三方的wsgifef单机模块,性能很低

    python3 manage.py runserver 0.0.0.0:8000

  2. 使用uwsgi 去启动django项目,支持并发更多

  3. 准备前后端代码

  4. 先从vue前端搞起

    1. 解决node环境

    2. 更改vue发送请求的接口地址,

      这个vue发送的地址,应该是发送给 nginx代理,然后代理再转发请求给 DRF 后台

      # 用以下命令,更改vue发送的接口地址
      sed -i "s/127.0.0.1/192.168.15.71/g" /opt/s16luffy/07-luffy_project_01/src/restful/api.js

      待会要准备nginx的代理地址,如下

      192.168.15.71:8000

    3. 打包编译vue静态文件

      npm install

      npm run build

      #如果你打包不成功
      1.更换4G网络,开始打包
      2.在windows中打包,生成dist文件夹后,发送给linux
      3.在同桌机器上打包,生成dist后,发送给自己
      4.更换淘宝的 npm源,加速下载
    4. 生成的dist文件夹,就是路飞学成的静态页面,丢给nginx去返回页面即可

  5. 配置nginx.conf找到vue的静态页面

       	# 配置
    server{
    listen 80;
    server_name 项目地址.com;
    location / {
    root /opt/项目目录/dist;
    index index.html;
    # vue 结合 nginx 不再刷新出现 404
    try_files $uri $uri/ /index.html;
    }
    error_page 404 400 401 403 /jQuery404/40x.html;
    }
    # 转发请求到 192.168.15.74:9000
    server{
    listen 8000;
    server_name vuelufei.com;
    location / {
    uwsgi_pass 192.168.15.74:9000;
    include /opt/nginx112/conf/uwsgi_params;
    }
    }
  6. 配置后端代码,用uwsgi启动luffy学诚

    mkvirtualenv  虚拟环境名字  # 创建虚拟环境
    pip3 list
    pip3 install -r requirements.txt # 导入项目依赖
  7. 准备uwsgi,以及uwsgi.ini

uwsgi.ini配置参数如下

(uwsgi_xiangmuming) [root@s16ds zhangfei]# cat uwsgi.ini 

[uwsgi]
# Django-related settings
# the base directory (full path)
#指定django的项目目录,第一层
chdir = /opt/s16luffy/luffy_boy/
# Django's wsgi file
#找到django的wsgi文件
#这里需要写项目的第二层目录Alibab_crm
module = luffy_boy.wsgi
# the virtualenv (full path)
#填写虚拟环境的绝对路径
home =/root/Envs/uwsgi_luffycity
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 5
# the socket (use the full path to be safe
#指定socket协议,运行django,只能与nginx结合时使用
#指定socket协议,运行django,只能与nginx结合时使用
socket = 0.0.0.0:9000 #如果你没用nginx,只想自己启动一个http界面,用这个
#http = 0.0.0.0:8000 # ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
  1. 更改django后台的redis数据库连接

    1. 更改redis连接

      CACHES = {
      "default": {
      "BACKEND": "django_redis.cache.RedisCache",
      "LOCATION": "redis://192.168.15.71:6666",
      "OPTIONS": {
      "CLIENT_CLASS": "django_redis.client.DefaultClient",
      "CONNECTION_POOL_KWARGS": {"max_connections": 100},
      # "PASSWORD": "密码",
      "DECODE_RESPONSES":True
      }
      },
      }
    2. 更改redis数据库连接的驱动,用django的驱动

      vim /opt/项目目录/api/views/shoppingcart.py
      修改如下
      import redis
      # REDIS_CONN = redis.Redis(decode_responses=True)
      REDIS_CONN = get_redis_connection()
    3. 启动redis数据库,注意更改redis的安全模式,

      redis-6666.conf配置如下

      (uwsgi_luffycity) [root@s16ds redis-4.0.10]# cat redis-6666.conf

      port 6666
      daemonize yes
      pidfile /data/6666/redis.pid
      loglevel notice
      logfile "/data/6666/redis.log"
      dir /data/6666
      appendonly yes
      appendfsync everysec
      protected-mode no
      bind 192.168.15.71
    4. 启动redis服务端

      redis-server redis-6666.conf
  2. 确保vue和nginx,以及uwsgi都启动了,测试以浏览器访问

  3. 解决 vue 结合 nginx 刷新 404 解决办法

确保 vue router 的 mode

路径 vue项目/router/index.js

修改配置:

export default new Router({
linkActiveClass:'is-active',
mode:'history', // 改成history 模式
...
})
  1. 修改nginx.conf代码
server {
listen 80;
server_name vueluffy.com;
location / {
root /opt/luffy/dist;
index index.html;
# 主要参数
try_files uri uri/ /index.html; }
}

virtualenv

virtualevnwrapper

pyenv

nginx + uwsgi 部署 Django+Vue项目的更多相关文章

  1. ubuntu+nginx+uwsgi部署django web项目

    前言 将本地开发的django项目部署至linux上的uwsgi服务器,并配置nginx,完成基于ubuntu+nginx+uwsgi的上线运行.下面整理相关步骤. 服务器配置virtualenv 如 ...

  2. 填坑!!!virtualenv 中 nginx + uwsgi 部署 django

    一.为什么会有这篇文章 第一次接触 uwsgi 和 nginx ,这个环境搭建,踩了太多坑,现在记录下来,让后来者少走弯路. 本来在 Ubuntu14.04 上 搭建好了环境,然后到 centos7. ...

  3. Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统

    Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统 这个是写好的Django程序在本地机运行的情况,一个查询接口. 准备工作 1.首先购买一台阿里云的EC ...

  4. nginx + uwsgi 部署django项目

    因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ...

  5. nginx+uwsgi部署django项目

    1.django项目部署前需要生成admin的静态资源文件 (1)生成admin的静态资源文件 # 关闭debug模型 DEBUG = False # 允许所有域名访问 ALLOWED_HOSTS = ...

  6. Nginx + uWSGI 部署Django 项目,并实现负载均衡

    一.uWSGI服务器 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI ...

  7. CENTOS7 使用 Nginx + Uwsgi 部署 Django 项目

    写在前面的话 最近总是见到有新学 Django 的朋友在部署自己的项目到 Linux 上面的时候运行不起来,所以就动手写了这篇博客. 对于不会搭建 Python 3 环境的朋友可以参考前面的博客[CE ...

  8. 使用Nginx+uWSGI部署Django项目

    1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgi l ...

  9. nginx+uwsgi部署Django项目到Ubuntu服务器全过程,以及那些坑!!!

    前言:自己在windows上用PyCharm编写的Django项目,编写完后在windows上运行一点问题都没有,但是部署到服务器上时却Bug百出.百度,CSDN,sf,各种搜索寻求解决方案在历时3天 ...

随机推荐

  1. git常用命令总结(资源来自廖雪峰)

    自己把命令弄出来方便以后看看,,应该有错的emmmm 原文地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67 ...

  2. OAuth2.0 授权码理解

    OAuth2.0授权模式   本篇文章介绍OAuth的经典授权模式,授权码模式   所谓授权无非就是授权与被授权,被授权方通过请求得到授权方的同意,并赋予某用权力,这个过程就是授权.   那作为授权码 ...

  3. ASP.NET Core中的Startup类

    ASP.NET Core程序要求有一个启动类.按照惯例,启动类的名字是 "Startup" .Startup类负责配置请求管道,处理应用程序的所有请求.你可以指定在Main方法中使 ...

  4. 关于RecyclerView你知道的不知道的都在这了(上)

    目录 前言 目录 正文 1. LayoutManager 2. ViewHolder 3. LayoutParams 4. Adapter 5. RecyclerView 6. Recycler 7. ...

  5. node(http, url)

    一.http 模块 http.js const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; con ...

  6. HDU1846 Brave Game

    Brave Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  7. Java 开源博客 Solo 1.9.0 发布 - 新皮肤

    这个版本主要是改进了评论模版机制,让大家更方便皮肤制作,并发布了一款新皮肤:9IPHP. Solo 是一款一个命令就能搭建好的 Java 开源博客系统,并内置了 15+ 套精心制作的皮肤.除此之外,S ...

  8. ArrayList在foreach删除倒数第二个元素不抛并发修改异常的问题

    平时我们使用ArrayList比较多,但是我们是否知道ArrayList在进行foreach的时候不能直接通过list的add或者move方法进行删除呢, 原因就是在我们进行foreach遍历的时候, ...

  9. Pycharm配置anaconda环境

    概述 在上节介绍了anaconda管理python环境,而Pycharm作为主流python IDE,两者配合使用才算完美. 配置 File - Setting - Project Interpret ...

  10. mysql之用户管理

    本文内容: 用户的介绍 查看用户 创建用户帐户 修改账户 删除帐户 关于匿名用户 首发日期:2018-04-19 用户的介绍: mysql的客户端连接是以用户名来登录服务端. 服务端可以对用户的权限来 ...