ansible安装wordpress

news2025/7/12 8:31:52

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云原生化有什么特点?

云原生化,作为一种先进的构建和管理应用程序的方式,不仅代表着技术的革新,更是云计算时代下的必然产物。其核心目标在于充分发掘并发挥云计算平台的各项优势,使应用程序在性能、弹性、可靠性和安全性等方面达到前所未有的高度。 它…

LeetCode | 171.Excel表列序号

这道题涉及到字符串和进制转换,首先我们先创建一个A-Z到1-26的map映射,方便我们后续遍历字符串转换,然后对字符串从后往前遍历,依次加上对应权重,注意越往前的权重越大,要记得对应乘上26的对应方数 class …

​带三维重建和还原的PACS源码 医院PACS系统源码 PACS系统源码医院PACS系统源码 C/S架构 带三维重建和还原​

带三维重建和还原的PACS源码 医院PACS系统源码 PACS系统源码医院PACS系统源码 C/S架构 带三维重建和还原 ​ 主要的任务就是把日常产生的各种医学影像(包括核磁,CT,超声,各种X光机,各种红外仪、显微仪等设备产生的图…

【数组】【快慢双指针】删除有序数组中的重复项+移除元素+删除有序数组中的重复项II

今天趁热打铁&#xff0c;接着刷了几道标签是【数组】的题&#xff0c;基本都是双指针就能解决。 1、删除有序数组中的重复项 该题对应力扣网址 class Solution { public:int removeDuplicates(vector<int>& nums) {int i,j;int count 0;int n nums.size();nums.…

智慧消防新篇章:可视化数据分析平台引领未来

一、什么是智慧消防可视化数据分析平台&#xff1f; 智慧消防可视化数据分析平台&#xff0c;运用大数据、云计算、物联网等先进技术&#xff0c;将消防信息以直观、易懂的图形化方式展示出来。它不仅能够实时监控消防设备的运行状态&#xff0c;还能对火灾风险进行预测和评估…

手把手教你部署并使用国产开源大模型ChatGLM3-6B

前言 部署一个自己的大模型&#xff0c;没事的时候玩两下&#xff0c;这可能是很多技术同学想做但又迟迟没下手的事情&#xff0c;没下手的原因很可能是成本太高&#xff0c;近万元的RTX3090显卡&#xff0c;想想都肉疼&#xff0c;又或者官方的部署说明过于简单&#xff0c;安…

php遇到的问题

1、 underfined at line 3 in xxx.php , 错误提示&#xff0c;注释这行代码 // error_reporting(DEBUG ? E_ALL : 0); 目录&#xff1a;config/config.php

【第四篇】SpringSecurity的HttpSecurity详解

SpringSecurity的XML文件配置 在配置文件中通过 security:http 等标签来定义了认证需要的相关信息 SpringSecurity的HttpSecurity配置 在SpringBoot项目中,脱离了xml配置文件的方式,在SpringSecurity中提供了HttpSecurity等工具类,这里HttpSecurity就等同于在配置文件中定…

LLM大模型的挑战与未来,挑战大但是机遇更大!

大模型必然是未来很长一段时间我们工作生活的一部分&#xff0c;而对于这样一个与我们生活高度同频互动的“大家伙”&#xff0c;除了性能、效率、成本等问题外&#xff0c;大规模语言模型的安全问题几乎是大模型所面对的所有挑战之中的重中之重&#xff0c;机器幻觉是大模型目…

【Numpy】一文向您详细介绍 np.sqrt()

【Numpy】一文向您详细介绍 np.sqrt() 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通本硕&#xff0c;曾…

H5单点登录分析介绍(登录状态检验状态透传分析)

文章目录 1、单点登录解决方案1.1、后端保存登录状态1.2、token模式 2、user服务-登录接口2.1、UserController2.2、UserInfoServiceImpl2.3、载荷2.4、响应2.5、Redis Desktop Manager 3、user服务-登录成功获取用户信息回显3.1、UserController3.2、UserInfoServiceImpl3.3、…

FlashDB的TS数据库的标准ANSI C移植验证

本文目录 1、引言2、环境准备3、修改驱动4、验证 文章对应视频教程&#xff1a; 暂无&#xff0c;可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在当今数据驱动的时代&#xff0c;高效可靠的数据存储与管理对于嵌入式系统及物联网(IoT)应用至关重…

DSP教学实验箱_数字图像处理_操作教程:5-1 图像旋转

一、实验目的 学习图像旋转的原理&#xff0c;掌握图像的读取方法&#xff0c;并实现图像旋转。 二、实验原理 图像旋转 图像的旋转是指以图像的某一点为原点以逆时针或顺时针旋转一定的角度。其本质是以图像的中心为原点&#xff0c;将图像上的所有像素都旋转一个相同的角…

Axure中继器交互效果

部件库预览链接&#xff1a; https://ezd11a.axshare.com&#xff08;请与班主任联系获取原型文档&#xff09; 支持版本: Axrure RP 8 文件大小: 109KB 文档内容介绍 “翻页”效果 “排序”效果 “全反选”效果 “筛选”效果 “删除”效果 免费领取资料 添加班主任回复 “…

ctfshow-web入门-命令执行(web43-web52)关于黑洞“ >/dev/null 2>1“的处理与绕过

目录 1、web43 2、web44 3、web45 4、web46 5、web47 6、web48 7、web49 8、web50 9、web51 10、web52 1、web43 在上一题 ‘黑洞’ 的基础上新增过滤&#xff1a; preg_match("/\;|cat/i", $c) 问题不大&#xff0c;我们不用分号和 cat 就行&#xff1a;…

Postman接口测试工具详解(高清图例)

一、引言 1. 介绍接口测试的重要性 在当今软件开发领域&#xff0c;接口&#xff08;API&#xff09;已成为不同系统、服务或组件之间交互的桥梁。随着微服务架构的普及&#xff0c;接口的重要性日益凸显。然而&#xff0c;接口的复杂性和多样性也带来了诸多挑战&#xff0c;其…

数据结构笔记补充问题

1、假设线性表L采用单链表存储结构&#xff0c;设计一个算法&#xff0c;在L的数据元素最大值之前插入&#xff08;假设L的各个数据元素值不同&#xff09;数据元素x。 基本思想&#xff0c;先查找到最大元素对应的结点&#xff0c;再在之前插入x对应的结点&#xff1b; 设计算…

我的创作纪念日(1825天)

Ⅰ、机缘 1. 记得是大一、大二的时候就听学校的大牛说&#xff0c;可以通过写 CSDN 博客&#xff0c;来提升自己的代码和逻辑能力&#xff0c;虽然即将到了写作的第六个年头&#xff0c;但感觉这句话依旧受用; 2、今年一整年的创作都没有停止&#xff0c;本年度几乎是每周都来…

DTU为何应用如此广泛?

1.DTU是什么 DTU(数据传输单元)是一种无线终端设备&#xff0c;它的核心功能是将串口数据转换为IP数据或将IP数据转换为串口数据&#xff0c;并通过无线通信网络进行传送。DTU通常内置GPRS模块&#xff0c;能够实现远程数据的实时传输&#xff0c;广泛应用于工业自动化、远程监…

抓包工具 Wireshark 的下载、安装、使用、快捷键

目录 一、什么是Wireshark&#xff1f;二、Wireshark下载三、Wireshark安装四、Wireshark使用4.1 基本使用4.2 过滤设置1&#xff09;捕获过滤器2&#xff09;显示过滤器 4.3 过滤规则1&#xff09;捕获过滤器-规则语法2&#xff09;显示过滤器-规则语法 4.4 常用的显示过滤器规…