在只有Linux系统的环境下运行项目,核心是按照项目类型完成环境搭建、依赖安装和启动配置,整个过程不需要图形化界面,通过命令行即可完成所有操作。不同类型的项目部署流程略有差异,但整体逻辑一致。

一、前期环境检查
首先确认Linux系统的基础信息和已安装的工具,避免后续步骤出现兼容性问题。先查看系统版本,执行以下命令:
# 查看系统发行版和版本号 cat /etc/os-release # 查看系统架构 uname -m
同时检查是否安装了基础的包管理工具,比如Debian/Ubuntu系列默认有apt,CentOS/RHEL系列默认有yum或dnf,如果没有可以通过系统安装镜像手动安装基础工具包。
二、不同语言项目的部署步骤
1. Java项目部署
Java项目运行需要先安装JDK,以安装JDK 11为例,在Debian/Ubuntu系统执行:
# 更新软件源 sudo apt update # 安装JDK 11 sudo apt install openjdk-11-jdk -y # 验证JDK安装成功 java -version
JDK安装完成后,将打包好的jar包上传到Linux服务器,假设jar包路径为/home/project/demo.jar,执行启动命令:
# 后台启动项目,日志输出到demo.log nohup java -jar /home/project/demo.jar > demo.log 2>&1 & # 查看项目启动日志 tail -f demo.log
2. Python项目部署
Python项目建议先创建虚拟环境避免依赖冲突,首先确认Python版本,然后创建虚拟环境:
# 查看Python版本 python3 --version # 安装虚拟环境工具 sudo apt install python3-venv -y # 创建虚拟环境 python3 -m venv /home/project/venv # 激活虚拟环境 source /home/project/venv/bin/activate
激活虚拟环境后,安装项目依赖,假设依赖文件为requirements.txt:
# 安装项目依赖 pip install -r /home/project/requirements.txt # 启动Python项目,假设入口文件是app.py nohup python3 /home/project/app.py > app.log 2>&1 &
3. Node.js项目部署
先安装Node.js,推荐使用nvm管理Node版本,安装nvm的命令如下:
# 安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 刷新环境变量 source ~/.bashrc # 安装Node.js 18版本 nvm install 18 # 验证Node安装成功 node -v npm -v
安装完成后进入项目目录,安装依赖并启动项目:
# 进入项目目录 cd /home/project # 安装依赖 npm install # 构建项目(如果是需要构建的前端项目) npm run build # 启动项目,后台运行 nohup npm run start > node.log 2>&1 &
三、项目启动后的验证与问题排查
项目启动后,先查看进程是否存在,执行ps -ef | grep 项目关键词命令,如果能看到对应的进程说明启动成功。如果进程不存在,查看启动日志排查错误,常见问题包括:
- 端口被占用:使用
netstat -tuln | grep 端口号查看端口占用情况,修改项目配置文件更换端口 - 依赖缺失:根据日志提示安装对应的系统依赖或语言依赖包
- 权限不足:给项目目录和启动文件添加可执行权限,执行
chmod +x 文件名
如果需要项目开机自启动,可以配置systemd服务,以Java项目为例,创建服务文件:
# 创建服务文件 sudo vim /etc/systemd/system/demo.service
服务文件内容如下:
[Unit] Description=Demo Java Project After=network.target [Service] User=root WorkingDirectory=/home/project ExecStart=/usr/bin/java -jar /home/project/demo.jar SuccessExitStatus=143 Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
之后执行以下命令启用自启动并启动服务:
# 重新加载systemd配置 sudo systemctl daemon-reload # 启用开机自启动 sudo systemctl enable demo.service # 启动服务 sudo systemctl start demo.service # 查看服务状态 sudo systemctl status demo.service