单机安装部署:安装前准备、详细步骤与常见问题排查

📅 2026/8/27 9:31:20
单机安装部署:安装前准备、详细步骤与常见问题排查
1. 引言单机安装部署是很多软件系统落地的最基础场景。相比集群部署单机部署省去了网络协调、节点通信等复杂环节但同样需要做好环境检查、依赖准备和参数配置。本文以实际部署过程为主线先梳理安装前的准备工作再给出详细安装步骤和关键代码最后汇总安装过程中容易遇到的问题及排查方法。2. 安装前的准备工作安装前准备是否充分直接决定后续安装是否顺利。建议按以下顺序逐项确认。2.1 硬件与系统要求确认先确认服务器硬件配置是否满足软件运行的最低要求包括 CPU 核数、内存大小、磁盘空间和系统架构。不同软件要求不同但通常建议内存不低于 4GB磁盘剩余空间不低于 20GB。同时确认操作系统版本是否在官方支持列表内例如 CentOS 7、Ubuntu 20.04 等。2.2 操作系统基础环境检查登录服务器后先检查系统版本、内核版本和已安装的基础工具。# 查看操作系统版本 cat /etc/os-release 查看内核版本 uname -r 查看 CPU 和内存 lscpu free -h 查看磁盘空间 df -h2.3 依赖软件与运行环境准备根据目标软件的技术栈提前安装对应的运行环境。例如 Java 应用需要 JDKPython 应用需要 Python 解释器数据库类软件可能需要特定的编译工具链。建议提前确认版本兼容性避免安装过程中出现依赖冲突。2.4 网络与端口规划单机部署虽然不涉及节点间通信但仍需确认软件所需端口未被占用并提前在防火墙中放行。常用端口如 8080、3306、6379 等可通过以下命令检查。# 检查端口是否被占用 ss -tlnp | grep 8080 查看防火墙状态 systemctl status firewalld 放行指定端口 firewall-cmd --permanent --add-port8080/tcp firewall-cmd --reload2.5 安装包与配置文件准备提前下载好软件安装包、依赖包和官方配置文件模板并校验安装包的完整性例如通过 MD5 或 SHA256 校验。同时准备好安装目录、数据目录和日志目录的规划建议统一放在 /opt 或 /data 下便于后续维护。3. 详细安装步骤下面以一套典型的 Java Web 应用单机部署为例给出从解压安装包到启动服务的完整步骤。3.1 创建安装用户与目录出于安全考虑不建议直接使用 root 运行应用服务建议创建专用用户并规划目录结构。# 创建专用用户 useradd -m -s /bin/bash appuser 创建安装目录、数据目录和日志目录 mkdir -p /opt/app mkdir -p /data/app mkdir -p /var/log/app 授权给专用用户 chown -R appuser:appuser /opt/app /data/app /var/log/app3.2 解压安装包并配置环境变量# 切换到安装目录 cd /opt/app 解压安装包 tar -zxvf app-server-1.0.0.tar.gz 配置环境变量编辑 /etc/profile 追加以下内容 export APP_HOME/opt/app/app-server-1.0.0 export PATH$PATH:$APP_HOME/bin 使环境变量生效 source /etc/profile3.3 修改核心配置文件安装完成后需要根据实际环境修改配置文件主要包括监听端口、数据目录、日志级别和数据库连接等参数。以下是一个典型的配置文件片段。# 编辑应用配置文件 vim /opt/app/app-server-1.0.0/conf/application.conf 关键配置项示例 server.port8080 server.data.dir/data/app server.log.dir/var/log/app db.host127.0.0.1 db.port3306 db.usernameappuser db.passwordyour_password3.4 初始化数据库如果应用依赖数据库需要先创建数据库和账号并执行初始化脚本。# 登录数据库 mysql -uroot -p 创建数据库和账号 CREATE DATABASE appdb DEFAULT CHARACTER SET utf8mb4; CREATE USER appuserlocalhost IDENTIFIED BY your_password; GRANT ALL PRIVILEGES ON appdb.* TO appuserlocalhost; FLUSH PRIVILEGES; 退出后执行初始化脚本 mysql -uappuser -p appdb /opt/app/app-server-1.0.0/sql/init.sql3.5 启动服务并验证# 切换到专用用户启动服务 su - appuser cd /opt/app/app-server-1.0.0 启动服务 bin/start.sh 查看进程是否启动 ps -ef | grep app-server 查看启动日志 tail -f /var/log/app/app.log 验证端口监听 ss -tlnp | grep 8080 本地验证 HTTP 服务 curl -I http://127.0.0.1:80803.6 设置开机自启动为了让服务在服务器重启后自动拉起建议配置 systemd 服务。# 创建 systemd 服务文件 vim /etc/systemd/system/app-server.service[Unit] DescriptionApp Server Afternetwork.target [Service] Userappuser ExecStart/opt/app/app-server-1.0.0/bin/start.sh ExecStop/opt/app/app-server-1.0.0/bin/stop.sh Restarton-failure [Install] WantedBymulti-user.target# 重新加载并启用服务 systemctl daemon-reload systemctl enable app-server systemctl start app-server systemctl status app-server4. 安装过程中常见问题及排查安装过程难免遇到各种问题下面汇总几类高频问题及对应的排查思路。4.1 端口被占用启动时报端口被占用通常是因为目标端口已被其他进程使用。先确认占用进程再决定是释放端口还是修改应用端口。# 查看占用端口的进程 lsof -i :8080 或使用 ss 命令 ss -tlnp | grep 8080 确认后选择释放端口或修改应用配置中的端口号4.2 权限不足导致启动失败启动时报 Permission denied 或无法写入日志通常是目录属主不对或缺少执行权限。检查目录属主和权限位并确保使用专用用户运行。# 检查目录属主和权限 ls -ld /opt/app /data/app /var/log/app 修正属主 chown -R appuser:appuser /opt/app /data/app /var/log/app 给启动脚本添加执行权限 chmod x /opt/app/app-server-1.0.0/bin/*.sh4.3 依赖缺失或版本不兼容启动时报缺少动态库、找不到 Java 命令或 Python 模块缺失属于典型的依赖问题。先确认运行环境版本再针对性补齐依赖。# 确认 Java 版本 java -version 确认 Python 版本 python3 --version 安装缺失的系统依赖以 CentOS 为例 yum install -y libaio numactl 安装缺失的 Python 模块 pip3 install -r requirements.txt4.4 数据库连接失败应用启动后报数据库连接超时或拒绝连接需要依次检查数据库服务状态、账号权限、网络连通性和连接配置。# 检查数据库服务状态 systemctl status mysqld 测试本地连接 mysql -uappuser -p -h 127.0.0.1 -P 3306 检查应用配置中的连接串是否正确 grep -i db. /opt/app/app-server-1.0.0/conf/application.conf4.5 防火墙拦截导致外部无法访问服务在本机 curl 正常但外部访问不通通常是防火墙或安全组未放行端口。检查防火墙规则并放行对应端口。# 查看防火墙规则 firewall-cmd --list-all 放行端口 firewall-cmd --permanent --add-port8080/tcp firewall-cmd --reload 如果是云服务器还需在安全组中放行对应端口4.6 内存不足导致进程被杀死服务启动后运行一段时间进程消失查看系统日志发现 OOM说明内存配置不足。需要调整 JVM 堆内存参数或增加系统内存。# 查看系统内存 free -h 查看 OOM 日志 dmesg | grep -i oom 调整 JVM 堆内存参数编辑启动脚本 vim /opt/app/app-server-1.0.0/bin/start.sh 将 -Xmx 调整为合适值例如 -Xmx2g5. 总结单机安装部署虽然相对简单但准备工作是否充分、步骤是否规范、问题排查是否到位都会直接影响部署效率。建议在正式部署前先梳理一份检查清单逐项确认硬件、系统、依赖、端口和配置安装过程中严格按步骤执行并保留日志遇到问题时按「先看日志、再查依赖、后调配置」的顺序排查。掌握这些方法后单机部署就能做到有条不紊、快速落地。达梦社区地址https://eco.dameng.com