单机游戏下载单机游戏下载基地
最新游戏|热门游戏|游戏大全|游戏专题

VPS搭建网站:完整步骤与常见报错

2026/11/6 12:27:35 来源:本站整理 编辑:飞翔小编

您的位置:首页 → 资讯教程 → 软件教程 → VPS搭建网站:完整步骤与常见报错

【飞翔导读】「vps搭建网站」是搜索量极大的一类长尾词,问法从最基础的“怎么用 VPS 建站”到“报错了怎么办”都有。本文按真实用户会搜的问句组织十个小标题,每节讲清一件事:该准备什么、装什么、怎么配、报错怎么读、坑在哪、什么时候该换方案。命令和配置都给可直接复制的完整版,价格只引用真实商品库数据。

一、VPS搭建网站需要准备什么:一台机器、一个域名、一份代码

搜索「vps搭建网站」的人,真正需要的答案分三块:要准备什么、怎么做、错了怎么办。这一节先把准备工作说清楚,因为很多人是卡在这一步而不是技术步骤上。

需要准备的东西,一共五项:

项目 说明 常见误区
VPS 服务器 有公网 IP、能 SSH 登录 以为要买独立服务器
域名 已注册或准备注册 用 IP 直连就算建站
域名解析 A 记录指向 VPS 的 IP 解析没生效就申请证书
网站代码 HTML 或 PHP、WordPress 等 忘了自己备份代码
备案(如果用国内大陆节点) ICP 备案 用大陆节点不备案直接上线

查看 iwebfusion 当前月价与库存

关于备案这一条要说清楚:它取决于你的服务器在哪。 服务器在香港、美国、日本等境外地区,不需要 ICP 备案,域名解析过去就能访问。服务器在中国大陆境内节点,必须完成 ICP 备案才能通过 80/443 端口对外提供服务。用香港节点做面向大陆用户的站,常见做法就是"境外服务器 + 免备案",这正是很多人在搜索这个关键词时会问「VPS搭建网站需要备案吗」的答案。

关于服务器规格,说一个最实际的判断:先看你的代码有多重。

- 纯静态站(纯 HTML、少量 CSS/JS):1 GB 内存就够,Nginx + PHP-FPM 装完内存谷值能压在 15% 以内;

- WordPress + MySQL + Redis:至少 2 GB 起,4 GB 更稳;

- Node/Java 应用、多个站点、还要跑面板:4 GB 起步。

商品库里最低一档的 RosCloud-01 是 19.99 美元/月,2 vCPU、1 GB 内存、20 GB 硬盘、500 Mbps、1024 GB 流量——这个配置跑静态站绰绰有余,跑 WordPress 会吃力。同系列的 RosCloud-03 是 39.99 美元/月,4 vCPU、4 GB 内存、80 GB 硬盘、3072 GB 流量,这是跑 WordPress 的实用起点。

关于域名,域名本身的成本通常和服务器同量级。 如果你只是做个人项目或练手,也可以先用 IP 直连(http://服务器IP),把流程跑通再买域名。但要提醒:用 IP 直连时 HTTP 也能访问,等你换成域名 + HTTPS 后再对外发布。

最后一条准备工作的建议:先把代码在本地准备好。 上传代码、配置环境、绑域名,这三件事在服务器上同时做,出问题时你分不清是哪个环节。先传代码,再配环境,最后绑域名,是最省时间的顺序。

关于代码上传方式,也要提前定好,后面会反复用到:

方式一,Git 拉取(推荐):

apt install -y git
cd /var/www
git clone https://github.com/你的用户名/你的仓库.git

Git 的优势是以后更新只要一条 git pull,不用重新传一遍。 如果你的站点会长期迭代,这个优势很实在。

方式二,SCP 直接传:

# 在本地机器上执行,把本地文件夹传到服务器
scp -r ./我的站点 root@服务器IP:/var/www/

方式三,用 rsync 做增量同步,适合大文件多、需要反复同步的场景:

rsync -avz --delete --exclude '.git/' ./我的站点/ root@服务器IP:/var/www/example.com/

--delete 会删除目标目录里源目录没有的文件,用之前务必确认路径写对。 路径写错的后果是删掉服务器上别的东西——这条命令是本文所有命令里最危险的一条,值得单独强调。

方式四,WordPress 这类 CMS,直接下官方压缩包:

cd /var/www
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar -xzf latest-zh_CN.tar.gz

解压出来是 wordpress 这个目录,名字太通用,多人共机时容易撞名,建议改成你的站点名。

上传完之后,一定要检查文件属主和权限,这是后面 403 报错的根源:

chown -R www-data:www-data /var/www/example.com
chmod -R 755 /var/www/example.com
chmod -R 775 /var/www/example.com/wp-content/uploads

最后那行针对 WordPress:上传目录需要可写权限,否则你在后台传图片会失败。 而其他目录保持 755 就好——权限给得越宽,攻击面越大。

关于域名,还有三个必须提前知道的事:

第一,域名解析生效有延迟,且不可控。 大多数情况下几分钟内生效,但有些注册商的 DNS 刷新可能长达 24 小时。所以如果你打算当天上线,域名解析这一步要留出缓冲。

第二,www 和不带 www 是两个不同的主机名。 很多人在 Nginx 里只写了一个 server_name,结果访问另一个形式时落到默认站点、显示的是别人的页面或者 404。两个都要写进 server_name,或者写一个 server_name example.com www.example.com;,再配一个 301 跳转统一到一个形式。

第三,域名备案和主机位置是两件事。 域名在哪儿注册不影响是否需要备案,决定要不要备案的是服务器在哪。用境外服务器,域名注册在任何注册商都可以,不需要备案。

再补一条现实建议:如果你的站点要做 SEO,先把域名和主域名形式定下来再上线。 换域名意味着之前的收录、外链全部作废,这件事在站点上线前决定,成本几乎为零;上线后再改,代价很大。

二、VPS搭建网站第一步:SSH 登录并做基础安全设置

准备就绪后,第一步是连上服务器并把安全基线做掉。

登录:

ssh root@你的服务器IP

第一次登录会看到主机指纹确认,输入 yes 回车即可。 之后系统会提示你输入密码——注意,SSH 输入密码时屏幕上不显示任何字符,连星号都没有,这是正常的,不是卡住了。

立刻改密码:

passwd

改 SSH 端口,从 22 换到一个不常用的端口:

vi /etc/ssh/sshd_config

把 Port 22 改成 Port 22 和 Port 2222 两行。先保留 22 是为了给自己留后路——如果改完连不上,你还能用 22 进去改回来。 改完重启:

systemctl restart sshd

验证新端口能登录之后,再把 22 那行删掉。 顺序反了就可能把自己锁在门外。

装 fail2ban 防止暴力破解:

apt update && apt install -y fail2ban
systemctl enable --now fail2ban

装防火墙:

apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

注意:ufw enable 会立刻生效,如果你的 SSH 端口已经改成 2222,这里必须写 ufw allow 2222/tcp 而不是 22。 这是新手把自己锁在服务器外面最常见的原因——防火墙规则和实际端口对不上。

检查一下防火墙规则确实生效了:

ufw status verbose

查 racknerd 在售套餐与库存

看到 Status: active 且规则里有你的端口,才算这一步完成。

三、怎么选建站方式:面板、纯命令行、还是现成 CMS

「vps搭建网站」有三条技术路线,选错了后面全是麻烦。

方式 优点 缺点 适合谁
宝塔 / 1Panel 面板 图形化,上传、数据库、SSL 都是点鼠标 吃内存,占端口,路径依赖 不熟悉命令行的新手
纯命令行 + Nginx 资源省、可控、干净 全靠命令和配置文件 有 Linux 基础、要长期运维
现成 CMS(WordPress 等) 内容管理成熟,插件丰富 需要 PHP+数据库,资源占用大 做内容站、博客

查 cloudcone 在售套餐与库存

面板路线(以宝塔为例):

# 官方安装命令,SSH 执行后按提示选环境
bash <(curl -sS https://bt.cn/install/install_panel.sh)

安装时把面板装在干净的机器上,并且提前记下它生成的安全入口路径和端口。 宝塔默认端口是 8888,安装完会显示一个随机入口路径,记下来关掉浏览器标签——这个路径一旦被人看到,你的服务器就等于敞着。

纯命令行路线:

apt update && apt upgrade -y
apt install -y nginx php-fpm php-cli php-mysql php-nginx php-mbstring php-xml php-curl
apt install -y mysql-server

装完检查:

systemctl status nginx php-fpm mysql

三个服务都应该显示 active (running)。

WordPress 路线:在纯命令行环境基础上再装:

cd /var/www
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar -xzf latest-zh_CN.tar.gz
mv wordpress your-site

这个版本有个坑:它解压出来的是一个叫 wordpress 的目录,名字很通用。 多人共机时容易撞名,建议改成你的站点名。

选哪条路,一句话判断:如果这台机器你打算用一年以上,选纯命令行;只是测试或练手,选面板省事。 面板的内存开销在小机器上是实打实的——1 GB 内存装完面板加数据库,内存谷值轻松超过 85%,机器会长期在 OOM 边缘。

选面板前必须知道的三件事:

第一,面板会自己改 SSH 端口。 宝塔、1Panel 安装时都会问你要不要修改端口,如果你在第二节已经把端口改成 2222,这里要填 2222 而不是让它随机生成。装完立刻用 ss -tlnp 核对一遍实际端口。

第二,面板自带的安全入口路径要记下来。 宝塔安装完会显示一个形如 /a1b2c3d4 的入口路径,浏览器直接访问 IP:8888 是打不开的,必须带上这个路径。 很多人以为安装失败,其实是漏了路径。这个路径本身是安全凭证,不要截图发群里。

第三,面板自带的数据库配置在小内存机器上要改。 MySQL 默认配置 innodb_buffer_pool_size 通常按大机器算,1–2 GB 内存的机器上直接吃满。改这个参数:

vi /etc/mysql/mysql.conf.d/mysqld.cnf

在 [mysqld] 段加:

innodb_buffer_pool_size = 128M
performance_schema = OFF

2 GB 内存的机器用 128M 起步,4 GB 用 256M。 这三行能显著降低 MySQL 占用内存的峰值,避免 OOM Killer 随机杀掉数据库进程。

纯命令行路线也有一个必做的优化:给 PHP 装 OPcache。

apt install -y php-opcache php-mbstring php-xml php-curl
systemctl restart php8.2-fpm

OPcache 把 PHP 文件的解析结果缓存在共享内存里,第二次以后的请求不需要重新解析。 对 WordPress 这类文件多、逻辑重的 CMS,这个开关带来的提速往往超过加内存。

装完检查一下所有服务状态和端口占用:

systemctl status nginx php-fpm mysql
ss -tlnp

三个服务都应该显示 active (running),端口列表里不该有你不认识的服务。 多出来的服务可能来自你之前装的某个面板或安全工具——既然不用了,就该卸掉。

四、VPS搭建网站的 Nginx 配置怎么写才对

配置是所有步骤里最容易出错、报错信息又最含糊的一步。

先建站点目录,注意权限:

mkdir -p /var/www/example.com/public
chown -R www-data:www-data /var/www/example.com
chmod -R 755 /var/www/example.com

权限给错是 403 的头号原因。 Nginx 的 worker 进程以 www-data 身份运行,目录属主不是它就读不到文件。

写站点配置:

vi /etc/nginx/sites-available/example.com
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;

    root /var/www/example.com/public;
    index index.php index.html;

    client_max_body_size 32m;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

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

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

    location ~ /\. {
        deny all;
    }
}

三个关键点必须注意:

第一,fastcgi_pass 里的 PHP 版本号必须和你装的版本一致。 查实际版本:

ls /run/php/

看到 php8.2-fpm.sock 就写 8.2,写成别的版本会报 connect() failed (2: No such file or directory)。

第二,启用配置:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

sites-enabled 里放的是软链接,不是文件副本。 这样你改 sites-available 里的文件,sites-enabled 会同步生效。如果直接复制文件过去,两边不一致时你会改错地方。

第三,永远先 nginx -t 再 reload:

nginx -t
systemctl reload nginx

digitalocean 官网机型与实时报价

nginx -t 报语法错时,Nginx 保持旧配置继续运行,业务不受影响。 直接 reload 则可能让 Nginx 起不来。这一条能避免绝大多数"配置改完网站就挂了"的事故。

五、报错怎么读:VPS搭建网站最常见的八个错误

这一节是查资料时最被需要的。错误信息看不懂,是新手放弃的第一原因。

错误一:502 Bad Gateway。 PHP-FPM 没运行,或者 socket 路径不对:

systemctl status php8.2-fpm
ls /run/php/

错误二:404 Not Found。 目录或文件位置错了。确认 root 指向的目录里真的有 index.php:

ls -la /var/www/example.com/public/

错误三:403 Forbidden。 权限不对:

chown -R www-data:www-data /var/www/example.com
chmod -R 755 /var/www/example.com

错误四:413 Request Entity Too Large。 上传文件超过限制。在站点配置里加:

client_max_body_size 32m;

错误五:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)。 80 端口被占:

ss -tlnp | grep :80

错误六:nginx: [emerg] invalid number of arguments in "user" directive。 配置文件语法错,nginx -t 会指出具体行号,照着行号改就行。

错误七:Killed process ... (mysqld)。 内存不够,MySQL 被 OOM Killer 杀了。这是 1 GB 机器跑数据库的典型结局,解决方式是升配到 4 GB(RosCloud-03 及以上)或关掉不必要的服务。

错误八:php-fpm.service failed to start。 配置语法错误:

php-fpm -t

这八条按出现频率排序,排查时从上往下试。 另外有两个通用技巧:第一,看错误日志 tail -50 /var/log/nginx/error.log;第二,改任何配置前先备份 cp /etc/nginx/sites-available/example.com{,.bak},改坏了能立刻还原。

再补充两个不报错但影响体验的问题,搜索「vps搭建网站报错」时反而经常搜到:

问题九:页面打开很慢,但服务器上什么都正常。 这几乎总是 PHP-FPM 子进程数不够。默认配置下 PHP-FPM 只有几个 worker,并发一上来就排队。改这个配置:

vi /etc/php/8.2/fpm/pool.d/www.conf

找到 pm.max_children,按内存算:1 GB 机器设 10,2 GB 设 20,4 GB 设 40。改完重启:

systemctl restart php8.2-fpm

这个参数配小了,表现就是"平时挺快,一有人并发就卡住"。 很多人误以为是带宽不够,其实是进程不够。

问题十:上传的图片在后台显示裂图。 这是 WordPress 的 uploads 目录权限问题,对应第一节最后那行 chmod -R 775。另外还要确认 PHP 的上传大小限制:

vi /etc/php/8.2/fpm/php.ini

改 upload_max_filesize 和 post_max_size 两个值,两者要一致,然后重启 PHP-FPM。只改一个不生效,这是最常见的"改了配置还是传不上去"的原因。

查 hostwinds 在售套餐与库存

最后一条排查心法:报错信息里的"第一行"通常不是根因,"最后一行"才是。 比如 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use),真正的问题不在 Nginx,而在占用 80 端口的那个进程。顺着报错往下找占用者,而不是反复重试同一条命令,这是排错效率的分水岭。

六、数据库怎么装、怎么连、密码忘了怎么办

WordPress、Typecho、绝大多数 CMS 都依赖 MySQL。

装完先确认服务起来了:

systemctl status mysql

首次登录不需要密码:

mysql

进去之后建库建用户:

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

utf8mb4 而不是 utf8。 这是建站教程里最该强调的一条:utf8 在 MySQL 里其实是 utf8mb3,最多 3 字节的字符,存 emoji 会报错或截断。 用 utf8mb4 才不会有这个问题。

用命令行测试能不能连上:

mysql -u mysite -p mysite

连接 CMS 时填的信息要和上面完全一致:数据库名 mysite、用户名 mysite、密码你刚设的、主机填 localhost(或 127.0.0.1)。

密码忘了怎么办? 有两条路:

路一,用 Debian/Ubuntu 的免密通道重置:

sudo mysql

进入 MySQL 后执行:

ALTER USER 'mysite'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
EXIT;

路二,忘了 root 密码就用这个初始化流程找回:

sudo systemctl stop mysql
sudo mkdir /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables &
mysql -u root

进去后执行 FLUSH PRIVILEGES; 再改密码,然后 exit,最后 sudo systemctl stop mysql && sudo systemctl start mysql 恢复正常启动。

查看 interserver 当前月价与库存

注意路径 /var/run/mysqld 是很多报错的关键: 如果提示 Can't create/write to file '/var/run/mysqld/mysqld.pid',就是这个目录不存在或属主不对,上面那条 mkdir 和 chown 就是解法。

七、域名解析与 HTTPS:最容易白忙一场的一步

网站搭好了但访问不到,八成卡在域名解析。

第一步,在域名服务商加 A 记录,主机记录填 @ 和 www,记录值填服务器 IP。

第二步,确认解析生效:

nslookup example.com

返回的 Address 和你的服务器 IP 一致,才算成功。 解析生效通常需要几分钟到几十分钟。在解析没生效之前申请证书,必然失败——这是最高频的踩坑点。

第三步,装 acme.sh 申请免费证书:

curl https://get.acme.sh | sh -s email=你的邮箱
source ~/.bashrc
~/.acme.sh --issue -d example.com -d www.example.com --nginx

申请成功的标志是命令行输出一串带 https:// 开头的证书路径。

acme.sh 常见的两种验证方式,选哪个有讲究:

方式 命令 特点
Nginx 插件 --nginx 自动改配置、自动 reload,最省事
Standalone --standalone 占用 80 端口,需要停 Nginx

查看 itldc 当前月价与库存

用 --nginx 插件的前提是 Nginx 已经在跑且配置合法。 如果你的 Nginx 配置有问题(比如 fastcgi_pass 的 PHP 版本写错),插件模式会因为无法 reload 而失败,但错误信息会指向 Nginx 配置而不是证书本身,容易误判。 这时先 nginx -t 确认配置无误,再申请。

第四步,安装证书并设置自动续期:

~/.acme.sh --install-cert -d example.com \
  --key-file /etc/ssl/private/example.com.key \
  --fullchain-file /etc/ssl/fullchain/example.com.pem \
  --reloadcmd "systemctl reload nginx"

第五步,Nginx 里启用 443:

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate     /etc/ssl/fullchain/example.com.pem;
    ssl_certificate_key /etc/ssl/private/example.com.key;

    root /var/www/example.com/public;
    index index.php index.html;

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

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

同时把 80 端口的 server 块改成跳转:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

申请证书失败的排查顺序:先看 DNS(nslookup),再看防火墙(ufw status 里有没有 80),最后看 80 端口是否被跳转了。

续期要手动验证一次,不能默认它能工作:

~/.acme.sh --cron --force

看到输出里显示下次续期时间,就算通过。 有些面板会改写 crontab 导致续期任务静默失效,这是"证书三个月后突然过期"的典型原因。

八、怎么让网站跑得更快:四个不花钱的优化

搭完之后就该优化。这里说的都是不花钱的办法——很多人在此之前先想到升配,方向就错了。

第一,Nginx 开启 gzip 压缩。 文本资源通常能压到原大小的四分之一左右:

gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_types text/plain text/css application/javascript application/json application/xml;

第二,静态资源设置缓存过期:

location ~* \.(jpg|jpeg|png|gif|webp|svg|ico|css|js|woff2)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
}

这两条组合起来的效果:第二次访问时静态资源几乎不占带宽,首字节之后的传输量接近零。

第三,PHP 开启 OPcache。 这是 WordPress 站点提速最明显的一招:

apt install -y php-opcache
systemctl restart php8.2-fpm

不开 OPcache 的 PHP,每次请求都要重新解析 PHP 文件;开了之后解析结果缓存在内存里。 对 WordPress 这种文件多、逻辑重的 CMS,这个开关往往比加 2 GB 内存更有效。

第四,数据库加索引。 用 WordPress 时可以用 wp-cli 检查:

wp db optimize
wp db query "SHOW FULL TABLES;" 

前两条是纯配置,收益立竿见影;后两条要看你具体用什么 CMS。

优化前先测基线,优化后再测一次:

curl -o /dev/null -s -w 'TTFB: %{time_starttransfer}s  Total: %{time_total}s  Size: %{size_download}\n' \
  https://example.com/

没有基线,你无法证明优化有没有用。

另外两个优化项,都对 WordPress 这类 CMS 效果明显:

第一,装 OPcache(如果第三节没装):

apt install -y php-opcache
systemctl restart php8.2-fpm

第二,删掉 WordPress 里用不到的东西。 插件装得越多,页面加载时执行的 PHP 越多。十个不用的插件带来的开销,可能比加 2 GB 内存还大。 用 wp plugin list 看看装了什么,长期不用的删掉。

第三,如果站点有大量图片,给图片生成缩略图。 一张 3000 像素的原图直接塞进页面,可能就要传 2 MB。缩略图 + WebP 转换能把首屏传输量降一个量级,而且这不需要改服务器配置,只需要一次性处理。

查 spinservers 在售套餐与库存

优化的正确顺序是:先测基线 → 做零成本的配置优化(gzip、缓存、OPcache)→ 再测 → 仍然不够再考虑升配。 顺序反了就是花钱买不必要的配置。

九、建站之后必须做的四件事:备份、监控、防火墙、日志

网站上线不等于结束。这四件事做不做,决定了出问题时的损失大小。

第一,备份。 数据库导出:

mysqldump -u root -p --single-transaction --routines --triggers mysite > /root/mysite_$(date +%F).sql

--single-transaction 必须加,否则 InnoDB 表的导出会锁表,生产环境会卡住。文件同步:

rsync -avz --delete --exclude 'cache/' /var/www/ user@备份机:/backup/www/

备份不能放在同一台机器上。 机器挂了备份跟着一起没,这不算备份。

第二,监控。 至少盯三个指标:内存、磁盘、CPU 负载。

free -m
df -h /
cat /proc/loadavg

磁盘使用率超过 80% 就要处理了。 日志文件把根分区写满,会导致 MySQL 写不进去、FTP 传不上去、面板操作全部失败——这是 VPS 上最常见的"突然全挂"原因。

第三,防火墙收敛。 检查暴露的端口:

ss -tlnp
ufw status verbose

除了 SSH、80、443,其余端口都应该关掉。 装过面板的话,面板端口也是暴露面,要么改安全入口路径,要么限制来源 IP。

第四,日志轮转。 logrotate 默认配置一般已经覆盖 Nginx 和 MySQL,但要确认:

vi /etc/logrotate.d/nginx

没有轮转的日志会一直涨,最后把磁盘吃满。

这四件事里,备份和监控的自动化最值得多花十分钟。 手动执行一次不难,难的是"每周想起来做一次"——真正出故障时往往是忘了做的那一次。 把它变成定时任务:

# 每天凌晨 3 点导出数据库并保留 14 天
echo "3 3 * * * mysqldump -u root -p'你的密码' --single-transaction mysite | gzip > /root/backup/mysite_\$(date +\%F).sql.gz && find /root/backup -name 'mysite_*.sql.gz' -mtime +14 -delete" >> /etc/crontab

用 gzip 压缩,一个几百 MB 的 SQL 库能压到原来的十分之一左右,14 天的备份也放得下。find ... -mtime +14 -delete 是自动清理老备份,磁盘小的机器上这行不能省。

再配一个站点存活监控,每 5 分钟探一次,挂了就知道:

cat > /usr/local/bin/site_watch.sh << 'EOF'
#!/bin/bash
CODE=$(curl -o /dev/null -s -m 10 -w '%{http_code}' https://example.com/)
if [ "$CODE" != "200" ]; then
  echo "$(date '+%F %T') 站点异常 HTTP=$CODE" >> /var/log/site_watch.log
fi
EOF
chmod +x /usr/local/bin/site_watch.sh
echo "*/5 * * * * /usr/local/bin/site_watch.sh" >> /etc/crontab

监控的价值不在于报警本身,而在于日志里的时间线。 站点出问题后翻日志,能立刻看出"是从今天凌晨 2 点开始连续的",这比"可能是最近几天"有用一百倍。

zenlayer 官网机型与实时报价

顺便说一句:磁盘监控要设成自动告警而不是手动查。 磁盘满是那种"你完全没察觉,直到网站挂了"的问题——没有告警,你只有等用户投诉才知道。

按你的情况,下一步该看哪家

上面讲的是判断标准,但多数人最后还是想问一句「那我该买谁」。按你的实际情况对照下面几条,直接去看对应的机型页比继续比价更快:

价格与库存以商家页面当日显示为准,下单前建议先确认退款窗口与是否支持按月付费。

十、什么情况下不该用 VPS 建站,以及替代方案

最后说清边界。以下几种情况,用 VPS 建站是错的选择。

第一种:你只是想放一个静态页面、一封落地页表单。 共享虚拟主机更便宜、更省事,你不需要 root、不需要 SSH、不需要自己管 Nginx 和证书。VPS 的价值在于你要装自己的东西、跑自己的程序;只是放静态页,这部分能力是浪费的。

第二种:你的访问量很小,且没有技术维护能力。 1 GB 内存的机器跑静态站没问题,但一旦出现故障(磁盘满、证书过期、服务起不来),你得自己排查。 如果你不打算学这些,用带控制面板的虚拟主机或建站服务更稳妥。

第三种:你需要固定的、可预期的稳定带宽。 VPS 的带宽通常是端口分配上限,晚高峰能否跑满取决于共享情况。如果你要做大流量分发且对速度有稳定预期,该看的是独享带宽的产品线。 商品库里 LAX-MEDIUM 标称 10000 Mbps、LAX-LARGE 标称 10000 Mbps,LAX-STARTER 标称 2000 Mbps,这类大带宽机型的定位就是分发节点。

第四种:你的业务需要跑长时间任务、且对 CPU 稳定性敏感。 普通 VPS 是共享资源池,超售时 CPU 会被降速。跑渲染、编译、爬虫这类持续吃 CPU 的任务,独立服务器或高核心数机型更合适。 RosCloud-06 是 7 vCPU、24 GB 内存、69.99 美元/月,LAX-LARGE 是 8 vCPU、16 GB 内存、1600 美元/年折合每月 133.33 美元。

第五种:你的站点在国内大陆、且要长期稳定运营。 大陆节点需要 ICP 备案,备案周期和主体资质要求都会拖慢上线。 这种情况要么接受备案流程,要么用香港等境外节点——但境外节点面向大陆用户时,要接受首字节延迟比大陆节点高的事实,这是物理距离决定的。

第六种:你需要的功能已经超出 Web 服务器的范围。 例如要跑长连接服务、消息队列、复杂的后端服务编排——这些场景该上云服务器的容器服务或函数计算,不是拿一台 VPS 硬扛。

把整条链路收一下:VPS搭建网站的实际流程是「准备 → 安全基线 → 选技术路线 → 配 Nginx → 排错 → 装数据库 → 配域名和 HTTPS → 性能优化 → 运维兜底」,每一步都有明确的验收信号,第 8 节的四个优化和第 9 节的四件运维事务是让站点长期活着的关键。如果你的需求在第 10 节的六种情况之外,就按这个流程走,走完你就有了一个自己的站。**

最后给一份可以直接照着勾的检查清单。 部署完成后逐条打勾,全部打上才算完工:

# 检查项 验收方式
1 密码已改,SSH 端口已换 ss -tlnp 里没有 22
2 fail2ban 在跑 systemctl is-active fail2ban 返回 active
3 防火墙只开必要端口 ufw status 里只有 SSH、80、443
4 网站正常返回 curl -I http://127.0.0.1 返回 200 或 301
5 域名解析生效 nslookup 返回的 IP 是你的服务器
6 HTTPS 可用且自动跳转 访问 http:// 自动跳到 https://
7 证书续期正常 ~/.acme.sh --cron --force 显示下次续期时间
8 数据库定时备份 crontab 里能看到备份任务
9 内存有余量 free -m 的 available 高于总内存的 15%
10 磁盘有空间 df -h / 使用率低于 80%

查 justg 在售套餐与库存

这十条里,第 9 和第 10 条是判断"这台机器撑不撑得住"的核心指标。 站点刚上线时可能都正常,但随着数据积累,磁盘会慢慢逼近那条 80% 的线——清单告诉你现在合格,但真正要定期复看的只有这两项。

如果十项里有任何一项没打上,先解决那一项,再继续往下走。 部署和运维是这个流程的两半,只有部署没有运维的站,活不过第三个月。

价格与库存来自渠道库快照(数据时间 2026-11-06 13:28),以官网当日报价为准。配置一台机器前,先确认商家是否支持按月付费、退款窗口多长,以及流量超额后的计费方式。

飞翔声明:飞翔网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。

评论:0 次

阅读本文后您有什么感想? 已有 人给出评价!

  • 0 喜欢
  • 0 高兴
  • 0 鬼脸
  • 0 呵呵
  • 0 无聊
  • 0 伤心

相关新闻

网友评论

评分
★
★
★
★
★
力荐
选择头像:
10
999+人评分
★★★★★
★★★★
★★★
★★
★
查看更多 >

魔兽世界Dota式击杀音效插件PVPSound

点击进入 立即下载

关于飞翔 | 联系我们 | 大事记 | 下载帮助(?) | 广告联系 | 版权声明 | 网站地图 | 友情链接

Copyright 2010-2025 单机游戏下载 (R) 版权所有 飞翔下载所有游戏及软件下载资源来源互联网,并由网友上传分享。如有侵权,请来电来函告之。
飞翔忠告:抵制不良色情、反动、暴力游戏 合理安排游戏时间 享受健康生活 鄂公网安备:42011102003115号 【鄂ICP备17000818号-1】