下面给出一份从零开始(Ubuntu 24.04 全新系统)构建完整开发环境的工程级操作手册(Markdown 文档)。该方案覆盖:
- Nginx
- PHP(7.4 / 8.1 / 8.2 / 8.3 / 8.4 / 8.5 多版本共存切换)
- MySQL
- Redis
- MongoDB
- Node.js(多版本)
- JDK(8 / 11 / 17 / 21 / 25 多版本)
并满足你提出的全部约束:原生安装、依赖补齐、多版本切换、开机自启、错误预案、可验证步骤。
📘 Ubuntu 24.04 全栈开发环境搭建手册(企业级完整版)
1. 系统初始化(必须)
1.1 更新系统 & 基础工具
sudo apt update && sudo apt upgrade -y
sudo apt install -y \
curl wget vim git unzip zip gnupg2 ca-certificates \
software-properties-common build-essential \
lsb-release apt-transport-https验证
gcc --version
make --version2. 安装 Nginx
sudo apt install -y nginx启动 & 开机自启
sudo systemctl enable nginx
sudo systemctl start nginx验证
systemctl status nginx浏览器访问:
http://localhost3. 安装 MySQL
sudo apt install -y mysql-server初始化安全配置
sudo mysql_secure_installation开机自启
sudo systemctl enable mysql
sudo systemctl start mysql验证
mysql --version
sudo mysql -u root -p4. 安装 Redis
sudo apt install -y redis-server修改后台运行模式
sudo nano /etc/redis/redis.conf修改:
supervised systemd启动
sudo systemctl enable redis-server
sudo systemctl start redis-server验证
redis-cli ping
# PONG5. 安装 MongoDB(官方仓库)
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server.gpg --dearmorecho "deb [ signed-by=/usr/share/keyrings/mongodb-server.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org.listsudo apt update
sudo apt install -y mongodb-org启动
sudo systemctl enable mongod
sudo systemctl start mongod验证
mongosh6. PHP 多版本安装(核心重点)
6.1 添加 PHP PPA(Ondřej)
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update6.2 安装所有 PHP 版本
sudo apt install -y \
php7.4 php7.4-fpm php7.4-cli php7.4-mysql php7.4-redis \
php8.1 php8.1-fpm php8.1-cli php8.1-mysql php8.1-redis \
php8.2 php8.2-fpm php8.2-cli php8.2-mysql php8.2-redis \
php8.3 php8.3-fpm php8.3-cli php8.3-mysql php8.3-redis \
php8.4 php8.4-fpm php8.4-cli php8.4-mysql php8.4-redis \
php8.5 php8.5-fpm php8.5-cli php8.5-mysql php8.5-redis6.3 配置多版本切换(update-alternatives)
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.1 81
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.3 83
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.4 84
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.5 85设置默认版本(PHP 8.2)
sudo update-alternatives --config php6.4 PHP-FPM 多版本切换
检查 socket:
/run/php/php7.4-fpm.sock
/run/php/php8.2-fpm.sock
...Nginx 配置示例
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}切换版本只需修改 socket 并 reload nginx:
sudo systemctl reload nginxPHP 验证
php -v7. Node.js 多版本安装(nvm)
安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc安装多个版本
nvm install 14
nvm install 16
nvm install 18
nvm install 20
nvm install 22设置默认版本
nvm alias default 20
nvm use default验证
node -v
npm -v8. JDK 多版本安装(核心)
8.1 下载 JDK(Adoptium)
创建目录:
sudo mkdir -p /usr/lib/jvm
cd /usr/lib/jvm下载各版本(示例)
sudo wget https://download.java.net/java/GA/jdk8/latest/binaries/openjdk-8_linux-x64_bin.tar.gz
sudo wget https://download.java.net/java/GA/jdk11/latest/binaries/openjdk-11_linux-x64_bin.tar.gz
sudo wget https://download.java.net/java/GA/jdk17/latest/binaries/openjdk-17_linux-x64_bin.tar.gz
sudo wget https://download.java.net/java/GA/jdk21/latest/binaries/openjdk-21_linux-x64_bin.tar.gz解压
sudo tar -xzf openjdk-8*.tar.gz
sudo tar -xzf openjdk-11*.tar.gz
sudo tar -xzf openjdk-17*.tar.gz
sudo tar -xzf openjdk-21*.tar.gz8.2 配置 alternatives
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk8/bin/java 8
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk11/bin/java 11
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk17/bin/java 17
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk21/bin/java 21设置默认 JDK(21)
sudo update-alternatives --config java验证
java -version
javac -version9. 开机自启服务汇总
sudo systemctl enable nginx
sudo systemctl enable mysql
sudo systemctl enable redis-server
sudo systemctl enable mongodPHP-FPM:
sudo systemctl enable php7.4-fpm
sudo systemctl enable php8.2-fpm10. 常见问题 & 解决方案(重点)
❌ 1. PHP-FPM socket 不存在
原因
未启动 FPM
解决
sudo systemctl restart php8.2-fpm
ls /run/php/❌ 2. Nginx 502 Bad Gateway
原因
PHP socket 不匹配
解决
检查:
fastcgi_pass unix:/run/php/php8.2-fpm.sock;❌ 3. MySQL 无法登录 root
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';❌ 4. Node 版本混乱
nvm use default❌ 5. JAVA_HOME 未生效
echo "export JAVA_HOME=/usr/lib/jvm/jdk21" >> ~/.bashrc
source ~/.bashrc❌ 6. MongoDB 启动失败
sudo systemctl status mongod
sudo journalctl -xe11. 环境验证总表
| 组件 | 命令 |
|---|---|
| Nginx | nginx -v |
| PHP | php -v |
| MySQL | mysql --version |
| Redis | redis-cli ping |
| MongoDB | mongosh |
| Node | node -v |
| Java | java -version |
12. 最终架构说明
Ubuntu 24.04
├── Nginx(入口)
├── PHP-FPM(多版本)
├── MySQL
├── Redis
├── MongoDB
├── Node.js(nvm 多版本)
└── JDK(update-alternatives 多版本)✔ 如果你需要升级版
我可以继续帮你扩展成:
🚀 企业级增强版
- Docker 化(全部服务容器化)
- Nginx + PHP-FPM 自动版本切换脚本
- Jenkins + CI/CD
- HTTPS + Let's Encrypt
- 多项目隔离(vhost 模板)
- 性能调优(MySQL / PHP / Redis)
只需要说一句:
👉 “升级到企业生产环境版本”
坏蛋格鲁
Ребята, бывает же такое горе. Родственник пьет без остановки. Думал уже всё. Участковый только руками разводит. Короче, только это и работает — адекватный вывод из запоя цены приемлемые. Приехали. В общем, смотрите сами по ссылке — вывести из запоя на дому [url=https://vyvod-iz-zapoya-na-domu-voronezh-zqw.ru]вывести из запоя на дому[/url] Не тяните. Скиньте кому надо.
Трубы с маркировкой PN10 используются в основном для сетей холодного водоснабжения и «теплых полов», PN16 – для прокладки холодного и горячего водоснабжения, а также центрального отопления, с учетом пониженного давления и действующей температуры до +60°С, касаемо труб с PN20 – они универсальны https://deneb-spb.ru/shurup-shpilka
5 https://deneb-spb.ru/dostavka
2 https://deneb-spb.ru/shtanga-rezbovaya
1 Трубы и фитинги из термопластов следует применять в системах водоснабжения и отопления с максимальным рабочим давлением p макс 0,4; 0,6; 0,8 и 1,0 МПа и температурными режимами, указанными в таблице 26 https://deneb-spb.ru/clientam
Установлены следующие классы эксплуатации труб и фитингов: - класс 1 – для РР-Н, РР-В, PP-R, PE-X, PB, PVC-C; - класс 2 – для РР-Н, РР-В, PP-R, PE-X, PB, PVC-C; - класс 3 – для PVC-C, РР-Н, РР-В, PP-R, PE-X, PB; - класс 4 – для РР-Н, РР-В, PP-R, PE-X, PB; - класс 5 – для РР-Н, РР-В, PP-R, PE-X, PB; - класс «ХВ» – для РЕ и PVC-U;
Назначение https://deneb-spb.ru/truborezy-i-nozhnicy
Доставим на Ваш строительный объект https://deneb-spb.ru/ugolniki
· Стандартные однослойные https://deneb-spb.ru/obvody
В их составе только полипропилен https://deneb-spb.ru/ugolniki
· Армированные перфорированным или цельным алюминием https://deneb-spb.ru/krestoviny
Внутренняя металлическая прослойка придает усиленную прочность https://deneb-spb.ru/truby-armirovannye-alyuminiem
· Армированные стекловолокном https://deneb-spb.ru/homuty-santekhnicheskie-trubnye
Стекловолоконный промежуточный слой также делает изделия более стойкими к деформациям, давлению в трубопроводе до 25атм https://deneb-spb.ru/burty-i-flancy
Внутренний диаметр https://deneb-spb.ru/clientam