在 Linux 云服务器(如阿里云 ECS、腾讯云 CVM、AWS EC2 等)上搭建 Python 或 Java 开发环境,需兼顾稳定性、安全性、可维护性和生产/开发适配性。以下是分步骤、推荐实践的详细指南(以主流 Ubuntu 22.04/24.04 或 CentOS Stream 9/RHEL 9 为例):
✅ 一、通用前置准备(所有环境必做)
# 1. 更新系统 & 安装基础工具
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
# 或
sudo dnf update -y # RHEL/CentOS Stream
sudo apt install -y curl wget git vim htop tmux net-tools gnupg lsb-release # 常用工具
# 2. 创建非 root 开发用户(安全最佳实践)
sudo adduser devuser
sudo usermod -aG sudo devuser # Ubuntu;RHEL 用 `usermod -aG wheel devuser`
sudo su - devuser
⚠️ 注意:切勿直接用 root 进行开发!避免权限混乱与安全风险。
🐍 二、Python 开发环境(推荐:pyenv + pipx + venv)
✅ 优势:多版本共存、隔离项目依赖、无系统污染、支持最新 Python(如 3.12)
步骤 1:安装 pyenv(管理 Python 版本)
# 安装依赖
sudo apt install -y make build-essential libssl-dev zlib1g-dev
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
libncurses5-dev libncursesw5-dev xz-utils tk-dev libxml2-dev
libxmlsec1-dev libffi-dev liblzma-dev
# 安装 pyenv(推荐方式)
curl https://pyenv.run | bash
# 配置 shell(~/.bashrc 或 ~/.zshrc)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
# 验证
pyenv --version # 应输出如 v2.4.12
步骤 2:安装 Python 并设为全局/局部版本
pyenv install 3.12.3 # 安装指定版本(可选 3.11.9、3.10.13 等)
pyenv global 3.12.3 # 设为全局默认(或用 `pyenv local 3.12.3` 在项目目录生效)
python --version # 验证 → Python 3.12.3
步骤 3:安装核心工具(pipx 管理 CLI 工具,venv 管理项目)
# 升级 pip 并安装 pipx(安全安装独立 Python CLI 工具)
python -m pip install --upgrade pip
python -m pip install pipx
pipx ensurepath
# 安装常用开发工具(全局可用,互不干扰)
pipx install black isort mypy pytest flake8 poetry # Poetry 替代 pipenv(推荐)
pipx install jupyterlab # 如需 Notebook
# ✅ 创建新项目示例:
mkdir ~/myproject && cd ~/myproject
poetry init # 交互式创建 pyproject.toml
poetry add requests fastapi # 添加依赖
poetry shell # 激活隔离虚拟环境(自动创建)
🔑 关键提示:
- 不要用
sudo pip install!会污染系统 Python。venv/poetry/pipenv三选一,Poetry 是当前最推荐的现代方案(依赖锁定 + 打包 + 发布一体化)。- Web 开发建议加:
poetry add uvicorn gunicorn(ASGI 生产部署)。
☕ 三、Java 开发环境(推荐:SDKMAN! + Maven + IDE 可选)
✅ 优势:多 JDK 版本秒切换(OpenJDK、Liberica、Temurin)、免手动配置 PATH
步骤 1:安装 SDKMAN!(类比 pyenv 的 Java 版本管理器)
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
# 验证
sdk version # 应输出 SDKMAN! version
步骤 2:安装 JDK(推荐 LTS 版本)
sdk list java # 查看可用版本(推荐 temurin-17.0.10+7、liberica-21.0.3+9)
sdk install java 17.0.10-temurin # 安装 Temurin 17(LTS,企业首选)
sdk install java 21.0.3-liberica # 可选:安装 JDK 21(新特性)
sdk default java 17.0.10-temurin # 设为默认
java -version # 输出:openjdk version "17.0.10"
javac -version
步骤 3:安装构建工具 & 常用组件
# 安装 Maven(推荐用 SDKMAN! 管理)
sdk install maven 3.9.7
mvn -v # 验证
# (可选)安装 Gradle
sdk install gradle 8.7
# (可选)安装 Spring Boot CLI(快速脚手架)
sdk install springboot 3.2.5
# ✅ 创建 Spring Boot 项目示例(无需 IDE):
spring init --dependencies=web,actuator,lombok myapp
cd myapp
./mvnw spring-boot:run # 启动(自动下载 Maven Wrapper)
🔑 关键提示:
- 避免手动下载 JDK tar.gz + 配置 JAVA_HOME(易出错、难维护)→ SDKMAN! 是云服务器最优解。
- 生产推荐 Temurin(Eclipse Adoptium)或 Liberica JDK(商业免费、长期支持、ARM64 兼容好)。
- Maven 使用
~/.m2/settings.xml可配置阿里云镜像提速(国内必备):<mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>Aliyun Maven</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors>
🌐 四、进阶:Web 开发服务化(可选)
| 场景 | 推荐方案 | 命令示例 |
|---|---|---|
| Python FastAPI/Flask | Nginx + Uvicorn/Gunicorn 反向X_X | pipx install uvicorn, uvicorn main:app --host 0.0.0.0:8000 --reload + Nginx 配置 |
| Java Spring Boot | 内置 Tomcat,反向X_X到 8080 | java -jar app.jar --server.port=8080 + Nginx 转发 |
| 远程开发 | VS Code Remote-SSH 插件 | 直连服务器,本地编辑 + 云端运行调试 |
🛡️ 五、安全与运维建议(云服务器特别注意)
- ✅ 防火墙:仅开放必要端口(SSH 22、HTTP 80、HTTPS 443、开发端口如 8000/8080)
sudo ufw allow OpenSSH sudo ufw allow 80/tcp && sudo ufw allow 443/tcp sudo ufw enable - ✅ SSH 加固:禁用密码登录,改用密钥对 + 非标准端口(参考
/etc/ssh/sshd_config) - ✅ 定期更新:
sudo apt update && sudo apt upgrade -y(建议每周 cron 自动执行) - ✅ 备份关键数据:
~/myproject/、~/.pyenv/versions/、~/.sdkman/candidates/java/(JDK 可重装,但项目代码必须备份!)
📦 附:一键初始化脚本(保存为 setup-dev.sh)
#!/bin/bash
# 快速部署 Python+Java 开发环境(Ubuntu/Debian)
set -e
echo "🔧 安装基础依赖..."
sudo apt update && sudo apt install -y curl git vim wget build-essential zlib1g-dev
libssl-dev libbz2-dev libreadline-dev libsqlite3-dev llvm libncurses5-dev
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
echo "🐍 安装 pyenv..."
curl https://pyenv.run | bash
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
pyenv install 3.12.3 && pyenv global 3.12.3
echo "☕ 安装 SDKMAN! 和 JDK..."
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 17.0.10-temurin && sdk default java 17.0.10-temurin
echo "📦 安装工具链..."
python -m pip install --upgrade pip
python -m pip install pipx && pipx ensurepath
pipx install poetry black mypy pytest
sdk install maven 3.9.7
echo "✅ 开发环境就绪!执行 source ~/.bashrc 后使用。"
运行:chmod +x setup-dev.sh && ./setup-dev.sh
需要我为你:
- ✅ 生成特定云平台(如阿里云 ECS)的完整初始化 Shell 脚本?
- ✅ 配置 Nginx + Uvicorn 反向X_X(含 HTTPS)?
- ✅ Docker 化 Python/Java 应用部署方案?
- ✅ 配置 GitHub Actions CI/CD 自动部署到云服务器?
欢迎随时提出,我可以按需提供完整可执行代码 👇
CLOUD云枢