温馨提示×

centos stream8如何部署应用程序

小樊
42
2025-12-17 12:07:57
栏目: 智能运维

CentOS Stream 8 应用部署实用指南

一 环境准备与通用步骤

  • 更新系统并安装常用工具:执行 sudo dnf update -y,按需安装 dnf-plugins-core 等工具。
  • 配置软件源:优先使用官方 AppStream/BaseOS 仓库;如需本地介质,可挂载 ISO 并启用 /etc/yum.repos.d/CentOS-Stream-Media.repo 中的本地源(将 enabled=0 改为 enabled=1)。
  • 防火墙放行:例如放行 80/443/3306 端口,使用 firewall-cmd --add-port=80/tcp --permanent && firewall-cmd --reload
  • SELinux:生产环境建议保持 Enforcing,通过策略或布尔值精细化放行;仅在测试环境可临时 setenforce 0
  • 服务管理:使用 systemctl enable --now 启动并开机自启,用 systemctl status 检查运行状态。

二 方法一 使用 DNF 或 YUM 仓库安装

  • 安装常见服务(示例):
    • PostgreSQL 14:执行 sudo dnf install -y postgresql14-server postgresql14-contrib,随后 sudo systemctl enable --now postgresql
    • Docker CE:先 sudo dnf install -y dnf-plugins-core,再添加仓库 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo,安装 sudo dnf install -y docker-ce docker-ce-cli containerd.io,最后 sudo systemctl enable --now docker
  • 验证:如 docker --versionsystemctl status postgresql
  • 适用场景:官方或第三方提供了 RPM 仓库 的应用,追求稳定与易维护。

三 方法二 源码编译安装并注册为系统服务

  • 安装编译依赖:sudo dnf groupinstall “Development Tools”,以及 pcre-devel zlib-devel openssl-devel 等。
  • 编译安装示例(以 Nginx 为例):
    • 下载与解压:wget http://nginx.org/download/nginx-1.22.0.tar.gz && tar -zxvf nginx-1.22.0.tar.gz && cd nginx-1.22.0
    • 配置与编译安装:
      • ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module
      • make && sudo make install
  • 注册 systemd 服务(/etc/systemd/system/nginx.service):
    • [Unit] Description=Nginx; After=network.target
    • [Service] ExecStart=/usr/local/nginx/sbin/nginx; ExecReload=/usr/local/nginx/sbin/nginx -s reload; ExecStop=/usr/local/nginx/sbin/nginx -s stop; Type=forking
    • [Install] WantedBy=multi-user.target
    • 启用:sudo systemctl daemon-reload && sudo systemctl enable --now nginx
  • 适用场景:需要定制编译参数、启用/禁用特定模块或安装路径的场景。

四 方法三 容器化部署 Docker

  • 安装与启动 Docker:参考上文仓库安装步骤,完成后 sudo systemctl enable --now docker
  • 构建镜像与运行容器:
    • 示例 Dockerfile(基于 centos:stream8):
      • FROM centos:stream8
      • ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
      • RUN dnf update -y && dnf install -y wget vim && dnf clean all
      • COPY . /app && WORKDIR /app
      • EXPOSE 8080
      • CMD [“bash”, “start.sh”]
    • 构建与运行:docker build -t myapp:1.0 .docker run -d -p 8080:8080 --name myapp myapp:1.0
  • 常用运维命令:docker psdocker logs -f <容器名>docker exec -it <容器名> /bin/bashdocker stop/start/rm <容器名>
  • 适用场景:环境一致性、快速交付、横向扩展与隔离。

五 方法四 虚拟机部署

  • VMware/VirtualBox 中创建 CentOS Stream 8 虚拟机,完成网络与存储配置。
  • 在虚拟机内部按上述任一方法部署应用(如 DNF 安装、源码编译或 Docker)。
  • 适用场景:需要完整操作系统隔离、与宿主机强隔离或运行多套不同环境的测试/演示。

0