快速開發(fā)工具網(wǎng)站成功的網(wǎng)絡(luò)營銷案例
LNMP
- 一、playbooks 分布式部署 LNMP
- 1. 環(huán)境配置
- 2. 安裝 ansble
- 3. 安裝 nginx
- 3.1 準(zhǔn)備 nginx 相關(guān)文件
- 3.2 編寫 lnmp.yaml 的 nginx 部分
- 3.3 測試 nginx
- 4. 安裝 mysql
- 4.1 準(zhǔn)備 mysql 相關(guān)文件
- 4.2 編寫 lnmp.yaml 的 mysql 部分
- 4.3 測試 mysql
- 5. 安裝 php
- 5.1 編寫 lnmp.yaml 的 php 部分
- 5.2 測試 php
- 二、playbooks 集中式部署 LNMP
- 1. 環(huán)境配置
- 2. 安裝 ansible
- 3. 準(zhǔn)備配置文件
- 3.1 nginx
- 3.2 mysql
- 4. 編寫 lnmp.yaml 文件
- 5. 測試并用瀏覽器訪問
- 三、role 模塊部署 LNMP
- 1. 環(huán)境配置
- 2. 安裝 ansible
- 3. 配置相關(guān)文件
- 3.1 創(chuàng)建目錄
- 3.2 準(zhǔn)備 nginx 相關(guān)文件
- 3.3 準(zhǔn)備 php 相關(guān)文件
- 3.4 準(zhǔn)備 mysql 相關(guān)文件
- 4. 啟動安裝分布式 LNMP
一、playbooks 分布式部署 LNMP
1. 環(huán)境配置
ansible服務(wù)器 192.168.145.15
nginx 服務(wù)器 192.168.145.30
mysql 服務(wù)器 192.168.145.45
php 服務(wù)器 192.168.145.60
2. 安裝 ansble
#管理端安裝 ansible
yum install -y epel-release #先安裝 epel 源
yum install -y ansible
#配置密鑰對驗證
ssh-keygen -t rsa
vim /etc/ssh/ssh_config
-----35行,取消注釋-----
StrictHostKeyChecking nosshpass -p '123' ssh-copy-id root@192.168.145.30
sshpass -p '123' ssh-copy-id root@192.168.145.45
sshpass -p '123' ssh-copy-id root@192.168.145.60
#配置主機(jī)清單
cd /etc/ansiblevim hosts
[nginx]
192.168.145.30
[mysql]
192.168.145.45
[php]
192.168.145.60
#創(chuàng)建一個目錄用來存放 playbooks 的文件
cd /etc/ansible/
mkdir playbooks
3. 安裝 nginx
3.1 準(zhǔn)備 nginx 相關(guān)文件
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
#準(zhǔn)備nginx源,進(jìn)行yum安裝
cd /opt/
mv nginx.repo /etc/ansible/playbooks/
cd /etc/ansible/playbooks/
#配置 nginx 支持 PHP 解析
cd /etc/nginx/conf.dvim default.conflocation / {root /usr/share/nginx/html;index index.php index.html index.htm;}
......location ~ \.php$ {root html;fastcgi_pass 192.168.145.60:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; # $document_root 和 root 屬性一樣include fastcgi_params;}cp default.conf /etc/ansible/playbooks/default.conf.j2
#準(zhǔn)備php文件
vim /etc/ansible/playbooks/index.php
<?php
phpinfo();
?>
#測試mysql是否能連接成功
vim /etc/ansible/playbooks/test.php
<?php
$link=mysqli_connect('192.168.145.45','root','Admin@123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
3.2 編寫 lnmp.yaml 的 nginx 部分
vim lnmp.yaml
- name: nginx playhosts: nginxremote_user: roottasks:- name: disable selinuxcommand: '/sbin/setenforce 0'ignore_errors: true- name: disable firewalldservice: name=firewalld state=stopped- name: copy nginx yum repo filecopy: src=nginx.repo dest=/etc/yum.repos.d/- name: install nginxyum: name=nginx state=latest- name: copy index.phpcopy: src=index.php dest=/usr/share/nginx/html- name: copy nginx template configuration filetemplate: src=default.conf.j2 dest=/etc/nginx/conf.d/default.conf- name: start nginxservice: name=nginx state=started enabled=yes
3.3 測試 nginx
#在ansible服務(wù)器運行
cd /etc/ansible/playbooks/
ansible-playbook lnmp.yaml --syntax-check #檢查yaml文件的語法是否正確
ansible-playbook lnmp.yaml
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-HHMJQfy8-1690849321990)(C:/Users/86138/AppData/Roaming/Typora/typora-user-images/image-20230731130407255.png)]
#在 nginx 服務(wù)器查看
systemctl status nginx
4. 安裝 mysql
4.1 準(zhǔn)備 mysql 相關(guān)文件
#安裝 mysql 5.7
cd /etc/yum.repos.d
wget -