2024-2025-1 20241422 《计算机基础与程序设计》第15周学习总结
作业信息
这个作业属于哪个课程 | (2024-2025-1-计算机基础与程序设计) |
---|---|
这个作业要求在哪里 | (2024-2025-1计算机基础与程序设计第十三周作业) |
这个作业的目标 | 信息系统、数据库与SQL、人工智能与专家系统、人工神经网络、模拟与离散事件、排队系统、天气与地震模型、图形图像 |
作业正文 | https://www.cnblogs.com/wittgensteinsucks/p/18462043 |
教材学习内容总结
Web 部署是指将开发完成的 Web 应用程序(包含网页、后端服务等相关组件)发布到服务器环境中,使其能够通过互联网被用户访问的过程。
部署环境准备
服务器选择:
物理服务器:企业自己购置、管理硬件设备,性能强劲且可高度定制,但成本高、维护复杂,适用于对数据安全、性能要求极高的大型企业。
虚拟专用服务器(VPS):通过虚拟化技术将一台物理服务器分割成多个虚拟服务器,成本相对低些,有一定的资源独占性和定制性,适合中小企业和创业团队。
云服务器:由云服务提供商提供计算资源,按需付费、可弹性扩展,维护和管理相对简便,是目前应用非常广泛的选择,像阿里云、腾讯云等提供多种配置的云服务器。
操作系统安装与配置:常见选择如 Linux(Ubuntu、CentOS 等,以稳定性和安全性高、开源等优势在服务器领域应用广泛)、Windows Server(对于基于.NET 等微软技术的应用适配性好),需要安装相应操作系统并进行诸如网络设置、防火墙配置、更新系统补丁等基础操作。
软件依赖安装:根据 Web 应用的技术栈来安装必备软件,比如采用 Python 的 Django 框架开发的应用,要安装 Python 环境以及相关的依赖库;若是 Java 的 Web 应用,需安装 JDK、Tomcat 等相应组件。
部署方式
手动部署:
通过命令行工具(如 Linux 下的 SSH 连接到服务器后使用相关命令)或图形化界面工具(部分 Windows Server 下可用),将本地开发好的代码文件、配置文件等上传至服务器指定目录,然后在服务器上手动配置运行环境、启动相关服务等。操作较为繁琐、易出错,但灵活性高,便于深入了解部署细节。
示例:在 Linux 服务器上部署一个 Node.js 应用,先通过 FTP 等工具上传代码文件,再安装 Node.js 环境,之后在命令行中进入应用目录,使用npm start等命令启动应用。
自动化部署:
利用工具如 Ansible、Jenkins、GitLab CI/CD 等来实现自动化流程。开发人员提交代码到版本控制系统(如 Git)后,自动化部署工具能自动检测代码变化,按照预设的流程进行代码编译、测试(可选)、打包,然后将构建好的应用部署到目标服务器上,大大提高部署效率、减少人为错误。
例如,使用 Jenkins 构建一个 Java Web 项目的自动化部署流程,先配置好 Jenkins 与代码仓库的连接,设置构建步骤(如编译 Java 代码、打包成 WAR 文件),再定义将 WAR 文件部署到 Tomcat 服务器的操作,后续每次代码更新都会自动触发部署流程。
数据库部署与配置(如果 Web 应用涉及数据库)
数据库选择:常见的有 MySQL(开源、应用广泛、适合多种规模的应用)、Oracle(功能强大、安全性高,常用于大型企业级项目)、SQL Server(与微软生态集成好)、MongoDB(非关系型数据库,适合处理灵活的数据结构、大数据量存储等场景)等。
安装与配置:在服务器上安装所选数据库软件,进行初始化设置,比如创建数据库实例、配置用户权限、设置数据库的字符集、存储引擎等参数,还要考虑数据库的备份策略、性能优化等长期维护工作。
与 Web 应用连接:在 Web 应用的配置文件中准确设置数据库的连接信息,如主机地址(一般就是服务器的 IP 地址)、端口号、数据库名称、用户名和密码等,确保应用能正常读写数据库中的数据。
域名与服务器绑定及 SSL 证书配置
域名绑定:
先注册域名(通过域名注册商进行),然后在域名管理后台将域名解析到部署 Web 应用的服务器 IP 地址上,解析记录类型有 A 记录(用于将域名指向一个 IP 地址)、CNAME 记录(用于将域名指向另一个域名等情况)等,完成后用户就能通过域名访问 Web 应用了。
例如,注册了example.com域名,将其 A 记录指向服务器的 IP 地址,用户在浏览器输入example.com就能访问到对应的 Web 页面。
SSL 证书配置:为保障网站的安全性,尤其是涉及用户登录、交易等敏感信息的传输,通常要配置 SSL 证书实现 HTTPS 加密访问。可通过购买权威机构颁发的证书(如 Let's Encrypt 提供免费的 SSL 证书),然后在服务器上按照相应的证书安装指南(不同服务器软件、操作系统有不同安装方法)进行配置,使网站支持以 https:// 开头的加密访问方式。
部署后的监控与维护
性能监控:通过工具(如 New Relic、Zabbix 等)监测服务器的 CPU 使用率、内存占用、网络带宽、Web 应用响应时间等关键指标,及时发现性能瓶颈并采取优化措施,比如优化代码、增加服务器资源等。
安全监控:监控服务器是否遭受黑客攻击、恶意扫描等安全威胁,定期更新服务器软件的安全补丁、检查防火墙规则等,保障 Web 应用的安全稳定运行。
日志管理:收集并分析 Web 应用和服务器的日志信息(如访问日志、错误日志等),有助于排查故障、了解用户行为等,便于及时调整应用的功能和性能。
-
计划学习时间:24小时
-
实际学习时间:10小时