商业网站的建设与制作,优化网站图片,商标图案设计自动生成,如何利用wordpress卖产品LNMP 一、playbooks 分布式部署 LNMP1. 环境配置2. 安装 ansble3. 安装 nginx3.1 准备 nginx 相关文件3.2 编写 lnmp.yaml 的 nginx 部分3.3 测试 nginx4. 安装 mysql4.1 准备 mysql 相关文件4.2 编写 lnmp.yaml 的 mysql 部分4.3 测试 mysql5. 安装 php5.1 编写 lnmp.yaml 的 … LNMP 一、playbooks 分布式部署 LNMP1. 环境配置2. 安装 ansble3. 安装 nginx3.1 准备 nginx 相关文件3.2 编写 lnmp.yaml 的 nginx 部分3.3 测试 nginx 4. 安装 mysql4.1 准备 mysql 相关文件4.2 编写 lnmp.yaml 的 mysql 部分4.3 测试 mysql 5. 安装 php5.1 编写 lnmp.yaml 的 php 部分5.2 测试 php 二、playbooks 集中式部署 LNMP1. 环境配置2. 安装 ansible3. 准备配置文件3.1 nginx3.2 mysql 4. 编写 lnmp.yaml 文件5. 测试并用浏览器访问 三、role 模块部署 LNMP1. 环境配置2. 安装 ansible3. 配置相关文件3.1 创建目录3.2 准备 nginx 相关文件3.3 准备 php 相关文件3.4 准备 mysql 相关文件 4. 启动安装分布式 LNMP 一、playbooks 分布式部署 LNMP
1. 环境配置
ansible服务器 192.168.145.15
nginx 服务器 192.168.145.30
mysql 服务器 192.168.145.45
php 服务器 192.168.145.602. 安装 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#配置主机清单
cd /etc/ansiblevim hosts
[nginx]
192.168.145.30
[mysql]
192.168.145.45
[php]
192.168.145.60#创建一个目录用来存放 playbooks 的文件
cd /etc/ansible/
mkdir playbooks3. 安装 nginx
3.1 准备 nginx 相关文件
[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#准备nginx源,进行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#准备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 "h1Success!!/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=yes3.3 测试 nginx
#在ansible服务器运行
cd /etc/ansible/playbooks/
ansible-playbook lnmp.yaml --syntax-check #检查yaml文件的语法是否正确
ansible-playbook lnmp.yaml[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HHMJQfy8-1690849321990)(C:/Users/86138/AppData/Roaming/Typora/typora-user-images/image-20230731130407255.png)]
#在 nginx 服务器查看
systemctl status nginx4. 安装 mysql
4.1 准备 mysql 相关文件
#安装 mysql 5.7
cd /etc/yum.repos.d
wget -