news 2026/8/28 8:55:46

Flask项目部署到阿里云服务器(全网最清晰简单完整部署),linux命令和脚本文件 nginx安装到服务器等每一步清晰记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flask项目部署到阿里云服务器(全网最清晰简单完整部署),linux命令和脚本文件 nginx安装到服务器等每一步清晰记录

目录一、获取免费阿里云服务器二、远程控制阿里云服务器三、安装nginx(web服务器)1. 更新系统软件包:2. 安装EPEL存储库3. 安装Nginx4. 启动Nginx服务并设置开机自启5. 验证Nginx安装四、安装python虚拟环境1.检查系统是否已安装Python3及其pip3:2. 创建Python虚拟环境3. 激活虚拟环境:4. 安装项目所需Python包5. 退出虚拟环境五、导入项目文件1. 确保虚拟环境已激活2. 配置nginx3. 确保flask项目中入口文件host='0.0.0.0’4. 将本地flask项目文件(包括源代码、配置文件、静态资源等)复制到虚拟环境所在的目录下5. 在虚拟环境中安装Gumicorn* *一、获取免费阿里云服务器----------------没有服务器的话可以在阿里云获取免费服务器阿里云-计算,为了无法计算的价值二、远程控制阿里云服务器----------------本文使用的XShell7三、**安装nginx*(web服务器)**-------------------------------------在部署flask项目时候,因为flask是一个轻量级的Python Web框架,其本身并不包含一个成熟的Web服务器组件,而是依赖于内置的简易服务器(werkzeug)### 1. 更新系统软件包: sudo yum update### 2. 安装EPEL存储库 sudo yum install epel-release### 3. 安装Nginx sudo yum install nginx### 4. 启动Nginx服务并设置开机自启 sudo systemctl start nginx为了让Nginx在系统启动时自动运行,执行: sudo systemctl enable nginx### 5. 验证Nginx安装(1) 命令行检查Nginx服务状态: sudo systemctl status nginx(2) 浏览器访问服务器的公共IP地址Nginx默认监听在80端口,外部想使用nginx就需要云服务器开发80端口,在云服务器控制台的左侧导航栏找到安全组,点进安全组点进后:点击手动添加,授权策略:默认(允许);优先级默认:默认(1);协议类型:默认(TCP);端口: 80 ;授权对象:0.0.0.0/0。表示允许所有外部IP地址访问,然后点击保存。如果不能访问,可能是防火墙的问题,关闭防火墙或者允许nginx端口。四、安装python虚拟环境--------------------------### 1.检查系统是否已安装Python3及其pip3: python3 --version pip3 --version如果没有安装或版本过低: sudo yum install python3 python3-devel python3-pip### 2. 创建Python虚拟环境在root目录下创建一个新的虚拟环境: mkdir my_flaskProject cd my_flaskProject python3 -m venv my_venv这里my_venv是虚拟机环境的名称,可以自己命名。### 3. 激活虚拟环境: source my_venv/bin/activate激活后,命令行提示符前会显示虚拟环境的名字(my_venv),这表明当前正处于此虚拟环境中运行命令,此时安装的Python包将只在这个环境中生效,不会影响全局Python环境。### 4. 安装项目所需Python包在虚环境中,可以使用pip安装Flask和其他项目依赖: pip install Flask pip install -r requirements.txt # 如果存在requirements.txt文件### 5. 退出虚拟环境完成开发或部署任务后,要退出当前虚拟环境,只需运行: deactivate五、导入项目文件------------### 1. 确保虚拟环境已激活如果未激活: source /root/my_flaskProject/my_venv/bin/activate可能会提示错误信息:Permission denied 表示当前没有足够的权限来执行 activate 脚本运行如下命令: chmod +x /root/my_flaskProject/my_venv/bin/activate赋予 activate 脚本执行权限再次激活,前面出现(my_venv)激活成功!### 2. 配置nginx编辑Nginx的服务器配置文件,通常位于/etc/nginx/sites-available/目录下,**如果没有sites-available这个目录,可按照如下进行配置:**打开/etc/nginx/nginx.conf文件,在http{…}块内添加 server { listen 80; # 监听公网端口(此处为标准HTTP端口80) server_name your_domain.com; # 替换为您的域名或公网IP location / { proxy_pass http://localhost:5000; # 替换为项目实际监听的本地端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-ProtoKaTeX parse error: Expected 'EOF', got '}' at position 14: scheme; }̲ }这段配置是告诉Ngi…working_directory" # 设置环境变量,如果适用 export FLASK_APP=myflask.py export FLASK_ENV=production# 启动Gunicorn,指定监听地址和端口,以及应用入口点 exec gunicorn --bind 0.0.0.0:5000 myflask:app给启动脚本赋予权限: chmod +x gunicorn_start.sh启动Gunicorn服务: ./gunicorn_start.sh成功后,可以查看进程然后在nginx.conf配置(刚刚在导入项目时其实已经配置过…): server { listen 80; # 监听公网端口(此处为标准HTTP端口80) server_name 114.55.118.198; # 替换为您的域名或公网IP location / { proxy_pass http://localhost:5000; # 替换为项目实际监听的本地端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; proxy_buffering off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection “upgrade”; proxy_read_timeout 600s; } }完成配置后,执行以下操作以检查配置文件的正确性并重启Nginx服务: sudo nginx -t sudo systemctl restart nginx启动Gunicorn服务: 通过执行该脚本来启动Gunicorn服务:如果先前有运行的端口占用,杀死进程重新启动打开公网地址!成功!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 8:55:07

如何评估评估基准?对话智能体元评估方法与实践

过去半年里,我们团队一直在做企业级对话机器人的效果评估。聊到模型选型时,大家习惯性看几个公开榜单,但真正把榜单测试集搬到业务场景之后,发现榜单分数高并不代表对话机器人真的“能用”。问题往往不在模型本身,而在…

作者头像 李华
网站建设 2026/8/28 8:54:29

openclaw 性能优化:3 层实用技巧让你的 AI 助手跑得更快

openclaw 性能优化:3 层实用技巧让你的 AI 助手跑得更快 【免费下载链接】openclaw Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw openclaw&#xf…

作者头像 李华
网站建设 2026/8/28 8:54:01

GhostVM 文件传输完整教程:如何拖拽文件进出 macOS 虚拟机

GhostVM 文件传输完整教程:如何拖拽文件进出 macOS 虚拟机 【免费下载链接】GhostVM 项目地址: https://gitcode.com/gh_mirrors/gh/GhostVM GhostVM 是一款运行在 Apple Silicon Mac 上的原生 macOS 虚拟机管理器。它的文件传输功能让主机与 macOS 虚拟机之…

作者头像 李华
网站建设 2026/8/28 8:51:46

Transformers 三步上手指南:多模态模型推理与训练

Transformers 三步上手指南:多模态模型推理与训练 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference…

作者头像 李华
网站建设 2026/8/28 8:51:27

build-your-own-x:从零重建 30 种技术的完整路线图

build-your-own-x:从零重建 30 种技术的完整路线图 【免费下载链接】build-your-own-x Master programming by recreating your favorite technologies from scratch. 项目地址: https://gitcode.com/GitHub_Trending/bu/build-your-own-x build-your-own-x …

作者头像 李华
网站建设 2026/8/28 8:51:24

MAPPO航天编队控制:多智能体强化学习在轨工程实践

简介:多智能体强化学习(MARL)是解决复杂协同控制问题的关键范式,其核心在于分布式决策与全局优化的平衡。MAPPO作为兼顾训练稳定性与执行去中心化的主流算法,通过中心化训练、分散化执行机制,天然适配航天器…

作者头像 李华