在VMware Workstation 17.5上构建Deepin 20.9全栈开发环境实战指南
对于需要在隔离环境中进行Web或后端开发的程序员来说,一个配置完善、组件齐全的开发环境是提高生产力的关键。本文将带你从零开始,在VMware Workstation 17.5上搭建基于Deepin 20.9的全栈开发环境,涵盖从虚拟机配置到Java/Node.js/数据库等核心组件的安装与联调。
1. 环境准备与系统安装
1.1 VMware Workstation 17.5的安装与配置
VMware Workstation Pro 17.5是目前最稳定的虚拟机平台之一,特别适合开发环境搭建。安装时需要注意:
- 确保主机系统满足硬件要求:至少4核CPU、8GB内存和20GB可用磁盘空间
- 安装过程中选择"增强型键盘驱动程序"以获得更好的输入体验
- 完成安装后,建议调整以下默认设置:
# 修改VMware配置文件以优化性能 pref.vmplayer.minVmMemPct = "25" pref.vmplayer.minVmMemPct = "50"1.2 Deepin 20.9系统安装
Deepin 20.9基于Debian 10(buster),提供了优秀的桌面体验和开发友好性。安装时需注意:
- 创建虚拟机时选择"Ubuntu 64位"作为客户机操作系统类型
- 分配至少4GB内存和40GB磁盘空间(建议选择动态分配)
- 安装过程中:
- 选择"普通模式"安装
- 任务栏布局选择"高效模式"
- 创建非root用户并记住密码
安装完成后,执行以下基础配置:
# 更新系统并安装基础工具 sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential git curl wget2. 开发环境核心组件安装
2.1 Java开发环境配置
对于企业级Java开发,JDK 8仍然是许多项目的标准选择。在Deepin上安装:
# 安装OpenJDK 8 sudo apt install -y openjdk-8-jdk # 验证安装 java -version javac -version # 设置环境变量 echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64' >> ~/.bashrc echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc source ~/.bashrc提示:如果需要同时管理多个Java版本,可以考虑使用jenv工具进行版本切换。
2.2 Node.js环境搭建
针对特定框架如RuoYi-Cloud,可能需要特定版本的Node.js。以下是Node.js 14的安装方法:
# 安装nvm(Node版本管理器) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 加载nvm export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # 安装Node.js 14 nvm install 14 # 配置npm镜像源 npm config set registry https://registry.npmmirror.com # 安装常用工具 npm install -g yarn cnpm @vue/cli@32.3 数据库服务安装与配置
MySQL 5.7安装
由于兼容性考虑,许多项目仍在使用MySQL 5.7:
# 下载MySQL 5.7 deb包 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.42-1debian10_amd64.deb-bundle.tar # 解压并安装 tar -xvf mysql-server_5.7.42-1debian10_amd64.deb-bundle.tar sudo dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb sudo apt-get -f install # 安全配置 sudo mysql_secure_installation # 允许远程访问(开发环境) sudo sed -i 's/bind-address.*/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf sudo systemctl restart mysqlRedis安装与优化
# 安装Redis sudo apt install -y redis-server # 配置远程访问 sudo sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /etc/redis/redis.conf sudo sed -i 's/protected-mode yes/protected-mode no/' /etc/redis/redis.conf # 性能优化设置 echo "maxmemory 256mb" | sudo tee -a /etc/redis/redis.conf echo "maxmemory-policy allkeys-lru" | sudo tee -a /etc/redis/redis.conf # 重启服务 sudo systemctl restart redis sudo systemctl enable redis3. 网络与系统优化
3.1 虚拟机网络配置
确保宿主机可以访问虚拟机中的服务是关键:
- 在VMware网络编辑器中,选择"NAT模式"并确保已启用端口转发
- 配置Deepin防火墙允许开发端口:
# 安装并配置UFW防火墙 sudo apt install -y ufw sudo ufw allow 22/tcp # SSH sudo ufw allow 3306/tcp # MySQL sudo ufw allow 6379/tcp # Redis sudo ufw allow 80/tcp # Nginx sudo ufw enable3.2 系统性能调优
针对开发环境进行系统优化:
# 调整swappiness值 echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf # 提高文件描述符限制 echo '* soft nofile 65535' | sudo tee -a /etc/security/limits.conf echo '* hard nofile 65535' | sudo tee -a /etc/security/limits.conf # 禁用不必要的服务 sudo systemctl disable bluetooth.service sudo systemctl disable cups.service4. 开发工具链完善
4.1 代码编辑器与IDE
VS Code是大多数开发者的首选:
# 安装VS Code wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/ sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' sudo apt update sudo apt install -y code # 安装常用扩展 code --install-extension ms-vscode.vscode-node-azure-pack code --install-extension vscjava.vscode-java-pack code --install-extension dbaeumer.vscode-eslint4.2 数据库管理工具
对于数据库开发,图形化管理工具很有帮助:
# 安装DBeaver(社区版) wget https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb sudo dpkg -i dbeaver-ce_latest_amd64.deb # 安装Redis桌面管理器 wget https://github.com/qishibo/AnotherRedisDesktopManager/releases/download/v1.6.6/Another-Redis-Desktop-Manager.1.6.6.AppImage chmod +x Another-Redis-Desktop-Manager.1.6.6.AppImage4.3 版本控制与协作工具
# 安装Git并配置 sudo apt install -y git git config --global user.name "Your Name" git config --global user.email "your.email@example.com" git config --global core.editor "code --wait" # 安装SSH客户端 sudo apt install -y electerm5. 服务集成与项目部署
5.1 Nginx配置与反向代理
# 安装Nginx sudo apt install -y nginx # 基础配置示例 sudo tee /etc/nginx/sites-available/dev.conf <<'EOF' server { listen 80; server_name localhost; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /api/ { proxy_pass http://localhost:3000/; } } EOF # 启用配置并重启 sudo ln -s /etc/nginx/sites-available/dev.conf /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx5.2 项目部署自动化
使用shell脚本简化部署流程:
#!/bin/bash # deploy.sh - 自动化部署脚本 # 停止现有服务 sudo systemctl stop your-service # 更新代码 git pull origin main # 构建项目 npm install npm run build # 启动服务 sudo systemctl start your-service # 检查状态 sudo systemctl status your-service5.3 开发环境备份策略
定期备份开发环境配置:
# 创建备份脚本 cat > ~/backup_dev_env.sh <<'EOF' #!/bin/bash BACKUP_DIR="/path/to/backup" TIMESTAMP=$(date +%Y%m%d_%H%M%S) # 备份配置文件 tar -czf ${BACKUP_DIR}/dev_config_${TIMESTAMP}.tar.gz \ ~/.bashrc \ ~/.npmrc \ ~/.gitconfig \ /etc/nginx/sites-available/ \ /etc/mysql/my.cnf \ /etc/redis/redis.conf # 备份已安装软件列表 dpkg --get-selections > ${BACKUP_DIR}/package_list_${TIMESTAMP}.txt EOF # 设置可执行权限 chmod +x ~/backup_dev_env.sh6. 常见问题排查与解决
6.1 网络连接问题
当宿主机无法访问虚拟机服务时:
- 检查虚拟机网络适配器设置是否为NAT模式
- 验证虚拟机防火墙规则:
sudo ufw status numbered - 测试端口连通性:
telnet <虚拟机IP> 3306
6.2 性能优化技巧
如果虚拟机运行缓慢,可以尝试:
- 在VMware设置中启用"加速3D图形"
- 增加虚拟机内存分配
- 关闭Deepin桌面特效:
gsettings set com.deepin.wrap.gnome.desktop.interface enable-animations false
6.3 数据库连接问题
MySQL远程连接失败的常见解决方法:
# 检查用户权限 mysql -u root -p -e "SELECT host, user FROM mysql.user;" # 创建开发用账户 mysql -u root -p -e "CREATE USER 'dev'@'%' IDENTIFIED BY 'devpass';" mysql -u root -p -e "GRANT ALL PRIVILEGES ON *.* TO 'dev'@'%';" mysql -u root -p -e "FLUSH PRIVILEGES;"