Ubuntu系统部署CMS建站,环境搭建完整教程

在 Ubuntu 系统上部署 CMS 建站,核心是搭好 LNMP(Linux + Nginx + MySQL + PHP)环境,再上传 CMS 程序并完成安装向导。
本文面向零基础用户,从系统准备到网站可访问,给出每一步命令和验证方法,照着做就能跑通。

先确认系统版本和权限

开始前,用 SSH 登录服务器,确认系统版本和当前用户权限。

lsb_release -a
whoami

建议使用 Ubuntu 20.04 或 22.04 LTS,这两个版本软件源稳定、社区支持好。
如果不是 root 用户,后续命令前加 sudo
同时放行防火墙的 80 和 443 端口:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

如果服务器在云平台,还需在控制台安全组里放行相同端口。这一步漏掉,后面网站肯定打不开

安装 Nginx 并验证默认页

Nginx 负责处理网页请求,是 CMS 对外访问的入口。

sudo apt update
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl status nginx

状态显示 active (running) 表示启动成功。
浏览器访问服务器公网 IP,看到 Nginx 欢迎页即正常。
若访问超时,先检查安全组和 ufw status

安装 MySQL 并创建数据库

CMS 的数据(文章、用户、配置)都存在 MySQL 里。

sudo apt install mysql-server -y
sudo mysql_secure_installation

安全脚本中建议设置 root 密码、移除匿名用户、禁止 root 远程登录。
完成后登录并建库:

sudo mysql -u root -p

在 MySQL 提示符下执行:

CREATE DATABASE cms_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'cms_user'@'localhost' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON cms_db.* TO 'cms_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

数据库名、用户名、密码要记牢,安装 CMS 时会用到
字符集用 utf8mb4 可以正常存储中文和 emoji。

安装 PHP 及 CMS 所需扩展

PHP 负责运行动态代码,不同 CMS 对版本要求不同,建议先查官方文档。
以 PHP 8.1 为例:

sudo apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip -y
sudo systemctl enable php8.1-fpm

安装后创建一个 PHP 探针文件验证:

sudo nano /var/www/html/info.php

写入 php phpinfo(); ?
>
,保存后访问 http://服务器IP/info.php,能看到 PHP 信息页即成功。验证完记得删除该文件,避免泄露环境信息。

配置 Nginx 站点并上传 CMS

假设域名为 example.com,CMS 程序放在 /var/www/cms

sudo mkdir -p /var/www/cms
sudo chown -R www-data:www-data /var/www/cms

将 CMS 压缩包上传到该目录并解压,然后新建 Nginx 配置文件:

sudo nano /etc/nginx/sites-available/cms.conf

写入以下内容(按实际路径调整):

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/cms;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }
}

启用站点并重载 Nginx:

sudo ln -s /etc/nginx/sites-available/cms.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

nginx -t 显示 syntax is oktest is successful 才算配置正确。

运行安装向导与目录权限

浏览器访问域名,按 CMS 安装向导填写数据库信息(数据库名 cms_db、用户 cms_user、密码、主机 localhost)。
若提示无法写入配置文件,给 CMS 目录临时写权限:

sudo chown -R www-data:www-data /var/www/cms
sudo find /var/www/cms -type d -exec chmod 755 {} \;
sudo find /var/www/cms -type f -exec chmod 644 {} \;

安装完成后,建议把安装目录删除或改名,防止被重新安装。

常见报错与避坑清单

  • 访问显示 502 Bad Gateway:PHP-FPM 没启动或 socket 路径不匹配。执行 sudo systemctl restart php8.1-fpm,并核对 Nginx 配置中的 fastcgi_pass 路径。
  • 提示数据库连接失败:检查用户名、密码、主机是否为 localhost,以及 MySQL 用户是否授权。
  • 页面样式丢失或 404:CMS 通常需要伪静态规则,确认 Nginx 中已配置 try_files,并在 CMS 后台开启对应伪静态。
  • 上传图片失败:多为目录权限问题,重新执行上面的权限命令。
  • 中文乱码:建库时字符集必须为 utf8mb4

验证部署是否成功

完成以上步骤后,访问 http://example.com,能看到 CMS 首页即部署成功。
再登录后台发布一篇测试文章,确认数据库读写正常。
若准备上线,建议用 certbot 申请免费 SSL 证书,将站点切换为 HTTPS。
整个 Ubuntu 系统部署 CMS 建站的环境搭建流程到此结束,后续可按需优化缓存和备份策略。

分享到:
上一篇
Linux防火墙firewalld配置
下一篇
CentOS7停止维护,服务器系统迁移方案
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意