阿里云线上部署自己的写的小项目

本文记录了在Ubuntu20.04系统中,如何一步步部署个人的Laravel+Vue项目。从安装Apache2、MySQL、PHP及其扩展,到配置node/npm和composer,再到通过git推送和克隆项目源码,安装依赖,配置.env文件并迁移数据库,最后确保Apache2配置无误,项目顺利在线上运行。整个过程还涉及到一些遇到的问题和参考链接。

unbuntu20.0.4线上部署自己写的项目(laravel+vue)

这周把自己写的菜鸡项目,仿小米商城部署到线上
系统unbuntu20.0.4大致流程及bug记录

一、搭建环境

1、安装Apache2
  apt install apache2
  默认网站根目录为
  /var/www/html 安装好可以查看apache默认页
  默认网站路径  /etc/apche2/sites-enabled/000-default.conf
2、安装mysql
  apt install mysql
  默认密码为空,版本为8.0 密码自己修改
3.安装php及其扩展
  apt install php 
  apt install php-mysql  php-libapache2-mod-php等
  
4、安装node npm

默认版本比较低可以通过node 版本管理器n 进行升级

npm install cnpm
cnpm install -g n
cnpm install yarn
n 10 安装node10
n stable 安装node稳定版
n 切换版本
5、安装composer php包管理器
可以直接官网复制安装 这里可能会提示缺少扩展 require ext-xxx 直接安装即可 
apt install compsoer
composer self-update
配置中国镜像,这里遇到一个php zip 
### 高可用 Java 应用在阿里云上的部署最佳实践 高可用性是确保应用程序持续运行的关键目标,尤其适用于金融、电商等对系统稳定性要求极高的场景。在阿里云部署高可用的 Java 应用时,需要从服务器架构设计、负载均衡、数据库高可用、服务注册与发现、自动扩缩容以及监控告警等多个方面进行规划。 #### 1. 多可用区部署 为提升系统的容灾能力,建议将应用实例分布在多个可用区(Zone)中。阿里云 ECS 支持跨可用区部署,结合 SLB(Server Load Balancer)实现流量分发,即使某一可用区发生故障,其他可用区的应用仍能继续提供服务[^2]。 #### 2. 使用 SLB 实现负载均衡 通过阿里云 SLB(负载均衡)将用户请求均匀分配到不同 ECS 实例上,避免单点故障。SLB 支持轮询、最小连接数等多种调度算法,并具备健康检查机制,可自动屏蔽异常后端节点[^2]。 #### 3. 数据库高可用方案 对于 MySQL 等关系型数据库,推荐使用阿里云 RDS 的高可用版本,支持主备架构和自动切换。此外,可通过 DTS(Data Transmission Service)实现数据异地容灾备份,进一步增强数据可靠性。 #### 4. 微服务架构下的服务治理 采用 Spring Cloud Alibaba 或 Dubbo 框架构建微服务架构,并集成 Nacos 作为服务注册中心与配置中心。Nacos 支持服务的自动注册与发现、动态配置管理等功能,有助于实现服务的高可用与弹性伸缩[^3]。 #### 5. 容器化与 Kubernetes 编排 使用 Docker 容器打包 Java 应用,并通过阿里云 ACK(Kubernetes 服务)进行编排管理。ACK 提供了 Pod 自愈、滚动更新、水平扩缩容等高级特性,能够显著提升应用的可用性和运维率。 #### 6. 异常监控与告警 集成阿里云 ARMS(Application Real-Time Monitoring Service)或 Prometheus + Grafana 实现应用性能监控,设置合理的阈值触发告警,及时发现并处理潜在问题。 #### 示例:Spring Boot 应用部署阿里云 ACK ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: springboot-app spec: replicas: 3 selector: matchLabels: app: springboot template: metadata: labels: app: springboot spec: containers: - name: springboot image: registry.cn-hangzhou.aliyuncs.com/your-namespace/springboot:latest ports: - containerPort: 8080 resources: limits: memory: "1Gi" cpu: "500m" --- apiVersion: v1 kind: Service metadata: name: springboot-service spec: type: LoadBalancer selector: app: springboot ports: - protocol: TCP port: 80 targetPort: 8080 ``` 上述 YAML 文件定义了一个具有三个副本的 Spring Boot 应用部署,并通过 LoadBalancer 类型的 Service 将其暴露给外部访问,实现了基本的高可用架构。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值