Cara Mengaut Mengotor Penyebaran WordPress Serentak di Pelbagai Pelayan Linux Menggunakan Ansible - Bahagian 3
- 2357
- 282
- Clarence Powlowski
Dalam dua artikel sebelumnya Ansible siri, kami menjelaskan cara memasang dan mengkonfigurasi Ansible untuk menjalankan arahan dan melaksanakan tugas kompleks di beberapa pelayan jauh secara serentak.
Automatikkan Pelbagai Pemasangan WordPress Menggunakan Ansible - Bahagian 3Dalam tutorial semasa kami akan menerangkan cara menubuhkan WordPress di pelayan jauh yang sama:
Node1: 192.168.0.29 Node2: 192.168.0.30
Di mana kami memasang, didayakan, dan memulakan Apache (anda mungkin tahu sekarang mengapa kami memilih untuk bekerja dengan pelayan web sebagai contoh awal dalam tutorial terakhir).
Saya sangat menggalakkan anda membaca Bahagian 1 dan Bahagian 2 sebelum meneruskan untuk memastikan anda biasa dengan konsep yang berkaitan dengan Ansible.
Cara Memasang dan Mengkonfigurasi Alat Automasi 'Ansible' untuk Pengurusan IT - Bahagian 1
Cara Menggunakan Buku Playble Anisble untuk mengautomasikan tugas kompleks pada Pelbagai Pelayan Jauh - Bahagian 2
Langkah 1: Memperkenalkan Peranan Ansible
Semasa anda mula menambah lebih banyak tugas untuk dimainkan, anda Buku Playbooks boleh menjadi semakin sukar untuk dikendalikan. Atas sebab itu, pendekatan yang disyorkan dalam situasi tersebut (sebenarnya, dalam semua kes) adalah menggunakan struktur direktori yang mengandungi arahan untuk setiap kumpulan tugas dalam fail yang berbeza.
Pendekatan ini membolehkan kami menggunakan semula fail konfigurasi ini dalam projek berasingan di jalan. Setiap fail ini menentukan apa yang disebut di Ekosistem ansible peranan.
Dalam kes kita, kita akan membuat dua peranan. Salah seorang daripada mereka (dipanggil WP-Dependencies) akan digunakan untuk memasang kebergantungan WordPress (Php dan Mariadb - tidak perlu memasang Apache Seperti yang sudah dipasang).
Peranan lain (dinamakan WP-Install-Config) akan memasukkan semua tugas yang diperlukan yang berkaitan dengan pemasangan dan konfigurasi WordPress.
Langkah 2: Membuat Peranan Ansible
Ansible dilengkapi dengan utiliti yang dipanggil Ansible-Galaxy yang akan membantu kita membuat struktur direktori untuk peranan kita. Kami akan melakukan ini di /etc/ansible/playbooks (Yang kami buat dalam Bahagian 2) tetapi dalam teori anda boleh menetapkannya dalam direktori lain jika anda mahu.
# cd/etc/ansible/playbooks # ansible-galaxy init wp-dependencies # ansible-galaxy init wp-install-configAnsible: Buat peranan WordPress
Seterusnya mengesahkan peranan yang baru dibuat.
# ls -r/etc/ansible/playbooksAnsible: Sahkan struktur direktori wordpress
Dalam imej di atas kita dapat melihatnya Ansible-Galaxy mencipta dua direktori dengan nama yang sama dengan peranan kami, dan subdirektori lain (lalai, fail, Pengendali, meta, tugas, templat, dan vars) dan a BACA SAYA.md fail di dalam setiap mereka.
Di samping itu, fail yaml bernama utama.yml telah dibuat di dalam semua direktori yang disenaraikan sebelum ini, kecuali fail dan templat.
Kami akan bermula dengan menyunting fail konfigurasi berikut seperti yang ditunjukkan:
1. /etc/ansible/playbooks/wp-dependencies/tugas/utama.yml. Perhatikan bahawa kita termasuk httpd Sekiranya anda tidak mengikuti bersama tutorial sebelumnya dalam siri ini.
utama.yml--- # Tugas Fail untuk WP -Dependencies - Nama: Pakej Kemas Kini (ini bersamaan dengan yum update -y) yum: name =* state = terbaru - nama: pemasangan dependencies untuk wordpress yum: name = item state = present with_items : - HTTPD - MariaDB -Server - MariaDB - PHP - PHP -MYSQL - MySQL -PYTHON - Nama: Pastikan MariaDB sedang berjalan (dan membolehkannya di Boot) Perkhidmatan:.saya.CNF ke nod salinan: src =/root/.saya.cnf dest =/root/.saya.CNF - Nama: Buat Pangkalan Data MariaDB MySql_db: name = WP_MYSQL_DB state = present - name: create Mariadb Name dan kata laluan mysql_user: login_user = root login_password = youriadbrootwordHere =*.*:SEMUA
2. /etc/ansible/playbooks/wp-dependencies/lalai/utama.yml
utama.yml--- # Fail lalai untuk WP-Dependencies WP_MYSQL_DB: MYWP WP_MYSQL_USER: WPUSER WP_MYSQL_PASSWORD: WPP4SS
3. /etc/ansible/playbooks/wp-install-config/tugas/utama.yml:
utama.yml--- # Tugas Fail untuk WP -Install -Config -Nama: Buat Direktori Untuk Muat turun WordPress Command: Mkdir -P/Opt/Source/WordPress -Nama: Muat turun WordPress Get_url: url = https: // www.WordPress.org/terkini.tar.Gz Dest =/Opt/Source/WordPress/WordPress.tar.gz validate_certs = no - Nama: Ekstrak WordPress Command: "tar xzf/opt/source/wordpress/wordpress.tar.gz -c/var/www/html--strip-components 1 "-Nama: hantar fail config salinan: src =/root/wp-config-sample.php dest =/var/www/html/wp-config.Mod PHP = 0644
4. WP-CONFIG-SAMPLE.php (disediakan di pastebin ini) seperti berikut dan simpannya ke mesin pengawal Ansible anda (seperti yang anda lihat dalam arahan salinan terakhir di atas, saya memuat turunnya ke direktori rumah super (/Root/WP-Config-Sample.php).
Penting: Sila ambil perhatian bahawa nilai untuk pembolehubah Db_name, Db_user, dan Db_password sama seperti di /etc/ansible/playbooks/wp-dependencies/lalai/utama.yml:
WP-CONFIG-SAMPLE.php... / ** Nama pangkalan data untuk WordPress* / define ('db_name', 'mywp'); / ** Nama pengguna MySQL Database*/ define ('db_user', 'wpuser'); / ** kata laluan pangkalan data mysql*/ define ('db_password', 'wpp4ss');
5. Untuk pemasangan pelayan pangkalan data baru di mana kata laluan root kosong, seperti dalam kes ini, malangnya kita perlu menyediakan kata laluan untuk akar pengguna secara individu di setiap mesin melalui mysql_secure_installation.
Sejauh yang saya tahu, tidak ada penyelesaian yang tersedia yang membolehkan anda menyediakan kata laluan root melalui Ansible Dalam langkah yang sama di mana anda membuat akaun pangkalan data pentadbiran untuk WordPress.
Pastikan anda menggunakan kata laluan yang sama di semua tuan rumah, kemudian salin kelayakan di /root/.saya.cnf (Lokasi sebenar mungkin berbeza dalam kes anda, tetapi dalam semua keadaan, ia perlu sesuai dengan nilai SRC parameter untuk tugas Salin ~/.saya.cnf ke nod dalam /etc/ansible/playbooks/wp-dependencies/tugas/utama.yml).
Dalam fail itu (lihat di atas) kami mengandaikan bahawa kata laluan untuk root adalah Yourmariadbrootpassword.
Kata laluan pangkalan data ansible6. Seterusnya, buku main kami (/etc/ansible/playbooks/playbook.yml) akan kelihatan lebih teratur dan mudah apabila dibandingkan dengan tutorial sebelumnya:
# Playbook Cat.ymlAnsible WordPress Playbooks
- Hos: Peranan Webservers:-WP-Dependencies-WP-Install-Config
Akhirnya, sudah tiba masanya untuk menjalankan tugas -tugas ini dengan menggunakan buku main kami:
# Ansible-Playbook Playbook.yml
Sekarang mari kita periksa sama ada kami dapat mengakses halaman admin WordPress menggunakan alamat IP Node1 192.168.0.29 dan Node2 192.168.0.30:
Pemasangan WordPress AnsibleAnda boleh melihat dua langkah terakhir dalam screencast berikut:
Seperti yang anda lihat, anda boleh menyediakan pelbagai pemasangan WordPress dengan sedikit usaha menggunakan Ansible. Kemudian anda boleh menggunakan masing -masing Admin antara muka pengguna untuk mengkonfigurasi setiap laman web secara berasingan.
Pertimbangan Akhir
Sekiranya anda menggunakan pengedaran lain untuk digunakan WordPress, Nama pakej mungkin berbeza -beza, tetapi ia turun untuk memasang pelayan web Apache, pelayan pangkalan data MariaDB, dan modul Python MySQL. Sekiranya itu berlaku, gunakan sistem pengurusan perisian pengedaran anda untuk mencari nama pakej yang tepat yang perlu anda pasang.
Ringkasan
Dalam siri ini, kami telah menerangkan cara menggunakan Ansible untuk menjalankan arahan dan melaksanakan tugas kompleks dalam beberapa mesin Linux secara serentak.
Salah satu contoh sedemikian adalah menubuhkan WordPress, Seperti yang telah kita bincangkan dalam panduan ini. Sama ada anda seorang pentadbir sistem atau blogger, saya harap anda dapati konsep dan contoh dalam tutorial ini berguna.
Semoga berjaya dan jangan ragu untuk menggugurkan kami jika anda memerlukan bantuan atau mempunyai komen atau cadangan!
- « Cara Mengurus Raid Perisian di Linux dengan Alat 'MDADM' - Bahagian 9
- Tuptime - Menunjukkan Masa Berjalan Sejarah dan Statistik Sistem Linux »