步骤一:创建本地目录文件并赋权限:
mkdir -p /data/wp/{mysql,backup/db,backup/files,logs/nginx,logs/mysql}
mkdir -p /data/wp/site{1,2,3}/wp-content
mkdir -p wp-stack/nginx/conf.d
chmod -R 755 /data/wp
步骤二:在wp-stack中执行docker-compose up -d
version: "3.7" services: db: image: mariadb:10.11 container_name: wp_db command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci environment: MARIADB_ROOT_PASSWORD: "StrongRootPass" TZ: "Asia/Shanghai" volumes: - /data/wp/mysql:/var/lib/mysql security_opt: - seccomp=unconfined restart: unless-stopped networks: - wpnet wp1: ports: - "8081:80" image: wordpress:php8.2-apache container_name: wp1 environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wp1db WORDPRESS_DB_USER: wp1user WORDPRESS_DB_PASSWORD: "wp1StrongPass" TZ: "Asia/Shanghai" volumes: - /data/wp/site1/wp-content:/var/www/html/wp-content networks: - wpnet depends_on: - db restart: unless-stopped wp2: ports: - "8082:80" image: wordpress:php8.2-apache container_name: wp2 environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wp2db WORDPRESS_DB_USER: wp2user WORDPRESS_DB_PASSWORD: "wp2StrongPass" TZ: "Asia/Shanghai" volumes: - /data/wp/site2/wp-content:/var/www/html/wp-content networks: - wpnet depends_on: - db restart: unless-stopped wp3: ports: - "8083:80" image: wordpress:php8.2-apache container_name: wp3 environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wp3db WORDPRESS_DB_USER: wp3user WORDPRESS_DB_PASSWORD: "wp3StrongPass" TZ: "Asia/Shanghai" volumes: - /data/wp/site3/wp-content:/var/www/html/wp-content networks: - wpnet depends_on: - db restart: unless-stopped networks: wpnet:
步骤三:创建数据库:
docker exec -i wp_db mysql -uroot -pStrongRootPass <<EOF CREATE DATABASE wp1db DEFAULT CHARSET utf8mb4; CREATE DATABASE wp2db DEFAULT CHARSET utf8mb4; CREATE DATABASE wp3db DEFAULT CHARSET utf8mb4; CREATE USER 'wp1user'@'%' IDENTIFIED BY 'wp1StrongPass'; CREATE USER 'wp2user'@'%' IDENTIFIED BY 'wp2StrongPass'; CREATE USER 'wp3user'@'%' IDENTIFIED BY 'wp3StrongPass'; GRANT ALL PRIVILEGES ON wp1db.* TO 'wp1user'@'%'; GRANT ALL PRIVILEGES ON wp2db.* TO 'wp2user'@'%'; GRANT ALL PRIVILEGES ON wp3db.* TO 'wp3user'@'%'; FLUSH PRIVILEGES; EOF
最后:输入IP(或域名)加端口即可安装wordpress。
其他:备份:
</pre> #!/bin/bash BACKUP_DIR="/data/wp/backup/db" DATE=$(date +%F) docker exec wp_db mysqldump -uroot -pStrongRootPass \ --single-transaction --routines --triggers --events \ --all-databases \ > $BACKUP_DIR/wp_db_$DATE.sql find $BACKUP_DIR -type f -mtime +7 -delete chmod +x /usr/local/bin/wp_db_backup.sh crontab -e # 加入 每天凌晨3点备份 0 3 * * * /usr/local/bin/wp_db_backup.sh 10 3 * * * /usr/local/bin/wp_files_backup.sh</pre> <pre>