用 VPS 从零搭建网站完整教程
很多做跨境电商的朋友需要自己搭建独立站、落地页或者博客,用 VPS 搭建网站是性价比最高的方案。这篇教程会带你从购买 VPS 到网站上线,每一步都能直接跟着操作。
一、准备工作
搭建网站需要三样东西:
| 项目 | 说明 | 推荐 |
|---|---|---|
| VPS 服务器 | 运行网站的机器 | Vultr、DigitalOcean、Bandwagon |
| 域名 | 网站地址 | Namesilo、Cloudflare、GoDaddy |
| SSH 工具 | 远程连接服务器 | Windows 用 MobaXterm,Mac 用终端 |
VPS 最低配置建议: 1核 CPU、1GB 内存、25GB 硬盘、Ubuntu 22.04 系统
二、购买并连接 VPS
2.1 购买 VPS
以 Vultr 为例:
- 注册 Vultr 账号并充值
- 点击「Deploy New Server」
- 选择「Cloud Compute - Shared CPU」
- 地区选离目标客户近的节点(做欧美市场选美国/欧洲)
- 系统选 Ubuntu 22.04 LTS
- 套餐选 $6/月(1核1G)起步够用
- 点击「Deploy Now」等待部署完成
部署完成后记下服务器的 IP 地址 和 root 密码。
2.2 SSH 连接服务器
打开终端或 MobaXterm,输入:
ssh root@你的服务器IP
输入密码后回车,看到命令行提示符就说明连接成功了。
三、安装 LNMP 环境
LNMP 指的是 Linux + Nginx + MySQL + PHP,这是跑网站最主流的组合。
3.1 更新系统
apt update && apt upgrade -y
3.2 安装 Nginx
apt install nginx -y
systemctl start nginx
systemctl enable nginx
安装完成后,在浏览器输入你的服务器 IP,能看到 Nginx 欢迎页面就说明成功了。
3.3 安装 MySQL
apt install mysql-server -y
mysql_secure_installation
运行安全配置脚本时:
- 设置 root 密码(记住这个密码)
- 移除匿名用户:选 Y
- 禁止 root 远程登录:选 Y
- 删除测试数据库:选 Y
- 刷新权限:选 Y
3.4 安装 PHP
apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
验证 PHP 是否安装成功:
php -v
能看到版本号就没问题。
四、域名解析
登录你的域名管理后台(以 Cloudflare 为例):
- 添加一条 A 记录
- Name 填
@(代表根域名) - Value 填你的 VPS IP 地址
- TTL 选 Auto
- Name 填
- 再添加一条 A 记录
- Name 填
www - Value 填你的 VPS IP 地址
- Name 填
DNS 生效一般需要几分钟到几小时不等。
五、配置 Nginx 站点
5.1 创建网站目录
mkdir -p /var/www/yourdomain.com
chown -R www-data:www-data /var/www/yourdomain.com
5.2 创建 Nginx 配置文件
nano /etc/nginx/sites-available/yourdomain.com
粘贴以下内容(把 yourdomain.com 替换成你的实际域名):
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain.com;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
注意:
php8.1-fpm.sock中的版本号要和你实际安装的 PHP 版本对应,可以用ls /var/run/php/查看。
5.3 启用站点并重启 Nginx
ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
nginx -t 显示 syntax is ok 就没问题。
六、上传网站文件
方案 A:放一个静态页面测试
nano /var/www/yourdomain.com/index.html
写入:
<!DOCTYPE html>
<html>
<head><title>My Website</title></head>
<body><h1>网站搭建成功!</h1></body>
</html>
保存后在浏览器访问你的域名,能看到页面就成功了。
方案 B:安装 WordPress(推荐建站用)
cd /var/www/yourdomain.com
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
mv wordpress/* .
rm -rf wordpress latest.tar.gz
chown -R www-data:www-data /var/www/yourdomain.com
然后给 WordPress 创建数据库:
mysql -u root -p
在 MySQL 命令行中输入:
CREATE DATABASE wordpress_db;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY '设置一个强密码';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
打开浏览器访问你的域名,WordPress 安装向导会自动出现,按提示填入数据库名、用户名、密码就行。
七、配置 SSL 证书(HTTPS)
用 Let’s Encrypt 免费证书,通过 Certbot 一键搞定:
apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourdomain.com -d www.yourdomain.com
按提示输入邮箱,同意条款,选择是否强制跳转 HTTPS(建议选是)。
证书会自动续期,可以用这条命令验证自动续期是否正常:
certbot renew --dry-run
八、防火墙设置
ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw enable
ufw status
这样只开放 SSH(22端口)和 HTTP/HTTPS(80/443端口),其他端口全部关闭。
常见问题
Q:访问 IP 能看到 Nginx 页面,但访问域名打不开?
DNS 还没生效,等几分钟再试。也可以用 ping yourdomain.com 看看解析是否指向了正确的 IP。
Q:WordPress 安装页面显示数据库连接错误?
检查数据库名、用户名、密码是否和你在 MySQL 中创建的一致。还要确认 MySQL 服务正在运行:systemctl status mysql。
Q:Certbot 申请证书失败? 确保域名已经正确解析到 VPS IP,并且 80 端口没有被防火墙或其他程序阻断。如果用了 Cloudflare 代理(橙色云朵),先把代理关掉(灰色云朵),申请完证书再打开。
Q:网站打开很慢? VPS 配置太低或者距离太远都会导致慢。可以在 Cloudflare 开启 CDN 加速,或者升级 VPS 套餐。WordPress 还可以装缓存插件(比如 WP Super Cache)来提速。
Q:怎么上传自己的网站文件到服务器? 用 SCP 或 SFTP。MobaXterm 自带文件管理器可以直接拖拽上传。命令行方式:
scp -r /本地文件路径 root@服务器IP:/var/www/yourdomain.com/