1、首先准备3台机器

ansible机器:192.168.52.34

目标主机:192.168.52.35

目标主机:192.168.52.36

2、关闭防火墙

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce

3、配置免密登录

4、安装ansible

yum -y install ansible

5、在ansible的配置文件中添加目标主机

vim /etc/ansible/hosts

## [webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110
[lnmp]
192.168.52.35
192.168.52.36
# If you have multiple hosts following a pattern you can specify
# them like this: ## www[:].example.com

6、检查ansible与目标主机是否连通

7、上传nginx

[root@localhost ~]# rz

[root@localhost ~]# ls
anaconda-ks.cfg lnmp.yml nginx-1.16..tar.gz original-ks.cfg

8、解压nginx

tar -zxvf nginx-1.16..tar.gz 

9、配置nginx文件

[root@localhost nginx-1.16.]# cd conf/
[root@localhost conf]# vim nginx.conf server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.php index.html index.htm;
} location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

9、将nginx配置文件拷贝到/root下

[root@localhost conf]# cp nginx.conf /root

10、删除nginx解压包

[root@localhost ~]# rm -rf nginx-1.16.

11、上传电商包

[root@localhost ~]# rz

[root@localhost ~]# ls
anaconda-ks.cfg lnmp.yml nginx-1.16..tar.gz nginx.conf original-ks.cfg tinyshopV2.5_data.zip

12、编写lnmp,yml

[root@localhost ~]# vim lnmp.yml

---
- hosts: lnmp
tasks:
- name: 关闭防火墙
shell: systemctl stop firewalld
- name: 关闭selinux
shell: setenforce
- name: 安装相关依赖
yum: name=zlib-devel,pcre-devel,gcc,gcc-c++,php,php-mysql,php-gd,php-fpm state=latest
- name: 推送nginx安装包
unarchive: src=nginx-1.16..tar.gz dest=/root
- name: 安装nginx
shell: cd /root/nginx-1.16. && ./configure && make && make install
- name: 启动nginx
shell: netstat -ntlp | grep nginx || /usr/local/nginx/sbin/nginx
- name: 推送ningx的配置文件
template: src=nginx.conf dest=/usr/local/nginx/conf/nginx.conf
tags: config-nginx
notify: restart-nginx
- name: 启动php-fpm
shell: systemctl start php-fpm
- name: 安装mysql
yum: name=mariadb,mariadb-server state=latest
- name: 启动mysql
shell: systemctl start mariadb
- name: 删除数据库如果存在
shell: mysql -e "drop database if exists ds;"
- name: 创建数据库
shell: mysql -e "create database ds charset=utf8;"
- name: 给用户授权
shell: mysql -e "grant all on *.* to 'tom'@'%' identified by '123';"
- name: 刷新权限
shell: mysql -e "flush privileges;"
- name: 推送电商的安装包并给予权限
unarchive: src=tinyshopV2.5_data.zip dest=/usr/local/nginx/html/ mode= handlers:
- name: restart-nginx
shell: /usr/local/nginx/sbin/nginx -s reload

13、检查lnmp.yml

[root@localhost ~]# ansible-playbook --syntax-check lnmp.yml 

14、执行文件

[root@localhost ~]# ansible-playbook lnmp.yml 

15、完成

Ansible自动部署lnmp架构+上线电商的更多相关文章

  1. Java生鲜电商平台-如何使用微服务来架构生鲜电商B2B2C平台?

    Java生鲜电商平台-如何使用微服务来架构生鲜电商B2B2C平台? 说明:随着互联网的日益普及,人们通过手机下单买菜的人越来越多,生鲜这个行业有两个显著的特点,一个是刚需.(你每天都要吃饭,都要吃菜) ...

  2. nginx详解反向代理、负载均衡、LNMP架构上线动态网站(week4_day1_part1)-技术流ken

    nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理 ...

  3. nginx详解反向代理,负载均衡,LNMP架构上线动态网站

    1.nginx介绍 nginx.org Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/ ...

  4. 部署LNMP架构及其应用

    部署企业LNMP架构 (一)首先安装nginx服务,具体请见另一篇关于nginx的博文. (二)安装MySQL数据库 .安装前准备 [root@localhost ~]# rpm -e mysql-s ...

  5. 基于docker的gitlab+gitlabrunner+ansible自动部署

    系统架构图 网络架构 一.安装docker,确保hostname没有问题 ,查看/etc/hostname./etc/hosts. https://docs.docker.com/engine/ins ...

  6. 微服务架构开发电商系统需要用Redis、ES和MQ吗?

    如果不用什么很高大上的东西,就是有多个微服务就行这种技术架构会很难吗? 我看了一些视频,他们都用到了es.mq.redis的东西,我想不用这些东西,就简单的有多个服务,这样可行吗? 01 使用微服务你 ...

  7. ansible自动部署Keepalived实现Nginx服务双机热备

    脚本实现通过ansible-playbook自动化安装Keepalived和配置,主要解决问题如下: Keepalived自动化安装: keepalived_vrid配置,自动根据vip获取最后一段作 ...

  8. 部署LNMP架构Blog博客平台 ---惟净

    部署环境:VM虚拟机 操作系统:CentOS-6.8-x64 IP地址:192.168.31.91Mysql数据库版本:5.6.34 Cmake软件包版本:3.5.2Nginx软件包版本:1.10.2 ...

  9. Ansible自动部署tomcat

    1.首先准备3台机器 ansible机器:192.168.52.34 目标主机:192.168.52.35 目标主机:192.168.52.36 2.关闭防火墙 [root@localhost ~]# ...

随机推荐

  1. Intellij IDEA 中的 Debug 控制台输出窗口不见了的解决办法

    在 Debug 工具窗口,如图点击左侧重置布局图标,你的console窗口就还原了.

  2. 一个萝卜一个坑#我的C坑_两局变量

    前面的笔记慢慢补 全局变量和局部变量的区别: 1.首字母 尽量不用全局变量原因: 1.占内存 2.降低通用性和可靠性 3.降清晰度 若在同一源文件中,全局变量和局部变量同名,记住很重要的一条:实参决定 ...

  3. sql中筛选第一条记录【分组排序】

    问题描述 我们现在有一张表titles,共有4个字段,分别是emp_no(员工编号),title(职位),from_date(起始时间),to_date(结束时间),记录的是员工在某个时间段内职位名称 ...

  4. NOI2019网络同步赛游记

    我发的邮件**f没收到,后来去专门询问才整到一个名额(估计是嫌我太菜,参加了也是垫底) day -1 上午写了到类似随机游走的高斯消元期望dp,然后颓颓颓 下午打洛咕月赛.T1一直50pts,后来才知 ...

  5. 网络编程中用到的SOCKET是什么?

    摘取网络上的一些内容: 什么是TCP/IP.UDP? Socket在哪里呢? Socket是什么呢? 什么是TCP/IP.UDP? TCP/IP(Transmission Control Protoc ...

  6. YAML语言简明教程

    编程免不了要写配置文件,如果你还在用xml/ini/json,就有点过时了,怎么写配置也是一门学问. YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便. 本文介绍 YAM ...

  7. 在浏览器中输入 url 地址到显示主页的过程

    总体来说分为以下几个过程:1. DNS 解析2. TCP 连接3. 发送 HTTP 请求4. 服务器处理请求并返回 HTTP 报文5. 浏览器解析渲染页面6. 连接结束

  8. CSS 初识

    一.CSS 发展历程 从HTML被发明开始,样式就以各种形式存在.不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制.最初的HTML只包含很少的显示属性. 随着HTML的成长,为了满足页面设计 ...

  9. ThinkPHP5中如何实现模板完全静态化

    模板完全静态化,也就是通过模板完全生成纯静态的网页,相比动态页面和伪静态页面更安全更利于SEO访问更快.相比前二者各有利弊吧,现在稍微对这三种形式的优缺点对比一下,以及在ThinkPHP5项目中实现完 ...

  10. Linux装B命令

    原文:https://mp.weixin.qq.com/s/CNmMRjl0iZ8EBPq5VgJHsA 1.空心字体 yum install -y figlet figlet happy 1.0 2 ...