2022-6,flask+vue+uwsgi+nginx,线上部署完整流程打包配置文件
uwsgi配置文件
[uwsgi]
# 服务端口号,这里没有设置IP值,默认是加载服务器的IP地址
http = :8000
# flask项目地址
chdir = /home/flask_project
# wsgi文件 /home/flask_project/mange.py
module = manage:app
# 进程数
processes = 4
# 主进程
master = true
# 每个进程有2个线程
threads = 2
# 后台启动 日志输出路径
daemonize = /home/flask_project/uwsgi.log
# 保存主进程的进程号
pidfile = /home/flask_project/uwsgi.pid
# 以固定大小切分日志文件
log-maxsize = 1000
# 启动请求日志
disable-logging = true
# 设置中断时间
harakiri = 60
# 懒加载
lazy = true
lasy-apps = true
前端代码打包:
进入vue路径,这个路径,要在src文件夹的父路径下,

执行命令:
npm run build
执行完之后,会生成dist文件夹,这个dist就是需要放到服务器上面的前端代码。
nginx.conf配置文件
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
server {
listen 8090; # 80端口监听需要root权限,这里我们用8090
server_name 127.0.0.1; # 这里是你项目的url地址,或者写成域名地址 www.phno2.xyz 也行。
access_log /home/nginx/logs/access.log; # 这是自己设定的nginx正常输出日志的日志地址
error_log /home/nginx/logs/error.log; # 也是自己设定的,nginx错误日志地址
charset utf-8;
gzip on;
location / {
root /home/vue_project/dist; # 这里是vue项目的路径地址,vue上传服务器之前,需要执行npm run build打包,# 这里是把打包后的dist文件夹放到服务器
index index.html index.htm; try_files $uri $uri/ /index.html; # 这里是让nginx找到vue打包项目的index.html文件,这里的配置是匹配vue项目# router路由配置mode:history.url里面去掉#号
}
error_page 404 /404.html;
location = /404.html {
root html; # 这里404.html文件,是自己创建的一个页面。/home/nginx/nginx-1.2.2.0/html
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# flask项目反向代理配置
location /api/ {
proxy_pass http://127.0.0.1:8000; # 这里就是uwsgi配置的IP和端口,写的时候需要把http带上,写完整
proxy_send_timeout 600;
proxy_read_timeout 120;
proxy_connect_timeout 90;
}
# 指定静态文件路径
location /static/{ # 这里的static是我们自己后来加上的,用于处理静态文件,这都是固定语法,
root /home/vue_project/dist;
expires 30d;
autoindex on;
}
}
}
到此,就全部配置完成。uwsgi的IP端口,跟nginx挂载上了,前端项目打包路径也挂载到nginx上了。前端代码中,ajax请求,都一律改写成相对路由,即从http://localhost:8000/api/index 改成 /api/index,然后再打包上传服务器。nginx启动之后,就会自动拼接上前端代码中路由的IP端口部分。部署完成之后,前端页面的访问地址:“20.80.80.80:8090/home” IP是服务器的IP,端口是nginx配置的端口,/home是前端router相对路由地址。
2022-6,flask+vue+uwsgi+nginx,线上部署完整流程打包配置文件的更多相关文章
- vue-router+webpack线上部署时单页项目路由,刷新页面出现404问题
使用vue项目,线上部署的时候,访问首页以及通过路由打开二级页面没有问题,但是一刷新就出现404现象 因为刷新页面时访问的资源在服务端找不到,因为vue-router设置的路由不是真实存在的路径. 解 ...
- Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)
Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...
- CentOS下实现Flask + Virtualenv + uWSGI + Nginx部署
一.项目简介 在本文中,将一步一步搭建一个简单的Flask + Virtualenv + uWSGI + Nginx 架构的Web服务,可以作为新手的学习也可作为记录备忘. 如果你安装好了环境并有一定 ...
- vue+uwsgi+nginx部署路飞学城
vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码 ht ...
- linux vue uwsgi nginx 部署路飞学城 安装 vue
vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码#这个代码 ...
- Django线上部署教程:腾讯云+Ubuntu+Django+Uwsgi(转载)
网站名称: 向东的笔记本 本文链接: https://www.eastnotes.com/post/29 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议.转载请注明出处! ...
- Docker实战 | 第三篇:Docker安装Nginx,实现基于vue-element-admin框架构建的项目线上部署
一. 前言 在上一文中 点击跳转 通过IDEA集成Docker插件实现微服务的一键部署,但 youlai-mall 是前后端分离的项目,除了后端微服务的部署之外,当然还少不了前端工程的部署.所以本篇讲 ...
- Django线上部署代码修改失效问题
记一次django项目的线上部署维护问题,django+nginx 关于nginx反向代理服务器的介绍这里有一篇博客介绍的比较好:nginx的相关介绍 以及当一次客户端请求发出后,uwsig以及uWS ...
- Node+mongodb线上部署到阿里云
Node+mongodb线上部署到阿里云 部署使用的主要工具是pm2+nginx,使用码云的私有仓库,自动部署到服务器,私有仓库和服务器要事先设置好免密码登录.使用DNSPOD进行域名解析.事先准备好 ...
- 关于docker线上部署时间问题
背景 公司线上部署采用docker swarm方式,这几天线上项目时间突然出了问题(ps:第一反应,我去,这也能出问题,代码里肯定藏毒了),线上时间总跟实际时间差八个小时.本着速战速决的原则,把所有时 ...
随机推荐
- C# 托管堆 遭破坏 问题溯源分析
一:背景 1. 讲故事 年前遇到了好几例托管堆被损坏的案例,有些运气好一些,从被破坏的托管堆内存现场能观测出大概是什么问题,但更多的情况下是无法做出准确判断的,原因就在于生成的dump是第二现场,借用 ...
- 【开源】libserial_parse_text:命令行解析的基础库
借助五一假期,写了一个命令行解析的基础库,一般可用于串口命令解析.TCP命令解析等等. 具有以下几种特点: 不涉及到具体硬件, 纯软件协议,与具体硬件分离. 支持不定长命令行,逐个字符解码,可以支持不 ...
- SQLSERVER 阻塞之 PFS 页到底是什么?
一:背景 1. 讲故事 在 SQLSERVER 的众多阻塞场景中,有不小的一部分是由于 PFS 页上的 闩锁 等待造成的,毕竟写页操作一定是要串行化的,在面对 闩锁(PAGELATCH_X) 等待问题 ...
- Python装饰器实例讲解(一)
Python装饰器实例讲解(一) 多种角度讲述这个知识,这是个系列文章 但前后未必有一定的顺承关系 部分参考网络 本文以一个小案例引出装饰器的一些特点,不涉及理论,后面再谈 案例 写一个代码来求一个数 ...
- Vue31 消息订阅和发布
1 简介 组件之间的通信除了使用事件总线之外,还可以使用一些插件来通过消息的订阅和发布来实现.pubsub-js就是一个不错的选择. 2 使用 2.1 安装 npm i pubsub-js # 或 y ...
- 1.初识 Django
设计模式 定义 # mysite/news/models.py from django.db import models class Reporter(models.Model): full_name ...
- yaml文件详解
一.yaml文件详解 前言 Kubernetes 支持 YAML 和 JSON 格式管理资源对象JSON 格式:主要用于 api 接口之间消息的传递YAML 格式:用于配置和管理,YAML 是一种简洁 ...
- JZOJ 5351. 【NOIP2017提高A组模拟9.7】简单无向图
题目大意 给定 \(n\) 个度数为 \(\in [1,2]\) 之间的点,求能组成多少种简单无向图(可不连通,点与点之间有别) 分析 显然答案只与 \(n1,n2\) 有关 那么 \(dp\)?(我 ...
- ACR20新闻_RA指南更新_最大化应用MTX
美国风湿病学院(ACR)学术年会2020新闻 译自Medscape官网 https://www.medscape.com/viewarticle/940636#vp_1 (注: 译文借助谷歌翻译助手, ...
- 在VSCode中配置代码自动 eslint 格式化 (实测有用)
一.Eslint Eslint 是用来检测和规范代码格式的工具,应用在工程化项目中,可以保证项目代码格式的一致性和规范性,大大提升了代码的可读性. 二.配置过程 本博客是讲述对一个已经引用 esl ...