服务器重置实例后的部署工作

简介: 该内容描述了一次服务器配置过程,包括使用`nginx`作为反向代理,通过`docker`运行两个项目环境(生产&测试)以及`redis`服务。`init.sh`脚本用于创建项目目录和安装`docker`、`unzip`、`nginx`。`step.sh`用于管理`java`项目的容器。在`nginx`配置中,设定了反向代理规则。最后,通过`systemctl restart nginx`重启服务,并提到项目部署自动化已集成到`jenkins`,只需更新服务器访问凭证即可。
  1. 使用nginx做反向代理,nginx是直接yum安装的
  2. 里面docker跑了我的一个项目的两个环境,一个生产一个测试
  3. 还用docker跑redis就给我这两项目用
  4. java项目里面有step.sh

init.sh创建了我的几个项目目录,安装了docker、unzip、nginx

#!/bin/bash
yum install -y
# 定义多级目录路径数组
directories=(
  "/home/logs"
  "/www/xxx-platform" 
  "/www/xxx-platform-forntend"
  "/wwww/test/xxx-platform"
  "/www/test/xxx-platform-forntend"
)
# 循环创建每个目录
for dir in "${directories[@]}"; do
    # 使用-p选项创建目录,如果目录已经存在则不报错
    mkdir -p "$dir"
    
    # 检查目录是否创建成功
    if [ -d "$dir" ]; then
        echo "目录 $dir 创建成功。"
    else
        echo "目录 $dir 创建失败。"
    fi
done
# 安装Docker
echo "开始安装Docker..."
sudo yum update -y
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动Docker服务
sudo systemctl start docker
# 验证Docker是否安装成功
if [ -x "$(command -v docker)" ]; then
    echo "Docker 安装成功。"
else
    echo "Docker 安装失败。"
fi
yum install -y unzip
sudo yum install -y epel-release
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

然后再去我的java两个项目里面上传我的step.sh,以下以prod的step为样例

#!/bin/sh
docker stop java17-container 
docker rm java17-container
docker rmi java17-image
docker build -t java17-image .
docker run -dit -p 12001:12001 -p 9998:9998  -v /www/xxx-platform/log:/home/logs/xxx-platform --name java17-container --restart=always java17-image

最后nginx啥都不用动直接去/etc/nginx/conf.d/里面上传我之前留下来的几个conf,两个前端+两个后端,下面列一个后端为样例

server {
    listen 80;
    server_name  platformapi.xxx.tech;
    index index.html;
    client_max_body_size 1024M;
    error_log /home/nginx/logs/xxx-platform-error.log;
    access_log /home/nginx/logs/xxx-platform.log;
    
    location / {
      proxy_pass http://127.0.0.1:12001/;                       
    }
}

然后重启nginx命令systemctl restart nginx

ps:因为项目打包已经防盗jenkins里面去了,只需要去那边修改下连接服务器的凭证密码,后续就直接将打好的包推过来再触发了我的step就行了,so,docker ps没问题ok

相关文章
|
14天前
|
分布式计算 大数据 数据挖掘
阿里云服务器计算型c8i、通用型g8i、内存型r8i实例测评与价格参考
阿里云服务器计算型c8i、通用型g8i、内存型r8i实例是阿里云的第八代云服务器实例规格,是除了计算型c7和c8y、通用型g7与g8y、内存型r7与r8y之外同样深受用户喜欢的云服务器实例规格。本文将详细介绍阿里云第八代云服务器中的计算型c8i、通用型g8i、以及内存型r8i实例,包括它们的技术特性、适用场景以及最新的活动价格信息。
阿里云服务器计算型c8i、通用型g8i、内存型r8i实例测评与价格参考
|
1月前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
29天前
|
编解码 前端开发 安全
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
在我们选购阿里云服务器的过程中,不管是新用户还是老用户通常都是通过阿里云的活动去买了,一是价格更加实惠,二是活动中的云服务器配置比较丰富,足可以满足大部分用户的需求,但是面对琳琅满目的云服务器实例、带宽和云盘选项,如何选择更适合自己,成为许多用户比较关注的问题。本文将介绍如何在阿里云的活动中选择合适的云服务器实例、带宽和云盘,以供参考和选择。
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
|
27天前
|
弹性计算 运维 安全
阿里云轻量应用服务器和经济型e实例区别及选择参考
目前在阿里云的活动中,轻量应用服务器2核2G3M带宽价格为82元1年,2核2G3M带宽的经济型e实例云服务器价格99元1年,对于云服务器配置和性能要求不是很高的阿里云用户来说,这两款服务器配置和价格都差不多,阿里云轻量应用服务器和ECS云服务器让用户二选一,很多用户不清楚如何选择,本文来说说轻量应用服务器和经济型e实例的区别及选择参考。
阿里云轻量应用服务器和经济型e实例区别及选择参考
|
28天前
|
机器学习/深度学习 存储 人工智能
阿里云GPU云服务器实例规格gn6v、gn7i、gn6i实例性能及区别和选择参考
阿里云的GPU云服务器产品线在深度学习、科学计算、图形渲染等多个领域展现出强大的计算能力和广泛的应用价值。本文将详细介绍阿里云GPU云服务器中的gn6v、gn7i、gn6i三个实例规格族的性能特点、区别及选择参考,帮助用户根据自身需求选择合适的GPU云服务器实例。
阿里云GPU云服务器实例规格gn6v、gn7i、gn6i实例性能及区别和选择参考
|
19天前
|
设计模式 数据库连接 PHP
PHP中的设计模式:如何提高代码的可维护性与扩展性在软件开发领域,PHP 是一种广泛使用的服务器端脚本语言。随着项目规模的扩大和复杂性的增加,保持代码的可维护性和可扩展性变得越来越重要。本文将探讨 PHP 中的设计模式,并通过实例展示如何应用这些模式来提高代码质量。
设计模式是经过验证的解决软件设计问题的方法。它们不是具体的代码,而是一种编码和设计经验的总结。在PHP开发中,合理地使用设计模式可以显著提高代码的可维护性、复用性和扩展性。本文将介绍几种常见的设计模式,包括单例模式、工厂模式和观察者模式,并通过具体的例子展示如何在PHP项目中应用这些模式。
|
21天前
|
监控 JavaScript Java
部署应用程序到服务器
部署应用程序到服务器
38 3
|
14天前
|
JavaScript Linux 开发工具
如何将nodejs项目程序部署到阿里云服务器上
该文章详细描述了将Node.js项目部署到阿里云服务器的步骤,包括服务器环境配置、项目上传及使用PM2进行服务管理的过程。
|
21天前
|
Ubuntu 开发工具 git
在Ubuntu上部署BOA服务器的步骤
部署BOA服务器是一个涉及多个步骤的过程,包括系统更新、安装依赖、下载和编译源代码、配置服务器以及启动和验证。遵循上述步骤,可以在Ubuntu系统上成功部署BOA服务器,为开发和测试提供一个轻量级的Web服务器环境。
14 0
|
数据采集 SQL 弹性计算
使用云服务器ECS部署了自己的第一个爬虫
云服务器部署爬虫爬取网站最新通告并推送
使用云服务器ECS部署了自己的第一个爬虫