ansible安装wordpress

1.回顾

yum安装wordpress

查看别名
[root@localhost ~]# type ll
ll 是 `ls -l --color=auto' 的别名

设置别名
alias

yum install -y 

alias ym='yum install -y'

# 使用别名
ym nginx

# 取消别名
unalias ym


# 基于LNMP做一个wordpress

nginx
mysql 5.7
PHP 7.4+

#1、初始化过程
修改主机名
hostnamectl set-hostname $name

关闭防火墙及selinux
systemctl stop firewalld 
systemctl disable firewalld
setenforce 0

配置本地yum源
curl -o yum-server.sh http://10.36.178.78/yum-server.sh

sh yum-server.sh

安装工具
yum install -y vim wget unzip

#2、安装Nginx服务
yum install -y nginx

启动nginx服务
systemctl start nginx

#3、安装数据库
yum install -y mysql-server

启动数据库
systemctl start mysqld

获取数据库初始化密码
grep "password" /var/log/mysqld.log

修改数据库密码
mysqladmin -uroot -p'$获取的初始化密码' password '$new_password'

创建数据库:wordpress
mysql -uroot -p'$new_password' -e 'create database wordpress'

#4、安装php
yum install php80-php-xsl php80-php php80-php-cli php80-php-devel php80-php-gd php80-php-pdo php80-php-mysql php80-php-fpm -y

启动php
systemctl start php80-php-fpm

#5、修改nginx配置文件
/etc/nginx/nginx.conf

#6、重启nginx
systemctl restart nginx

#7、上传wordpress包到服务器

#8、解压上传的wordpress压缩包
unzip wordpress-6.5.2-zh_CN.zip

#9、清理nginx网站发布目录下的所有资源
rm -rf /usr/share/nginx/html/*

#10、拷贝wordpree目录中的所有资源到/usr/share/nginx/html/
cp wordpress/* /usr/share/nginx/html/

#11、修改html目录权限
chmod -R 777 /usr/share/nginx/html/

#12、浏览器访问服务器ip,在浏览器中进行部署

2.ansible安装wordpress

剧本分析

image-20240612204736404

代码麻一麻

---
- name: Doply wordpress
  remote_user: root
  gather_facts: no
  hosts: databases,webserver
  vars:
    MYSQL_DB_NAME: wordpress
    MYSQL_USER: wordpress
    MYSQL_PASSWORD: "Qwertyuiop@123"
    MYSQL_HOST: "%"
    NGINX_PORT: 80
    BASE_DIR: /usr/share/nginx/
    PACKAGE: php80-php-xsl,php80-php,php80-php-cli,php80-php-devel,php80-php-gd,php80-php-pdo,php80-php-mysql,php80-php-fpm,nginx
  tasks:
  - name: Install MySQL
    yum:
      name:  mysql-server
      state: present
    when: inventory_hostname in groups.databases
  
  - name: Start and enable MySQL
    service: 
      name: mysqld
      state: started
      enabled: yes
    when: inventory_hostname in groups.databases
  
  - name: INIT MySQL passwd  
    shell: mysqladmin -p"`awk '/temporary password /{print $NF}' /var/log/mysqld.log`" password "Qq111111."
    when: inventory_hostname in groups.databases
    
  - name: Create MySQL database
    shell: mysql -p'Qq111111.' -e "CREATE DATABASE if not exists {{ MYSQL_DB_NAME }};create user '{{ MYSQL_USER }}'@'{{ MYSQL_HOST }}' identified by '{{ MYSQL_PASSWORD }}';grant all privileges on {{ MYSQL_DB_NAME }}.* to '{{ MYSQL_USER }}'@'{{ MYSQL_HOST }}';flush privileges;"
    tags: create
    when: inventory_hostname in groups.databases
    #- name: Install PHP packages and epel-release
    ##yum: name={{ item }} state=present disable_gpg_check=yes
    ##with_items:
    ##- epel-release
    ##- http://rpms.remirepo.net/enterprise/remi-release-9.rpm
    ##when: name == "web"
  - name: Install PHP and nginx
    yum:
      name: "{{ PACKAGE }}"
      state: present
    when: inventory_hostname in groups.webserver

  - name: Config Nginx
    template: 
      src: ./nginx.conf 
      dest: /etc/nginx/nginx.conf
    when: inventory_hostname in groups.webserver
  
  - name: Start php and nginx
    service:
      name: "{{ item }}"
      state: started
      enabled: yes
    with_items:
      - nginx
      - php80-php-fpm
    when: inventory_hostname in groups.webserver
    tags: startnp

  
  - name: Config PHP
    file:
      path: /var/opt/remi/php80/run/php-fpm/www.sock
      mode: "777"
    tags: cfp 
    when: inventory_hostname in groups.webserver
#  - name: Restart php nginx
#    service:
#      name: "{{ item }}"
#      state: restarted
#    with_items:
#      - nginx
#      - php80-php-fpm
#    tags: rnp
#    when: inventory_hostname in groups.webserver
#
  - name: Cp Wordpress to web
    unarchive: 
      src: /opt/latest-zh_CN.zip
      dest: "{{ BASE_DIR }}"
      mode: "777"
    when: inventory_hostname in groups.webserver
    tags: cpwp

准备nginx配置文件

    server {
        listen       {{ NGINX_PORT | default(80) }};
        listen       [::]:{{ NGINX_PORT | default(80) }};
        server_name  _;
        root    {{ BASE_DIR }}/wordpress;   # /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
# server里面需要添加的内容
        location / {
            root   {{ BASE_DIR }}/wordpress;
            index index.php;
        }
        location ~ \.php$ {
        			# /usr/share/nginx/html; 指定网站目录
            root     {{ BASE_DIR }}/wordpress;
            	·	      # 指定访问地址(旧版为:127.0.0.1:9000)
            fastcgi_pass  unix:///var/opt/remi/php80/run/php-fpm/www.sock; 
            			  # 指定默认访问的文件
            fastcgi_index  index.php;
            							# 站点根目录,取决于root配置项
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
            include        fastcgi_params;  #包含nginx常量定义
                }
        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }

小问题

mysql80为root用户和普通用户设置密码,必须是强密码,关闭密码强度策略后才能设置弱密码。

image-20240612203627628

unarchive模块:解压文件并复制到指定目录,要求被控主机上安装相应的解压工具

365589bea38f7150efa4b188bc7fddf

wordpress点点点安装

image-20240612204005705

image-20240612204033185

image-20240612204212189

image-20240612204319076

image-20240612204340418

image-20240612204406702

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/708476.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mathematical-expression-cpp | C++ 数学表达式解析库

数学表达式-cpp Switch to English Document 介绍 本框架是一种针对数学公式解析的有效工具,能够通过C的API解析包含嵌套函数,包含函数,数列步长累加等数学公式,返回值是一个数值的结果对象,同时也可以进行比较运算…

Python学习从0开始——Kaggle深度学习002

Python学习从0开始——Kaggle深度学习002 一、单个神经元1.深度学习2.线性单元示例 - 线性单元作为模型多个输入 3.Keras中的线性单元 二、深度神经网络1.层多种类型的层 2.激活函数3.堆叠密集层4.构建Sequential模型 三、随机梯度下降1.介绍2.损失函数3.梯度下降法1.梯度下降法…

只登录不发微博ip地址会变吗?探索其中的奥秘

在数字化时代,网络IP地址如同我们的数字身份证,记录着我们在网络世界中的每一次活动。对于微博这一社交平台的用户而言,IP地址的变动或许是他们未曾注意过的细节。那么,当用户仅登录微博而不发微博时,其IP地址是否会发…

仰望U8三大黑科技,重新定义智能汽车

文 | 智能相对论 作者 | 雷歌 是时候重新定义中国的“智能汽车”了。 在仰望U8出来以前,普通人对知道的智能汽车的配置认识,智能汽车是智能驾驶智能座舱,硬件上大概是这几样:毫米波雷达激光雷达智驾芯片。 仰望U8出来以后&…

Spring Boot集成 Spring Retry 实现容错重试机制并附源码

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

LDO重要参数 – 芯片热阻

原文出自微信公众号【小小的电子之路】 最近画了一块电路板,板子上的芯片采用LDO供电,测试过程中发现LDO发热极其严重,最终不得不重新画板,加入散热设计。提到芯片发热,不得不说的一个参数就是芯片热阻,LDO…

PyTorch -- Visdom 快速实践

安装:pip install visdom 注:如果安装后启动报错可能是 visdom 版本选择问题 启动:python -m visdom.server 之后打开出现的链接 http://localhost:8097Checking for scripts. Its Alive! INFO:root:Application Started INFO:root:Working…

安装前端依赖node-sass报错

文章目录 问题1:node-sass报错问题2:node-gyp报错问题3:node-sass再次报错问题4:node-sass三次报错 问题1:node-sass报错 问题描述:经常会碰到一个新的项目安装依赖时,会报node-sass版本的问题…

寄件管理系统操作教程

步入信息化时代,企业之间的经济活动开始向线上转移,对公邮寄的管理问题,也开始进入管理者的视线内。为什么这么说呢? 很简单,早前想要谈妥一单生意,需要会面拜访等等线下活动,随着互联网的发展&…

你好,Jetpack Compose

文章目录 为什么选 Jetpack Compose先决条件新建项目新建虚拟设备运行项目 为什么选 Jetpack Compose Jetpack Compose 是 Android 开发最新的、现代化的 UI 框架开发者几乎只需要使用 Kotlin 一门语言即可完成 App 开发(Java 是基础,有些源码是 Java 写…

无线MODBUS通讯模块在供水系统中的应用

一、项目背景 我国是人口大国、农业大国,同时也是贫水大国。由于大量工业废水污染了部分河流、地表的浅层水资源,并且有逐年加重的趋势,再加上农业、绿化等灌溉对水资源的大量消耗,这些因素综合作用进一步加剧了我国水资源紧缺的…

Seate分布式锁

XA模式 在第一阶段资源协调者(TC)会向资源管理者(RM)发出一个准备的请求,RM开始处理自身的业务,处理完成后不提交事务,而是向TC响应一个执行结果,表明自己成功还是失败,如…

解析Facebook对当代文化传播的影响力

Facebook作为全球最大的社交媒体平台之一,承载着巨大的文化传播功能,对当代文化产生了深远的影响。从社会交流、价值观念到艺术创作和政治动态,Facebook已经成为了人们获取信息、表达观点和交流想法的重要平台。本文将深入解析Facebook对当代…

watcher学习小结

架构 主要是watcher-api,watcher-applier,watcher-decision-engine watcher-applier watcher-decision-engine 将DecisionEngineManager和DecisionEngineSchedulingService封装到oslo_service,然后调service的launch_service,实…

Unity接入PS5手柄和Xbox手柄以及Android平台的(以及不同平台分析)

Unity接入PS5手柄和Xbox手柄以及Android平台的(以及不同平台分析) 介绍Unity手柄小知识PC端和编辑器上的摇杆事件和滑动事件PS5手柄Xbox手柄北通手柄 安卓环境下(安卓手机或者安卓模拟器)PS5手柄Xbox手柄北通手柄 总结 介绍 最近…

最好用的邮箱管理软件推荐,邮箱管理软件哪个好?(干货篇)

在快节奏的工作与生活中,有效管理电子邮件成为提升个人与团队效率的关键。 面对海量信息流,一款好的邮箱管理软件不仅能够帮助我们高效地整理收件箱,还能确保重要邮件不会错过,同时提升通讯的便捷性和安全性。 本文将为您推荐几款…

【Java】解决Java报错:FileNotFoundException

文章目录 引言1. 错误详解2. 常见的出错场景2.1 文件路径错误2.2 文件名拼写错误2.3 文件权限问题2.4 文件路径未正确拼接 3. 解决方案3.1 检查文件路径3.2 使用相对路径和类路径3.3 检查文件权限3.4 使用文件选择器 4. 预防措施4.1 使用配置文件4.2 使用日志记录4.3 使用单元测…

浅谈TARA在汽车网络安全中的关键角色

随着现代汽车技术的迅猛发展,网络安全成为汽车行业一个不可忽视的领域。为了应对日益复杂的网络威胁,ISO/SAE 21434标准和UN R155法规提供了系统化的网络安全管理框架。其中,TARA(威胁分析与风险评估)作为核心方法论&a…

UE5-不同材质上脚步声

主要是用物理材质给不同的材质加一个标签 创建材质 首先去设置里面创建几个地形材质名称,我这里创建了Grass,Rock,Wood,Water (就是名字而已) 然后创建物理材质(物理材质可以添加到现有的普通…

使用ZIP包安装MySQL及配置教程

在本教程中,我们将指导您完成使用ZIP包安装MySQL的过程,并对配置文件进行必要的修改,以及解决可能遇到的问题。本示例以MySQL 5.7.44为例,但步骤同样适用于其他版本如MySQL 8.3.0等。请根据实际需要选择适合的版本下载&#xff1a…