一、前言

在云计算普及的今天,公有云已成为个人建站、企业应用部署的首选平台。本文以阿里云轻量应用服务器为载体,从零开始完成从服务器选购、安全配置、LNMP 环境搭建到 WordPress 网站上线的完整流程,全程包含踩坑复盘、关键配置说明和优化建议,适合作为公有云课程的实操总结参考。

二、前期准备

2.1 环境与工具清单

表格

工具 / 环境 用途 版本 / 推荐
阿里云轻量应用服务器 公有云主机 2 核 2G,CentOS 7.9 系统
FinalShell SSH 远程连接工具 3.9.7 版本
FileZilla SFTP 文件上传工具 3.66.5 版本
域名(已备案) 网站访问入口 阿里云万网域名
WordPress 源码 博客网站程序 6.7.1 稳定版

2.2 服务器初始化与登录

  1. 购买与实例创建登录阿里云控制台,选择轻量应用服务器,地域选择离自己最近的节点,系统镜像选择CentOS 7.9 64位,设置 root 密码并完成购买。
  2. 远程连接服务器使用 FinalShell 新建 SSH 连接,主机填写服务器公网 IP,端口 22,用户名 root,密码为购买时设置的 root 密码,连接成功后执行系统更新:

    bash

    运行

    # 更新系统软件包
    yum update -y
    # 安装常用工具
    yum install -y wget vim net-tools
    

三、安全配置:云服务器的第一道防线

3.1 安全组规则配置

安全组是阿里云的虚拟防火墙,直接决定服务器的网络访问权限,配置步骤如下:

  1. 进入实例控制台,点击「安全组」→「配置规则」
  2. 入方向添加以下规则:

    表格

    协议 端口范围 授权对象 用途
    TCP 22/22 你的本地公网 IP/32 SSH 远程登录
    TCP 80/80 0.0.0.0/0 HTTP 网站访问
    TCP 443/443 0.0.0.0/0 HTTPS 加密访问
    TCP 3306/3306 127.0.0.1/32 MySQL 数据库(仅本地访问)

⚠️ 关键注意点:SSH 和 MySQL 端口仅对可信 IP 开放,避免被暴力破解攻击。

3.2 系统防火墙与 SELinux 配置

CentOS 默认开启 firewalld 和 SELinux,需手动放行网站端口:

bash

运行

# 放行HTTP/HTTPS端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
# 重载防火墙规则
firewall-cmd --reload
# 临时关闭SELinux(生产环境建议配置规则而非直接关闭)
setenforce 0
# 永久关闭SELinux(修改配置文件)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

四、LNMP 运行环境搭建

LNMP(Linux+Nginx+MySQL+PHP)是目前最主流的 Web 服务架构,适配绝大多数 PHP 网站程序,以下为分步安装与配置过程。

4.1 Nginx 安装与配置

  1. 安装 Nginx

    bash

    运行

    yum install -y nginx
    # 设置开机自启并启动服务
    systemctl enable nginx
    systemctl start nginx
    
  2. 验证安装浏览器访问服务器公网 IP,若出现 Nginx 默认欢迎页,说明安装成功。
  3. 优化 Nginx 配置编辑配置文件/etc/nginx/nginx.conf,调整 worker 进程数和连接数:

    nginx

    worker_processes auto; # 自动匹配CPU核心数
    events {
        worker_connections 1024;
    }
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
        access_log  /var/log/nginx/access.log  main;
        sendfile        on;
        keepalive_timeout  65;
        include /etc/nginx/conf.d/*.conf;
    }
    

4.2 MySQL(MariaDB)安装与初始化

  1. 安装 MariaDB 服务

    bash

    运行

    yum install -y mariadb-server mariadb
    # 启动服务并设置开机自启
    systemctl enable mariadb
    systemctl start mariadb
    
  2. 安全初始化配置

    bash

    运行

    mysql_secure_installation
    
    按提示完成以下配置:
    • 设置 root 管理员密码
    • 删除匿名用户
    • 禁止 root 用户远程登录
    • 删除 test 测试数据库
    • 重载权限表

4.3 PHP 环境安装与配置

  1. 安装 PHP 及常用扩展

    bash

    运行

    yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-json
    # 启动php-fpm并设置开机自启
    systemctl enable php-fpm
    systemctl start php-fpm
    
  2. 配置 php-fpm 用户与权限编辑/etc/php-fpm.d/www.conf,修改用户和组为 nginx:

    ini

    user = nginx
    group = nginx
    listen.owner = nginx
    listen.group = nginx
    
    重启 php-fpm 服务生效:

    bash

    运行

    systemctl restart php-fpm
    

五、WordPress 网站部署与配置

5.1 网站文件上传与目录准备

  1. 创建网站根目录

    bash

    运行

    mkdir -p /var/www/wordpress
    chown -R nginx:nginx /var/www/wordpress
    chmod -R 755 /var/www/wordpress
    
  2. 上传 WordPress 源码下载 WordPress 官方源码包,通过 FileZilla 上传到/var/www/wordpress目录并解压:

    bash

    运行

    cd /var/www/wordpress
    wget https://cn.wordpress.org/latest-zh_CN.tar.gz
    tar -zxvf latest-zh_CN.tar.gz --strip-components=1
    rm -rf latest-zh_CN.tar.gz
    

5.2 Nginx 虚拟主机配置

/etc/nginx/conf.d/目录下新建wordpress.conf文件,配置虚拟主机:

nginx

server {
    listen 80;
    server_name 你的域名;
    root /var/www/wordpress;
    index index.html index.php;

    # 伪静态规则(WordPress专用)
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # PHP请求转发
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # 禁止访问隐藏文件
    location ~ /\. {
        deny all;
    }
}

重载 Nginx 配置:

bash

运行

nginx -t # 检查配置语法是否正确
nginx -s reload

5.3 数据库创建与用户授权

登录 MySQL 数据库,创建 WordPress 专用数据库和用户:

sql

-- 登录数据库
mysql -u root -p
-- 创建数据库
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
-- 创建专用用户并授权
GRANT ALL ON wordpress.* TO 'wpuser'@'localhost' IDENTIFIED BY '你的数据库密码';
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出数据库
exit;

5.4 网站初始化与访问测试

  1. 浏览器访问你的域名,进入 WordPress 安装向导
  2. 填写数据库信息:
    • 数据库名:wordpress
    • 用户名:wpuser
    • 密码:你设置的数据库密码
    • 数据库主机:localhost
    • 表前缀:wp_(默认即可)
  3. 设置网站标题、管理员账号密码,完成安装
  4. 安装完成后,即可通过域名访问你的博客网站,后台地址为你的域名/wp-admin

六、域名解析与备案说明

6.1 域名解析配置

  1. 进入阿里云万网域名控制台,选择你的域名,点击「解析」
  2. 添加两条 A 记录:
    • 主机记录:@,记录类型:A,记录值:服务器公网 IP
    • 主机记录:www,记录类型:A,记录值:服务器公网 IP
  3. 等待解析生效(一般 10-30 分钟),通过ping 你的域名验证解析是否成功。

6.2 ICP 备案说明

国内公有云服务器部署网站,必须完成 ICP 备案:

  1. 备案入口:阿里云控制台「备案」模块
  2. 备案流程:填写信息→提交资料→初审→管局审核(约 20 个工作日)
  3. 注意:备案期间网站无法通过域名访问,可通过公网 IP 临时测试。

七、常见问题排查与解决

7.1 Nginx 403 Forbidden 错误

  • 原因 1:文件权限不足,解决:chown -R nginx:nginx /var/www/wordpress && chmod -R 755 /var/www/wordpress
  • 原因 2:SELinux 未放行,解决:临时关闭 SELinux 或配置 SELinux 规则
  • 原因 3:Nginx 配置中 root 目录错误,检查配置文件路径是否正确

7.2 PHP 页面无法解析(直接下载文件)

  • 原因 1:php-fpm 未启动,解决:systemctl start php-fpm
  • 原因 2:Nginx 配置中 fastcgi_pass 地址错误,检查127.0.0.1:9000是否正确
  • 原因 3:文件后缀未匹配,检查location ~ \.php$配置是否存在

7.3 网站无法公网访问

  1. 检查安全组是否放行 80/443 端口
  2. 检查服务器防火墙是否放行对应端口:firewall-cmd --list-ports
  3. 检查 Nginx 服务是否正常运行:systemctl status nginx
  4. 检查域名解析是否生效:nslookup 你的域名

八、课程收获与公有云技术总结

通过本次公有云建站实操,我不仅掌握了从服务器初始化到网站上线的完整流程,更对公有云的核心特性有了深刻理解:

  1. 弹性与成本优势:按需付费的计费模式,可根据网站访问量随时调整服务器配置,避免资源浪费
  2. 高可用与运维便捷性:阿里云提供快照备份、实例监控、一键扩容等功能,大幅降低了运维门槛
  3. 安全体系:安全组、云盾、DDoS 防护等多层安全机制,为网站提供了基础安全保障

同时,本次实操也让我意识到,公有云建站不仅是技术操作,更需要系统性的安全意识和排错能力,后续我将进一步学习 HTTPS 证书配置、CDN 加速和网站性能优化,提升网站的安全性和访问速度。


九、结语

公有云环境部署与网站设置是云计算技术的入门必修课,本文以 WordPress 博客为例,完整呈现了公有云建站的核心流程和关键配置,希望能为同样在学习公有云的同学提供参考。如果你在实操中遇到问题,欢迎在评论区交流讨论!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐