一、服务器购买:根据业务需求选择最优方案
1.1 服务器类型选择
- 云服务器(ECS):推荐阿里云、腾讯云等主流平台,支持弹性扩展和按需付费,适合中小型网站。例如阿里云突发性能型t6实例,2核2G配置年费约600元,适合日均5000IP以下的流量。
- 物理服务器:适合高并发、数据敏感型业务,但需承担硬件维护成本。建议选择戴尔R740或惠普DL380等企业级机型,配置双路Xeon Silver处理器和RAID10磁盘阵列。
- 虚拟专用服务器(VPS):价格低廉但资源隔离性差,仅推荐个人博客使用。
1.2 配置参数优化
- CPU核心数:前端静态网站2核足够,动态应用(如WordPress)建议4核起。
- 内存容量:Nginx+MySQL基础环境需4GB,复杂应用建议8GB以上。
- 磁盘类型:SSD比HDD的IOPS高10倍以上,建议系统盘用SSD,数据盘可混合使用。
- 带宽选择:初始1-5Mbps足够,按公式”峰值并发数×平均请求大小÷8”计算实际需求。例如1000并发、200KB请求需25Mbps带宽。
1.3 采购避坑指南
- 警惕”无限流量”陷阱,实际可能限制月流量或峰值带宽。
- 优先选择提供DDoS防护的机房,如阿里云华北2区的BGP多线接入。
- 测试服务器延迟:使用
ping -c 100 服务器IP,国内骨干网延迟应<50ms。
二、宝塔面板部署:可视化管理的核心工具
2.1 安装与初始化
# CentOS 7安装命令yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
- 安装后访问
http://服务器IP:8888,首次登录需设置安全入口。 - 推荐开启”失败登录限制”和”SSH端口修改”增强安全性。
2.2 网站环境配置
-
软件商店安装:
- Nginx 1.20+(推荐OpenResty分支)
- MySQL 8.0(设置字符集为utf8mb4)
- PHP 8.1(启用opcache扩展)
-
网站创建流程:
- 添加站点 → 输入域名 → 选择PHP版本
- 在”网站目录”中设置防跨站攻击(open_basedir限制)
- 配置伪静态规则(如WordPress的
location / { try_files $uri $uri/ /index.php?$args; })
2.3 安全加固方案
- 防火墙规则:仅开放80/443/22端口,使用
iptables -A INPUT -p tcp --dport 22 -j DROP限制SSH访问。 - 计划任务:定期执行
/script/backup_db.sh备份数据库。 - 监控告警:配置CPU>80%或内存>90%时邮件通知。
三、域名系统管理:从注册到解析
3.1 域名选择策略
- 顶级域选择:
.com(全球)、.cn(国内备案快)、.tech(科技类) - 避免使用连字符(如
my-site.com),搜索引擎权重低于单词汇域名。 - 注册商选择:阿里云/腾讯云提供免费DNS解析,GoDaddy适合海外业务。
3.2 DNS解析配置
- A记录:指向服务器公网IP(如
@ A 123.123.123.123) - CNAME记录:用于CDN加速(如
www CNAME cdn.example.com) - MX记录:配置企业邮箱(如
@ MX 10 mail.example.com)
3.3 备案与合规
- 国内服务器必须完成ICP备案,流程约20个工作日。
- 备案前准备:营业执照、负责人身份证、幕布照片。
- 公安备案:网站上线30日内需在”全国公安机关互联网站安全管理服务平台”登记。
四、SSL证书配置:实现HTTPS加密
4.1 证书类型选择
| 类型 | 验证方式 | 适用场景 | 价格范围 |
|---|---|---|---|
| DV SSL | 域名验证 | 个人博客、测试环境 | 免费-200元/年 |
| OV SSL | 组织验证 | 企业官网 | 800-2000元/年 |
| EV SSL | 扩展验证 | 金融、电商网站 | 2000元+/年 |
4.2 证书申请流程
- 生成CSR:
openssl req -newkey rsa:2048 -nodes -keyout example.key -out example.csr# 填写国家、省份、组织等信息
- 提交CA机构:上传CSR文件,完成域名验证(邮件/DNS/文件验证)。
- 证书安装:
- 下载
.crt和.key文件 - 在宝塔面板”SSL”选项卡上传
- 启用”强制HTTPS”和”HSTS”
- 下载
4.3 自动化续期方案
# 使用Certbot自动续期(需安装)certbot renew --dry-run# 添加crontab任务0 3 * * * /usr/bin/certbot renew --quiet && systemctl reload nginx
五、完整部署案例:企业官网上线
5.1 实施步骤
- 购买阿里云ECS(4核8G 10Mbps带宽)
- 安装宝塔面板并配置Nginx+MySQL+PHP
- 注册
example.com域名并完成备案 - 申请Let’s Encrypt免费SSL证书
- 部署Vue前端项目至
/www/wwwroot/example.com -
配置Nginx反向代理:
server {listen 443 ssl;server_name example.com;ssl_certificate /path/to/fullchain.pem;ssl_certificate_key /path/to/privkey.pem;location / {root /www/wwwroot/example.com;index index.html;try_files $uri $uri/ /index.html;}}
5.2 性能优化
- 启用Nginx gzip压缩:
gzip on;gzip_types text/plain application/javascript text/css;
- 配置CDN加速:将静态资源(JS/CSS/图片)托管至阿里云OSS。
- 数据库优化:为MySQL设置
query_cache_size=64M。
六、常见问题解决方案
-
502 Bad Gateway:
- 检查PHP-FPM是否运行:
systemctl status php-fpm - 查看Nginx错误日志:
tail -f /www/server/nginx/logs/error.log
- 检查PHP-FPM是否运行:
-
SSL证书无效:
- 确认系统时间正确:
date - 检查证书链是否完整:
openssl s_client -connect example.com:443 -showcerts
- 确认系统时间正确:
-
网站访问慢:
- 使用
ab -n 100 -c 10 http://example.com/进行压力测试 - 优化方案:启用OPcache、减少HTTP请求、使用HTTP/2
- 使用
通过以上完整流程,开发者可在24小时内完成从服务器采购到安全网站上线的全部工作。建议定期进行安全审计(每季度)和性能调优(每月),确保网站长期稳定运行。