以下只是网络小白自己随便折腾,勿喷 qwq
云服务器(阿里云的ECS)
我是直接去阿里云买了一台e实例,99计划
选择服务器的时候碰到的镜像选择的问题,会发现有的需要你选择应用镜像,或者系统镜像什么的,有的却不用选,比如轻量应用服务器 这是为什么呢? 首先需要明确几个关键概念:
- 应用镜像:预装了特定应用程序(如WordPress、LAMP环境)的完整系统环境,开箱即用
 - 系统镜像:仅包含纯净操作系统(如Ubuntu、CentOS),需要用户自行搭建环境
 - 无选择情况:通常是托管服务(如AWS Lightsail)已默认绑定应用环境
 
不同场景的选择逻辑:
- 应用镜像:适合快速搭建特定服务的小白用户,优势在于免配置
 - 系统镜像:适合需要自定义环境的技术用户
 - 无需选择:当购买特定解决方案(如WordPress专用服务器)时,平台已固定配置
 
具体到主流云服务商:
- 阿里云轻量应用服务器:强制选择应用镜像(如WordPress/LAMP)或系统镜像 2.
 - 腾讯云CVM:默认只提供系统镜像,需手动搭建环境 3.
 - AWS Lightsail:提供”应用+系统”混合选项(如WordPress on Ubuntu)
 
技术本质: 所有云服务器底层都是虚拟机,区别在于:
- 应用镜像是「操作系统+中间件+应用」的封装
 - 系统镜像仅是操作系统
 - 无需选择的情况实际是平台替用户做了选择
 
域名注册
阿里云官网也可以注册,选择价格比较合适的就好了,只要不是.com 这种大域名都不是很贵,反正只是小白尝试,随便乱折腾,如果选择在国内的服务器进行域名解析,需要进行备案才能生效,备案同样在官网可以,根据要求来就行。
域名解析
先从官网到域名的控制台,找到刚注册的域名,选择解析,然后
# 添加A记录(将域名指向服务器IP)  
记录类型:A  
主机记录:@  
记录值:填写服务器公网IP  
TTL:10分钟  
服务器初始化(Xshell操作)
我这里是用的Ubuntu 24.04 64位,用Wordpress搭建,用Xshell8 连接的服务器:
- 连接服务器并创建专用用户(学习用户管理)
 
ssh root@your_ecs_ip  
# 创建学习用管理员(避免使用root)  
sudo adduser blogadmin  # 设置密码
sudo usermod -aG sudo blogadmin  # 加入sudo组  
# 切换到新用户  
su - blogadmin  
- 更新系统与安全加固
 
# 更新软件源(学习apt)  
sudo apt update && sudo apt upgrade -y  
# 启用UFW防火墙(学习网络安全)  
sudo ufw allow OpenSSH  
sudo ufw allow 80/tcp  # HTTP  
sudo ufw allow 443/tcp # HTTPS  
sudo ufw enable  # 启用后测试:sudo ufw status  
安装LNMP环境(Ubuntu 24.04适配)
- 安装Nginx
 
sudo apt install nginx -y  
sudo systemctl start nginx  
curl http://localhost  # 应看到"Welcome to nginx"  
- 安装MariaDB10.11
 
sudo apt install mariadb-server -y  
sudo mysql_secure_installation  # 交互式配置:  
1. Enter current password: (直接回车)  
2. Switch to unix_socket? [Y/n] n  
3. Change root password? [Y/n] Y → 设置密码(如mysql)  
4. Remove anonymous users? [Y/n] Y  
5. Disallow root login remotely? [Y/n] Y  
6. Remove test database and access to it? [Y/n] Y  
7. Reload privilege tables? [Y/n] Y  
- 创建WordPress数据库
 
sudo mariadb -u root -p  
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'Wp!Pass2025';  
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';  
FLUSH PRIVILEGES;  
EXIT;  
- 安装PHP8.3
 
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y  
# 验证PHP版本  
php -v  # 应显示PHP 8.3.x  
配置WordPress
- 下载并解压WordPress
 
cd /tmp  
wget https://wordpress.org/latest.tar.gz  
tar -xzvf latest.tar.gz  
sudo mv wordpress /var/www/pigkid.top  # 创建专用目录  
- 配置权限
 
# 修改所有权给Web用户(Ubuntu默认www-data)  
sudo chown -R www-data:www-data /var/www/pigkid.top  
# 设置安全权限  
sudo chmod 750 /var/www/pigkid.top  
sudo find /var/www/pigkid.top -type d -exec chmod 755 {} \;  # 目录755  
sudo find /var/www/pigkid.top -type f -exec chmod 644 {} \;  # 文件644  
- 配置Nginx虚拟主机
创建配置文件: 
sudo nano /etc/nginx/sites-available/pigkid.top  
粘贴以下内容:
server {  
    listen 80;  
    server_name pigkid.top www.pigkid.top;  
    root /var/www/pigkid.top;  
    index index.php index.html;  
    location / {  
        try_files $uri $uri/ /index.php?$args;  
    }  
    location ~ \.php$ {  
        include snippets/fastcgi-php.conf;  
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;  # ⚠️ Ubuntu 24.04路径  
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    }  
    location ~ /\.ht {  
        deny all;  
    }  
}  
启用配置:
sudo ln -s /etc/nginx/sites-available/pigkid.top /etc/nginx/sites-enabled/  
sudo nginx -t  # 测试配置  
sudo systemctl reload nginx  
通过Hosts临时访问
# 本地电脑操作(非服务器):  
# Windows:管理员运行Notepad修改 C:\Windows\System32\drivers\etc\hosts  
# Linux/Mac:sudo nano /etc/hosts  
添加:your_ecs_ip pigkid.top  
WordPress安装向导
访问 https://pigkid.top 按提示填写:
- 数据库名:***
 - 用户名:***
 - 密码:***
 - 表前缀:***(自定义防入侵)
 
命令行学习实践(还未完全掌握)
# 进程管理  
sudo systemctl list-units | grep nginx  # 学习服务状态  
# 日志分析(Ubuntu日志路径)  
tail -f /var/log/nginx/access.log  # 实时监控访问  
journalctl -u php8.3-fpm -f      # 查看PHP日志  
# 性能监控  
htop  # 安装:sudo apt install htop  
备案后关键操作
备案审核通过后,立即在阿里云DNS控制台添加A记录解析 → 否则24小时后系统自动停用备案号!完成解析后,才能进行HTTPS证书安装和公网访问。
配置HTTPS(Cerbot)(部署SSL证书[^1])(详细解析见后文)
# 安装Certbot(Nginx版)
sudo apt install certbot python3-certbot-nginx -y
# 申请证书(需备案后操作)
sudo certbot --nginx -d pigkid.top -d www.pigkid.top
# 验证自动续期
sudo certbot renew --dry-run
- 性能优化(Ubuntu专属(原理还没搞清楚
 
# 安装OPcache加速  
sudo apt install php8.3-opcache  
# 编辑PHP配置  
sudo nano /etc/php/8.3/fpm/php.ini  
修改参数:
opcache.enable=1  
opcache.memory_consumption=128  
realpath_cache_size=4096K  
重启服务:
sudo systemctl restart php8.3-fpm  
一些访问出错的检查方案
- 查看域名解析状态
登录阿里云控制台
A记录需要主机记录@和WWW都有才可以
ps:上证书的时候忘记加WWW 所以申请失败了 - 测试服务器连通性
 
# 测试服务器IP是否可达
ping 您的ECS公网IP
# 测试80端口是否开放
Test-NetConnection -ComputerName 您的ECS公网IP -Port 80
- 服务器端问题排查
3.1 查看ECS实例安全组是否存在入方向规则
比如: 
协议类型:TCP
端口范围:80/80
授权对象:0.0.0.0/0
若无则添加(优先级设为1) 3.2 检查服务器防火墙
# 查看UFW状态
sudo ufw status
# 如果开启,放行80端口
sudo ufw allow 80/tcp
sudo ufw reload
3.3 检查Nginx服务
# 检查服务状态
sudo systemctl status nginx
# 查看错误日志(关键!)
sudo tail -f /var/log/nginx/error.log
# 测试配置文件
sudo nginx -t
- 检查本地环境
清除DNS缓存 
ipconfig /flushdns
一些解决方案
- 域名解析正常但无法访问
 
# 服务器执行:检查Nginx监听
sudo netstat -tuln | grep 80
# 若无监听,重启Nginx:
sudo systemctl restart nginx
- 访问显示403 Forbidden (文件权限问题)
 
sudo chown -R www-data:www-data /var/www/pigkid.top
sudo chmod -R 755 /var/www/pigkid.top
终极解决方案
- 重置服务器环境
 
# 重装Nginx
sudo apt purge nginx* -y && sudo apt autoremove -y
sudo apt install nginx -y
- 使用备用端口
 
- 修改安全组开放8080端口
 - 修改Nginx监听8080
 - 访问https://pigkid.top:8080
 
配置SSL证书
- 什么是Certbot?
Certbot 是由电子前沿基金会(EFF)开发的开源自动化工具,用于简化 Let’s Encrypt(免费SSL/TLS证书机构)证书的获取、安装和续期流程。它支持 Apache、Nginx 等主流 web 服务器,通过 ACME 协议(自动证书管理环境)与 Let’s Encrypt 通信,实现证书生命周期的全自动化管理,无需手动操作复杂的验证和配置步骤。 
已申请 SSL 证书后的操作指南 若你已通过 Certbot 或其他方式获取了 SSL 证书(如 Let’s Encrypt 证书),接下来需完成证书安装、web 服务器配置、自动续期等步骤,确保 HTTPS 正常启用并持续有效。以下是具体流程:
- 安装证书到 web 服务器
Certbot 通常会自动完成证书安装(若使用–apache或–nginx插件),但若你手动申请了证书(如通过其他工具或方式),需手动将证书文件部署到 web 服务器: 
证书文件位置(以 Let’s Encrypt 为例): 证书文件默认存储在/etc/letsencrypt/live/你的域名/目录下,关键文件包括: fullchain.pem:完整证书链(包含服务器证书和中间证书); privkey.pem:服务器私钥(需严格保密); cert.pem:服务器证书(单独文件,部分场景需用)。 2. 配置 web 服务器启用 HTTPS 需修改 web 服务器配置,让其使用证书并监听 443 端口(HTTPS 默认端口)。以下是主流服务器的配置方法:
Nginx 服务器:
- 自动配置(推荐):若已安装 Certbot,可通过以下命令自动配置 Nginx 并安装证书(需替换为你的域名):
 
sudo certbot --nginx -d example.com -d www.example.com
该命令会自动修改 Nginx 配置文件(如/etc/nginx/sites-available/default),添加 HTTPS 监听规则,并将 HTTP 流量重定向至 HTTPS(可选)。
- 手动配置:若需手动修改,可在 Nginx 配置文件中添加以下内容(替换为你的证书路径和域名):
 
server {
    listen 443 ssl;
    server_name example.com www.example.com;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3; # 启用安全协议
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # 加密套件
    # 其他配置(如根目录、反向代理)...
}
# 可选:将 HTTP 重定向至 HTTPS
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}
修改后重载 Nginx:sudo systemctl reload nginx
3. 设置证书自动续期
Let’s Encrypt 证书有效期为90天,需定期续期。Certbot 可自动完成续期,只需配置自动任务:
- 测试续期:先运行 dry-run 测试,确保续期流程正常:
 
sudo certbot renew --dry-run
- 配置自动任务:
Cron 任务(适用于大多数 Linux 系统):编辑 crontab 文件(sudo crontab -e),添加以下内容(每天凌晨2点运行续期检查): 
0 2 * * * sudo certbot renew --quiet
[^1]:SSL证书(Secure Sockets Layer)是数字化的安全护照,用于在服务器和浏览器之间建立加密通道。其核心作用通过技术实现: 加密传输:采用非对称加密(如RSA 2048位)和对称加密(AES-256)组合,确保数据在传输中不可被窃取 身份认证:由受信任的证书颁发机构(CA)验证服务器身份,防止钓鱼网站 完整性保护:通过MAC(消息认证码)机制防止数据被篡改 意思就是让你的网站传输的信息更安全了
强!