🗣 Wd提问: 新vps搭建网站全过程
🤖 Ai回答: 下面给出一份「从零开始」在全新 VPS(Ubuntu 22.04 LTS 为例)上搭建一个可公开访问的 WordPress 网站的完整流程。
如果你打算用其他发行版或别的程序(Typecho、Hexo、Django、Flask、Node.js 等),把第 5~6 步换成对应技术即可,前面的系统初始化与后面的 HTTPS/监控/备份思路通用。
────────────────────
1、购买 VPS 与基础信息
────────────────────
• 推荐厂商:Hetzner CX11(1C2G20G NVMe,€4.15/月)、Vultr、DigitalOcean、腾讯云轻量、阿里云轻量。
• 系统镜像:Ubuntu 22.04 LTS x64。
• 记住:IPv4 地址、root 密码、SSH 端口(默认 22)。
────────────────────
2、本地电脑连接 VPS
────────────────────
Windows:用 PuTTY / Windows Terminal / PowerShell
macOS / Linux:终端直接 ssh
bash
ssh root@YOUR_IP
首次登录会提示指纹,输入 yes
────────────────────
3、系统初始化(一次性脚本)
────────────────────
bash
0、换国内软件源(可选,海外机可跳过)
sed -i 's@http://.*.ubuntu.com@http://mirrors.aliyun.com@g' /etc/apt/sources.list
1、更新系统
apt update && apt -y full-upgrade
2、安装常用工具
apt -y install curl wget git vim htop ufw
3、新建普通用户并赋予 sudo(以后禁止 root 登录)
adduser web
usermod -aG sudo web
rsync archive chown=web:web ~/.ssh /home/web 把 root 的 ssh key 同步给新用户
4、设置防火墙(仅放行 22、80、443)
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw force enable
5、时区 & NTP
timedatectl set-timezone Asia/Shanghai
apt -y install chrony
systemctl enable chronyd
退出 root,之后都用 `web` 用户登录:
bash
exit
ssh web@YOUR_IP
────────────────────
4、安装 Docker + Docker-Compose(最省事)
────────────────────
bash
sudo apt -y install docker.io docker-compose-plugin
sudo usermod -aG docker $USER
newgrp docker 让当前 shell 立即生效
docker version
────────────────────
5、用 Docker-Compose 一键起站(LNMP)
────────────────────
建立目录结构:
bash
mkdir -p ~/sites/wordpress && cd ~/sites/wordpress
创建 `docker-compose.yml`:
yaml
version: 3.9
services:
db:
image: mysql:8.0
container_name: wp_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: S3cRetRoot
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: wppass
volumes:
db_data:/var/lib/mysql
command: default-authentication-plugin=mysql_native_password
wordpress:
image: wordpress:6.4-php8.2-apache
container_name: wp_app
restart: always
depends_on:
db
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: wppass
volumes:
wp_html:/var/www/html
ports:
8080:80 先映射到 8080,等配好 Nginx 再改
nginx:
image: nginx:alpine
container_name: wp_nginx
restart: always
ports:
80:80
443:443
volumes:
./nginx/conf.d:/etc/nginx/conf.d:ro
./ssl:/etc/nginx/ssl:ro
wp_html:/var/www/html:ro
depends_on:
wordpress
volumes:
db_data:
wp_html:
创建 Nginx 配置:
bash
mkdir -p nginx/conf.d ssl
`nginx/conf.d/wordpress.conf`:
nginx
server {
listen 80;
server_name 65.hk www.65.hk;
location /.well-known/acme-challenge/ { root /var/www/html; }
location / { return 301 https://$host$request_uri; }
}
server {
listen 443 ssl http2;
server_name 65.hk www.65.hk;
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
root /var/www/html;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass wordpress:80;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht { deny all; }
}
启动:
bash
docker compose up -d
此时访问 http://YOUR_IP 能看到 WordPress 安装向导,但域名还没解析,HTTPS 证书也没有。
────────────────────
6、域名解析
────────────────────
• 到域名注册商把 `65.hk` 与 `www.65.hk` 的 A 记录指向 VPS 的 IPv4。
• 等待 TTL(一般 5 分钟~1 小时)生效。
────────────────────
7、申请 HTTPS 证书(Let's Encrypt)
────────────────────
bash
临时放行 80
sudo ufw allow 80
安装 certbot
sudo apt -y install certbot
申请
sudo certbot certonly webroot \
-w ~/sites/wordpress/wp_html/_site \
-d 65.hk -d www.65.hk \
email you@65.hk agree-tos no-eff-email
证书路径:
`/etc/letsencrypt/live/65.hk/fullchain.pem`
`/etc/letsencrypt/live/65.hk/privkey.pem`
复制到 Docker 目录:
bash
sudo cp /etc/letsencrypt/live/65.hk/* ~/sites/wordpress/ssl/
sudo chown $USER:$USER ~/sites/wordpress/ssl/*
重启 Nginx:
bash
docker compose restart nginx
浏览器访问 https://65.hk 应出现 WordPress 安装界面。
────────────────────
8、完成 WordPress 安装
────────────────────
• 语言选中文 → 站点标题/管理员账号/密码 → 安装。
• 登录后台,先装「经典编辑器」「WP Super Cache」等常用插件。
────────────────────
9、自动化 & 加固
────────────────────
1) 自动续签证书
在 `crontab -e` 里加:
bash
0 3 * * * /usr/bin/certbot renew quiet deploy-hook docker compose -f /home/web/sites/wordpress/docker-compose.yml restart nginx
2) 禁止 root 登录
`sudo vim /etc/ssh/sshd_config`
PermitRootLogin no
PasswordAuthentication no
然后 `sudo systemctl restart sshd`
3) 安装 Fail2ban
bash
sudo apt -y install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl enable fail2ban
4) 备份脚本(每天 3 点打包数据库+文件到对象存储)
示例脚本 `~/backup.sh`:
bash
!/bin/bash
DATE=$(date +%F)
cd /home/web/sites/wordpress
docker compose exec -T db mysqldump -u wpuser -pwppass wordpress | gzip /tmp/wp_$DATE.sql.gz
tar czf /tmp/wp_html_$DATE.tar.gz -C /var/lib/docker/volumes/wordpress_wp_html/_data .
上传到 rclone 挂载的 OSS 或 Backblaze B2
rclone copy /tmp/wp_* remote:backup/wordpress/
rm /tmp/wp_*
加定时任务 `0 3 * * * /home/web/backup.sh`
5) 监控(可选)
• 装 Node Exporter + Prometheus + Grafana
• 或者直接用 UptimeRobot 免费监控 443 端口。
────────────────────
10、性能优化速查表
────────────────────
• MySQL:把 `innodb_buffer_pool_size` 调到 1G(2G 内存机)。
• PHP:启用 OPcache(Docker 镜像已开)。
• Nginx:开 gzip、http2、缓存静态文件。
• CDN:套上 Cloudflare(免费)。
• 图片:用「ShortPixel」或「WP-Optimize」压缩。
────────────────────
11、一键脚本(懒人版)
────────────────────
如果你不想一步步敲,可以直接用:
bash
wget -qOhttps://get.docker.com | bash
curl -fsSL https://raw.githubusercontent.com/oneinstack/oneinstack/master/install.sh | bash
选 Nginx + PHP + MySQL + Pure-FTPd + Redis + Let's Encrypt
────────────────────
📣 商家广告:





0
IP地址: 93.164.35.190
搜索次数: 1
提问时间: 2025-11-08 16:02:46
🛒 域名购买:
53.gold
736.net.cn
81.biz
kfdy.cn
sbnjt.com.cn
wt.cx
zhang.la
t-v.com.cn
tc.gs
15.gold
❓️ 热门提问:
esp8266 网页服务器
关键词搜索广告出价
主机 托管
移动机房托管费用
服务器Docker部署
ld服务器
虚拟主机服务器租用主机托管
存储服务器怎么搭建
租用海外的服务器
网站云主机
豌豆Ai站群搜索引擎系统
🌐 域名评估:
q.gg
mi.jx.cn
uavtower.tech
musk.press
su7.ln.cn
25.gs
wpbg.cn
ii.sx.cn
691.net.cn
saweb.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
温泉设计施工公司
香港搜尋引擎
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。