2022-6,flask+vue+uwsgi+nginx,线上部署完整流程打包配置文件
2024-10-21 11:51:18
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相对路由地址。
最新文章
- idea使用优化常用快捷键设置
- 山东省第七届ACM省赛------Fibonacci
- jmeter 与 java http
- C# winform的WebBrowser非常规编程(强烈推荐)
- 【leetcode】Multiply Strings(middle)
- Delaunay三角剖分
- log4net 总结
- Java中匿名类的两种实现方式(转)
- Linux2.6内核--VFS层中和进程相关的数据结构
- iOS开发工具——统计Crash的工具Crashlytics-备用
- RTB撕开黑盒子 Part 3: Beyond Surplus
- 201521123067 《Java程序设计》第4周学习总结
- SpringBoot(三)_controller的使用
- particular.js
- python基础—sys与os库
- 51Nod - 1046 (附关于快速幂的讨论)
- word文档发布至博客wordpress网站系统
- Go语言之高级篇beego框架之controller调用model
- C#应用jstree实现无限级节点的方法
- jstl-随机数-借用jsp嵌入的代码