一、服务器安装宝塔面板(纯净系统是前提)
第一步:重装系统
无论你在哪家买的服务器,先做这一步:登录控制台,将操作系统重装为 CentOS 7.9 / Debian 12 / Ubuntu 22。必须是纯净系统,不要选“宝塔集成镜像”(那是轻量服务器的快捷方式),也不要在已有Apache/MySQL的系统上强行安装。
第二步:执行安装命令
通过SSH工具(或控制台的Workbench)登录服务器,执行:
bash
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec
出现 Do you want to install Bt-Panel to the /www directory now?(y/n): 时输入 y 回车。约1-2分钟安装完成,立即复制屏幕上显示的“外网面板地址、username、password”,窗口关了就找不回了。
第三步:放行面板端口
现在的宝塔面板端口不是8888,而是随机生成的五位端口(例如 39118)。
- 阿里云/腾讯云:控制台 → 安全组/防火墙 → 入方向 → 手动添加
- 端口范围:填写你屏幕上的那五位数字
- 授权对象:
0.0.0.0/0(后续可改为仅限你自己的IP)
第四步:登录并安装环境
浏览器访问面板地址,用刚才记录的账号密码登录。弹出推荐安装套件时,选择 LNMP(Linux+Nginx+MySQL+PHP),点击一键安装,耗时约5-10分钟。
二、添加域名与上传源码(两种方式任选)
关键前置动作:域名解析
在域名注册商后台,将域名添加 A记录,指向你的服务器公网IP。解析生效需要几分钟到几小时。
(一)宝塔面板内操作
- 创建站点:宝塔后台 → 网站 → 添加站点 → 输入域名(如
example.com)→ 自动生成根目录/www/wwwroot/example.com→ 提交。 - 上传文件:进入“文件” → 找到该目录 → 上传源码压缩包 → 右键“解压” → 将文件全部移到根目录。
- 数据库配置:网站 → 数据库 → 添加数据库 → 记录名称/用户名/密码 → 安装网站程序时填入(通常填
localhost)。
(二)FTP工具上传(适合大文件)
宝塔 → 软件商店 → 安装“FTP” → 创建FTP账号并绑定域名目录 → 本地用FileZilla连接上传。
三、必须添加的防御措施(按优先级排序)
1. 改端口、改密码、删无用端口(最重要)
- 改面板端口:宝塔安全 → 面板端口 → 改为非标端口(如
23456以上)→ 修改后需同步在云控制台放行新端口、关闭旧端口。 - 强密码:面板密码、数据库密码、网站后台密码均采用大小写+数字+符号组合(例如
Bt@2026#Secure)。 - 删除高危端口:在宝塔“安全”页和云控制台同时执行——必须删的端口:
20/21(FTP)、3306(外连MySQL)、888(phpMyAdmin)、6379(Redis)。留着就是等着被扫。用完SSH也可关22端口。
2. 开启WAF防火墙
宝塔 → 软件商店 → 搜索“Nginx免费防火墙”或“宝塔WAF” → 安装并开启。它会拦截SQL注入、XSS、恶意扫描等,新站必开。
3. HTTPS加密
网站 → 站点设置 → SSL → Let‘s Encrypt → 免费申请并开启强制HTTPS。防劫持、防篡改、提升SEO,现在裸奔HTTP的站基本等于透明。
4. 目录权限与备份
- 防跨站:网站 → 站点设置 → 网站目录 → 开启“防跨站攻击”。
- 定期备份:计划任务 → 添加备份任务(每天备份数据库,每周备份网站)→ 保留最近3份。
- 删压缩包:源码安装完成后,立即删除根目录下的
.zip安装包——黑客会扫描常见路径下载源码分析漏洞。
四、关于CDN的决策依据(卖家没提,我来拆)
结论先行:虚拟机(VPS)本身不需要强制挂CDN,CDN保护的是域名,不是机器。
把你买的那台服务器看作“房子”,CDN是“门卫”。需不需要门卫,取决于:
- 你房子的地址(IP)有没有公开?
- 虚拟机能不能当CDN?
一句话建议:但凡网站要正式上线、接流量,加CDN(Cloudflare免费版、腾讯云/阿里云CDN)。你卖家不提,是因为那是应用层的事,不是卖机器的事。
五、端口开放清单(照着删)
这是新手最容易踩坑的地方。直接给结论:
必须开(缺一不可)
80:HTTP(域名访问,套CDN后可仅在CDN回源时开)443:HTTPS(必开,SSL加密)22:SSH(自己远程连接用,用完可关,下次用再开)你的面板端口:如23456(改过后的,不要用默认)
选择关(风险端口)
20、21:FTP → 改用SFTP(走22端口)或直接用宝塔文件管理器3306:MySQL远程 → 不用Navicat远程管理的话必须关,本地程序连接用127.0.0.1888:phpMyAdmin → 删掉,管理数据库在宝塔后台操作6379:Redis → 没装Redis就删,装了也仅限本地监听8888:宝塔旧面板端口 → 现在已随机化,但如果你安全组里还留着老的8888,立即删。
特殊场景
做完以上步骤,建议逐项打勾确认:
- SSH登录后宝塔命令能用
- 域名解析生效(
ping 域名显示服务器IP) - 浏览器访问域名能打开网站
- 宝塔面板端口已改为非标
- 云控制台安全组仅开放:
80/443/22/自定义面板端口 - WAF已开启并拦截测试攻击(可用
curl模拟) - HTTPS绿锁显示正常
- 根目录无
.zip源码包 - 已设置每日数据库备份
这套流程跑下来,你的服务器底子就扎稳了。后续无论是挂CDN还是做集群,都是在安全地基上盖楼。
Comments NOTHING