12-项目上线与部署_第1页
12-项目上线与部署_第2页
12-项目上线与部署_第3页
12-项目上线与部署_第4页
12-项目上线与部署_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目上线与部署教材第12章目录1.云服务器选购与安全配置2.环境初始化与代码迁移3.域名解析与绑定4.Nginx反向代理配置5.配置HTTPS安全访问6.上线后运维要点本地vs生产环境差异本地开发环境(Development)直接使用Uvicorn开发服务器非标准端口(8000),缺乏加密适合调试,不具备抗并发能力生产环境(Production)前置Nginx反向代理架构标准端口(80/443),支持HTTPS动静分离:Nginx处理静态资源Nginx在生产环境的核心作用🛡️安全性(Security)隐藏后端实现细节,作为第一道防线屏蔽恶意请求,保护内部应用安全。🚀高性能(Performance)实现动静分离架构,高效处理静态资源请求,减轻后端Python应用压力。🌐标准化(Standard)统一监听标准的80/443端口,支持域名访问与HTTPS加密,无需用户输入端口号。生产环境三要素☁️1.云服务器WindowsServer运行在数据中心的基础载体,具备24小时不间断电源与网络,拥有全球唯一的公网IP地址。🔗2.域名系统DNSResolution将难记的IP地址映射为易记的字符串(如),指引浏览器连接至正确服务器。🔒3.SSL证书HTTPSSecurity在浏览器与服务器间建立加密通道,防止数据被窃听或篡改,并在浏览器显示安全锁图标。云服务器与镜像选型配置选型原则够用即可,便于扩展CPU:2核(满足并发计算需求)内存:4GB(WindowsServer基础开销)标准型实例足以支撑FastAPI+Database+Nginx操作系统镜像WindowsServer数据中心版推荐版本:2019或2022架构:64位语言:中文版(降低运维管理门槛)存储与网络配置💾系统盘≥50GBWindowsServer占用较大空间,确保有足够容量安装Python及存放项目文件。📶公网带宽按流量计费(10Mbps)学习阶段推荐按量计费,设置较高带宽上限以保证访问速度,控制成本。🔑账号安全Administrator设置复杂的初始登录密码,确保服务器最高权限账号的安全性。安全组规则配置80/TCP(HTTP):网站默认访问端口,必须开放443/TCP(HTTPS):加密安全访问端口,必须开放3389/TCP(RDP):Windows远程桌面管理端口8000/TCP(Uvicorn):临时测试用,部署完成后建议关闭远程桌面连接步骤启动工具

Win+R输入mstsc启动远程桌面连接。输入地址

在“计算机”栏填入云服务器公网IP。身份验证

账户:Administrator,密码:初始设置密码。证书确认

首次连接会提示证书警告,勾选不再询问并确认。服务器端Python环境搭建1.版本一致性

安装与本地开发环境一致的Python版本(如3.13.7),避免兼容性问题。2.关键配置

务必勾选Addpython.exetoPATH,以便在命令行直接运行。3.验证安装

打开PowerShell输入python--version,确认显示版本号。项目依赖批量安装导出依赖(本地)

使用pipfreeze>requirements.txt生成依赖清单。传输文件

通过远程桌面剪贴板共享,将文件复制到服务器。批量安装(服务器)

pipinstall-rrequirements.txt项目文件部署结构部署目录:推荐建立C:\WebRoot\PythonWeb规范化管理。复制内容:源码文件(main.py,routers/,models/,templates/,static/)。排除内容:不要复制venv,服务器直接使用全局Python环境。数据库处理策略策略一:保留数据适用于:希望保留开发演示数据直接上传本地company.db文件无需执行初始化命令简单快捷,所见即所得策略二:全新初始化适用于:希望生产环境干净纯粹不要上传数据库文件执行alembicupgradehead运行脚本创建超级管理员Uvicorn临时测试在正式配置Nginx之前,我们需要先确认FastAPI应用本身在服务器上能否正常运行。uvicornmain:app--host访问验证在本地浏览器访问:http://公网IP:8000重要提示成功访问说明环境搭建无误。测试完成后建议停止服务,准备接入Nginx。域名与备案流程📝1.域名注册优先选择.com或.cn等主流后缀,具有更好的品牌认知度和通用性。🆔2.实名认证上传身份证或营业执照。未认证的域名将被注册局锁定,无法解析。⚖️3.ICP备案国内服务器强制要求。不备案会被云厂商拦截80/443端口,导致网站无法访问。DNS解析记录配置主机记录记录类型记录值TTL@A服务器公网IP600秒wwwA服务器公网IP600秒验证生效:ping若能返回服务器IP地址,说明解析已生效。Nginx安装与管理安装步骤下载:官网Stableversionzip包解压:推荐路径C:\nginx(避开中文和空格)启动:在目录下执行startnginx常用管理命令nginx-sstop

立即停止服务nginx-squit

处理完请求后优雅停止nginx-sreload

重新加载配置(修改conf后必用)Nginx反向代理配置详解静态资源(动静分离)location/static{aliasC:/WebRoot/PythonWeb/static;}直接读取磁盘文件,无需经过后端。反向代理(业务逻辑)location/{proxy_pass:8000;proxy_set_headerHost$host;}转发请求至本地Uvicorn,传递真实IP头。反代生效验证🔄1.重新加载nginx-sreload使修改后的配置文件立即生效,无需重启服务。▶️2.启动后端uvicorn...确保后端应用正常运行在8000端口,准备接收转发。🌐3.浏览器访问http://域名直接输入域名(无需端口号),验证首页是否正常加载。启用HTTPS的必要性🛡️数据安全HTTP明文传输极易被窃听或篡改。HTTPS建立加密通道,保障用户隐私与数据完整性。✅用户信任避免浏览器显示“不安全”警告。地址栏的“安全锁”图标能显著提升用户对网站的信任感。🚀行业标准HTTPS已成为现代Web应用的标配,不仅是安全要求,更有助于SEO排名优化。SSL证书申请流程1.选择证书

进入云控制台,选择免费版DVSSL证书。2.绑定验证

填写域名,推荐使用“自动DNS验证”以简化流程。3.下载部署

签发后下载Nginx版本,获取.crt和.key文件。NginxHTTPS配置核心强制跳转(Port80)server{listen80;return301https://$host$request_uri;}将HTTP流量无缝重定向至HTTPS。SSL监听(Port443)server{listen443ssl;ssl_certificatecert/server.crt;ssl_certificate_keycert/server.key;}加载证书并处理加密请求。HTTPS生效验证🛠️1.重启服务nginx-t

nginx-sreload先检查语法无误,再平滑重启。🔒2.提升安全host修改Uvicorn仅监听本地回环地址,不再对公网直接暴露。👁️3.最终验证访问http://自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论