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. springmvc流程图以及配置

    springmvc:是完成数据的封装和跳转的功能 流程图如下: springmvc的配置流程 1.导入jar包 二.配置servlet文件 init-param的作用是在启动servlet启动时规定其 ...

  2. 解决Code First MySql数据库 Specified key was too long; max key length is 767 bytes异常

    需要给DbContext加上如下特性: [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))] public cla ...

  3. English--不完全及物动词与授予动词

    English|不完全及物动词与授予动词 动词在整个语法中都是占据着十分重要的角色.在五大句型中将动词分为五种:系动词.不及物动词.及物动词.不完全及物动词.授予动词.这篇主讲不完全及物动词和授予动词 ...

  4. Vue学习之过滤器和自定义指令小结(三)

    过滤器: 过滤是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰.过滤器就是过滤用的工具.渲染数据用的!!! 我们需要知道的是: 1.Vue中的过滤器不能 ...

  5. Spring Boot加载application.properties配置文件顺序规则

    SpringApplication会从以下路径加载所有的application.properties文件: 1.file:./config/(当前目录下的config文件夹) 2.file:./(当前 ...

  6. MySQL Transaction--使用SHOW INNODB STATUS 查看未提交事务

    当MySQL服务器出现性能问题时,应该优先排查未提交事务,除可以查询相关系统表外,还可以观察SHOW INNODB STATUS的输出结果来确认未提交事务. 首先查看InnoDB事务的History ...

  7. unittest管理用例生成测试报告

    #登录方法的封装 from appium import webdriver from time import sleep from python_selenium.Slide import swipe ...

  8. go build -tags 的使用

    go build 使用tag来实现编译不同的文件 go-tooling-workshop 中关于go build的讲解可以了解到go bulid的一些用法,这篇文章最后要求实现一个根据go bulid ...

  9. kubelet 预留system、kube资源

    kubelet 预留system.kube资源 Kubernetes 的节点可以按照 Capacity 调度.默认情况下 pod 能够使用节点全部可用容量.这是个问题,因为节点自己通常运行了不少驱动 ...

  10. java 的任意进制间转换(很方便)

    import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = n ...