nginx + uwsgi 部署 Django+Vue项目
nginx + uwsgi 部署 Django+Vue项目
- windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc
单机本地测试运行方式,调用django第三方的wsgifef单机模块,性能很低
python3 manage.py runserver 0.0.0.0:8000使用uwsgi 去启动django项目,支持并发更多
准备前后端代码
先从vue前端搞起
解决node环境
更改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打包编译vue静态文件
npm install
npm run build#如果你打包不成功
1.更换4G网络,开始打包
2.在windows中打包,生成dist文件夹后,发送给linux
3.在同桌机器上打包,生成dist后,发送给自己
4.更换淘宝的 npm源,加速下载
生成的dist文件夹,就是路飞学成的静态页面,丢给nginx去返回页面即可
配置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;
}
}配置后端代码,用uwsgi启动luffy学诚
mkvirtualenv 虚拟环境名字 # 创建虚拟环境
pip3 list
pip3 install -r requirements.txt # 导入项目依赖
准备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
更改django后台的redis数据库连接
更改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
}
},
}
更改redis数据库连接的驱动,用django的驱动
vim /opt/项目目录/api/views/shoppingcart.py
修改如下
import redis
# REDIS_CONN = redis.Redis(decode_responses=True)
REDIS_CONN = get_redis_connection()
启动redis数据库,注意更改redis的安全模式,
redis-6666.conf配置如下
(uwsgi_luffycity) [root@s16ds redis-4.0.10]# cat redis-6666.confport 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
启动redis服务端
redis-server redis-6666.conf
确保vue和nginx,以及uwsgi都启动了,测试以浏览器访问
解决 vue 结合 nginx 刷新 404 解决办法
确保 vue router 的 mode
路径 vue项目/router/index.js
修改配置:
export default new Router({
linkActiveClass:'is-active',
mode:'history', // 改成history 模式
...
})
- 修改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项目的更多相关文章
- ubuntu+nginx+uwsgi部署django web项目
前言 将本地开发的django项目部署至linux上的uwsgi服务器,并配置nginx,完成基于ubuntu+nginx+uwsgi的上线运行.下面整理相关步骤. 服务器配置virtualenv 如 ...
- 填坑!!!virtualenv 中 nginx + uwsgi 部署 django
一.为什么会有这篇文章 第一次接触 uwsgi 和 nginx ,这个环境搭建,踩了太多坑,现在记录下来,让后来者少走弯路. 本来在 Ubuntu14.04 上 搭建好了环境,然后到 centos7. ...
- Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统
Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统 这个是写好的Django程序在本地机运行的情况,一个查询接口. 准备工作 1.首先购买一台阿里云的EC ...
- nginx + uwsgi 部署django项目
因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ...
- nginx+uwsgi部署django项目
1.django项目部署前需要生成admin的静态资源文件 (1)生成admin的静态资源文件 # 关闭debug模型 DEBUG = False # 允许所有域名访问 ALLOWED_HOSTS = ...
- Nginx + uWSGI 部署Django 项目,并实现负载均衡
一.uWSGI服务器 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI ...
- CENTOS7 使用 Nginx + Uwsgi 部署 Django 项目
写在前面的话 最近总是见到有新学 Django 的朋友在部署自己的项目到 Linux 上面的时候运行不起来,所以就动手写了这篇博客. 对于不会搭建 Python 3 环境的朋友可以参考前面的博客[CE ...
- 使用Nginx+uWSGI部署Django项目
1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgi l ...
- nginx+uwsgi部署Django项目到Ubuntu服务器全过程,以及那些坑!!!
前言:自己在windows上用PyCharm编写的Django项目,编写完后在windows上运行一点问题都没有,但是部署到服务器上时却Bug百出.百度,CSDN,sf,各种搜索寻求解决方案在历时3天 ...
随机推荐
- python面向对象学习(一)基本概念
目录 1. 面向对象基本概念 1.1 过程和函数 1.2 面相过程 和 面相对象 基本概念 2. 类和对象的概念 1.1 类 1.3 对象 3. 类和对象的关系 4. 类的设计 大驼峰命名法 4.1 ...
- 一个真实的Async/Await示例
译者按: 通过真实的代码示例感受Async/Await的力量. 原文: Async/await - A thorough example 译者: Fundebug 为了保证可读性,本文采用意译而非直译 ...
- MySQL5.7: Paging using Mysql Stored Proc
-- 查询外键 涂聚文 (Geovin Du) select concat(table_name, '.', column_name) as 'foreign key', concat(referen ...
- CF607B Zuma(区间dp)
题意 题目链接 Sol 裸的区间dp,转移的时候判一下两个字符是否相等即可 #include<bits/stdc++.h> #define Pair pair<int, int> ...
- 判断字符串a和b是否互为旋转词
旋转词:把字符串str的任意部分移动到后面形成的新字符串叫做字符串str的旋转词. 比如abc的旋转词有 abc,acb,cba,... 判断str1和str2是否互为旋转词,其最优解可以是时间复杂度 ...
- Java之static作用的全方位总结
1.深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用:如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的:如果是说 可以构成 静态代码块,那别人认为你还可以: 如果你说 ...
- pyinstaller使用错误 SyntaxError: Non-UTF-8 code starting with '\xb4' in file C:......
注:我的博客原本在CSDN,现转到博客园,图片采用以前的图片,并没有盗图. 在将.py文件打包时,出现了下列错误 >>C:\Users\小呆\PycharmProjects\pycha ...
- springboot 常见请求方式
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/80404645 本文出自[赵彦军的博客] 用户模型类 package com.yib ...
- (后端)解决code唯一码(java)简便方法
public String next() { long appBootTimes = systemVariableService.getAppBootTimes(); return Long.toSt ...
- PE文件基础
① PE (Portable Executable):微软参考COFF(Common Object File Format)规范,在Windows NT系统上制定的一种标准, 用于exe可执行文件.o ...