坏蛋格鲁坏蛋格鲁

【Dev】ChatGPT:Ubuntu 24.04 全栈开发环境搭建手册

下面给出一份从零开始(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 --version

2. 安装 Nginx

sudo apt install -y nginx

启动 & 开机自启

sudo systemctl enable nginx
sudo systemctl start nginx

验证

systemctl status nginx

浏览器访问:

http://localhost

3. 安装 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 -p

4. 安装 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
# PONG

5. 安装 MongoDB(官方仓库)

curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server.gpg --dearmor
echo "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.list
sudo apt update
sudo apt install -y mongodb-org

启动

sudo systemctl enable mongod
sudo systemctl start mongod

验证

mongosh

6. PHP 多版本安装(核心重点)

6.1 添加 PHP PPA(Ondřej)

sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

6.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-redis

6.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 php

6.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 nginx

PHP 验证

php -v

7. 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 -v

8. 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.gz

8.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 -version

9. 开机自启服务汇总

sudo systemctl enable nginx
sudo systemctl enable mysql
sudo systemctl enable redis-server
sudo systemctl enable mongod

PHP-FPM:

sudo systemctl enable php7.4-fpm
sudo systemctl enable php8.2-fpm

10. 常见问题 & 解决方案(重点)


❌ 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 -xe

11. 环境验证总表

组件命令
Nginxnginx -v
PHPphp -v
MySQLmysql --version
Redisredis-cli ping
MongoDBmongosh
Nodenode -v
Javajava -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)

只需要说一句:
👉 “升级到企业生产环境版本”

本原创文章未经允许不得转载 | 当前页面:坏蛋格鲁 » 【Dev】ChatGPT:Ubuntu 24.04 全栈开发环境搭建手册

评论 3

  1. Ребята, бывает же такое горе. Родственник пьет без остановки. Думал уже всё. Участковый только руками разводит. Короче, только это и работает — адекватный вывод из запоя цены приемлемые. Приехали. В общем, смотрите сами по ссылке — вывести из запоя на дому [url=https://vyvod-iz-zapoya-na-domu-voronezh-zqw.ru]вывести из запоя на дому[/url] Не тяните. Скиньте кому надо.

  2. Трубы с маркировкой 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

    RobertTal 2026-06-26    回复
  3. Хочу выделить раздел про Актуальные обзоры рынка новостроек России.

    Вот, можете почитать:

    [url=https://24-novostroyki.ru]https://24-novostroyki.ru[/url]

    fixSothe 2026-06-26    回复