ฉันใหม่ที่นี่และนั่นเป็นคำถามแรกของฉัน ดังนั้นโปรดบอกฉันว่ามีอะไรผิดปกติในวิธีที่ฉันพูด
นี่คือปัญหา: ฉันกำลังสร้าง LAMP stack ที่มี 3 คอนเทนเนอร์แยกกันสำหรับ nginx, maiadb และ wordpress
ดูเหมือนว่า nginx และ php-fpm ทั้งหมดจะทำงานได้ดี เนื่องจากฉันสามารถเข้าถึงดัชนีของไซต์และประมวลผลหน้า php ได้ Mdb สร้างฐานข้อมูล wordpress และสร้างผู้ใช้ "wordpress@wordpress-php" ที่มีสิทธิ์ทั้งหมด
มันเริ่มผิดพลาดเมื่อฉันเข้าถึงไซต์เพื่อติดตั้ง ฉันติดอยู่กับ: "เกิดข้อผิดพลาดในการสร้างการเชื่อมต่อฐานข้อมูล"
นี่คือ wp-config.php ของฉันที่ฉันคัดลอกใน wordpress dir ภายในคอนเทนเนอร์:
<?php
4 define( 'DB_NAME', 'wordpress' );
7 define( 'DB_USER', 'wordpress' );
10 define( 'DB_PASSWORD', 'wordpress' );
15 define( 'DB_HOST', 'mariadb' );
16 define( 'DB_CHARSET', 'utf8' );
17
19 define( 'DB_COLLATE', '' );
20 define('AUTHOR', 'yotillar');
21
22 // Authentication unique keys and salts.
23 define( 'AUTH_KEY', 'key' );
24 define( 'SECURE_AUTH_KEY', 'key' );
25 define( 'LOGGED_IN_KEY', 'key' );
26 define( 'NONCE_KEY', 'key' );
27 define( 'AUTH_SALT', 'salt' );
28 define( 'SECURE_AUTH_SALT', 'salt' );
29 define( 'LOGGED_IN_SALT', 'salt' );
30 define( 'NONCE_SALT', 'salt' );
31
38 $table_prefix = 'wp_';
51 define( 'WP_DEBUG', true );
52 define( 'WP_DEBUG_LOG', true );
53 define( 'WP_DEBUG_DISPLAY', false );
59 if ( ! defined( 'ABSPATH' ) ) {
60 »···define( 'ABSPATH', __DIR__ . '/' );
61 }
64 require_once ABSPATH . 'wp-settings.php';
65 ?>
นี่คือ docker-compose.yaml ของฉัน:
รุ่น: "3.5"
2
3 เครือข่าย:
4 เครือข่ายด้านหน้า:
5 ไดรเวอร์: สะพาน
6 แนบได้: เท็จ
7 เครือข่ายด้านหลัง:
8 ไดรเวอร์: สะพาน
9 แนบได้: เท็จ
10
11 เล่ม:
12 mdb-ข้อมูล:
13 เวิร์ดเพรส:
14
15 บริการ:
16
17 จิงซ์:
18 ขึ้นอยู่กับ:
19 - wordpress-php
20 บิลด์: "./services/nginx"
21 ภาพ: nginx:mytag
22 เล่ม:
23 - wordpress:/var/www/myserver/wordpress:rw
24 - "../logs/nginx_logs:/var/log/nginx:rw"
25 รีสตาร์ท: ล้มเหลว
26 พอร์ต:
27 - "80:80"
28 - "443:443"
29 เปิดเผย:
30 - 9000
31 เครือข่าย:
32 - เครือข่ายด้านหน้า
33
34
35 wordpress-php:
36 ขึ้นอยู่กับ:
37 - มาเรียดบ
38 รุ่น: "./services/wordpress"
39 ภาพ: wordpress-php:mytag
40 เล่ม:
41 - wordpress:/var/www/myserver/wordpress:rw
42 - "../logs/php7.3-fpm.log:/var/log/php7.3-fpm.log:rw"
43 รีสตาร์ท: ล้มเหลว
44 สภาพแวดล้อม:
45 - WORDPRESS_DB_HOST=mariadb:3306
46 - WORDPRESS_DB_NAME=เวิร์ดเพรส
45 - WORDPRESS_DB_USER=เวิร์ดเพรส
48 - WORDPRESS_DB_PASSWORD=เวิร์ดเพรส
50 เปิดเผย:
51 - 3306
52 - 9000
53 เครือข่าย:
54 - เครือข่ายด้านหน้า
55 - เครือข่ายด้านหลัง
56
57
58 มาเรียด:
59 รุ่น: "./services/mariadb"
60 ภาพ: mariadb:mytag
61 เล่ม:
62 - mdb-data:/var/lib/mysql:rw
63 - "../logs/mariadb_logs/error.log:/var/log/mysql/error.log"
64 เริ่มใหม่: ล้มเหลว
65 สภาพแวดล้อม:
66 - MYSQL_DATABASE=เวิร์ดเพรส
67 - MYSQL_USER=เวิร์ดเพรส
68 - MYSQL_USER_PASSWORD=เวิร์ดเพรส
69 - MYSQL_ROOT_PASSWORD=รูท
70 เปิดเผย:
71 - 3306
72 เครือข่าย:
73 - เครือข่ายด้านหลัง
74
ฉันตั้งค่าที่อยู่การผูกของ mariadb เป็น 0.0.0.0 ใน ./etc/mysql/mariadb.conf.d/50-se rver.cnf และ ./etc/mysql/my.cnf เพื่อให้แน่ใจว่า th db กำลังฟังอยู่ จากทุกไอพี
ฉันคิดว่าปัญหามาจาก wp-config.php แต่อย่างที่ฉันเข้าใจในสภาพแวดล้อมที่เขียนโดยนักเทียบท่า คุณสามารถอ้างถึงแต่ละคอนเทนเนอร์ด้วยชื่อของเขาแทนที่จะเป็น ip และฉันไม่รู้ว่าฉันจะดึง IP ของ mariadb จาก wordpress ได้อย่างไร -php
โปรดช่วยฉันด้วย
ขอบคุณล่วงหน้าสำหรับทุกคนที่อ่านมาไกล! ^^