2617 字
9 分钟阅读
建站过程记录

一、准备 VPS
系统:
Ubuntu 22.04 LTS登录:
ssh root@你的IP更新:
apt update && apt upgrade -y安装工具:
apt install curl wget nano -y二、安装 Docker
执行:
curl -fsSL https://get.docker.com | sh检查:
docker -v安装 compose:
apt install docker-compose-plugin -y检查:
docker compose version三、创建 WordPress 项目
创建目录:
mkdir /opt/wordpress
cd /opt/wordpress创建配置:
nano docker-compose.yml填入:
services:
wordpress:
image: wordpress:latest
container_name: wordpress
restart: always
ports:
- "127.0.0.1:8080:80"
environment:
WORDPRESS_DB_HOST: wordpress_db
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: strong_password
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress_data:/var/www/html
wordpress_db:
image: mariadb:latest
container_name: wordpress_db
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: strong_password
MYSQL_ROOT_PASSWORD: root_password
volumes:
- db_data:/var/lib/mysql
volumes:
wordpress_data:
db_data:
注意修改:
strong_password
root_password四、启动 WordPress
运行:
docker compose up -d查看:
docker ps看到:
wordpress
wordpress_db启动完成
五、配置 Nginx 域名访问
假设:
blog.example.comDNS添加:
A记录
blog.example.com
↓
你的VPS IP安装 Nginx:
apt install nginx -y创建配置:
nano /etc/nginx/sites-available/wordpress写:
server {
listen 80;
server_name blog.example.com;
# 禁止 XML-RPC
location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
}
# 用户枚举
location ~* /wp-json/wp/v2/users {
deny all;
}
location ~* rest_route=/wp/v2/users {
deny all;
}
# 隐藏文件
location ~ /\. {
deny all;
}
# 登录限速 在etc/nginx/nginx.conf里配置,意为每个IP每分钟最多请求5次
#limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
location = /wp-login.php {
limit_req zone=login burst=5 nodelay;
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
#静态文件
location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg|webp|woff|woff2|ttf)$ {
expires 30d;
add_header Cache-Control "public";
root /var/lib/docker/volumes/wordpress_wordpress_data/_data/wp-content/themes/mizuki-wp;
proxy_pass http://127.0.0.1:8080;
access_log off;
}
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}以上注释为可选配置
配置过长还需要在nginx.conf里增加容量
编辑:
nano /etc/nginx/nginx.conf在里面加入:
proxy_headers_hash_max_size 1024;
proxy_headers_hash_bucket_size 128;最后启用:
ln -s /etc/nginx/sites-available/wordpress \
/etc/nginx/sites-enabled/测试:
nginx -t重启:
systemctl restart nginx现在:
http://blog.example.com访问
六、配置 HTTPS
安装:
apt install certbot python3-certbot-nginx -y申请:
certbot --nginx -d blog.example.com完成:
https://blog.example.com七、访问安装页面
浏览器:
https://blog.example.com完成初始设置后:
https://blog.example.com/wp-admin进入后台
至此,可以开始按自己喜好配置网站啦!











OωO