使用Ansible安装部署nginx+php+mysql

前提:

1、已配置好hosts文件且免密码登录

2、需要的yaml文件已上传到主控端

一、使用Ansible安装nginx

1、nginx.yaml文件

 1 ---
 2 - hosts: clong
 3   remote_user: root
 4   gather_facts: no
 5   tasks:
 6     # 安装epel源
 7     - name: install epel-release repo
 8       yum: name=epel-release state=present
 9     # 安装libselinux-python
10     - name: install libselinux-python
11       yum: name=libselinux-python state=present
12     # 配置nginx最新稳定版源
13     - name: copy nginx.repo
14       copy: src=nginx.repo dest=/etc/yum.repos.d/nginx.repo
15     # 更新yum缓存
16     - name: update yum cache -1
17       command: yum clean all
18     - name: update yum cache -2
19       command: yum makecache
20     # 安装nginx
21     - name: install nginx
22       yum: name=nginx state=present
23     # 开启nginx
24     - name: start nginx
25       service: name=nginx state=started enabled=yes
26     # 复制nginx配置文件
27     - name: copy nginx conf
28       copy: src=nginx.conf dest=/etc/nginx/nginx.conf backup=yes force=yes
29     # 验证配置文件
30     - name: check nginx.conf
31       shell: /usr/sbin/nginx -t -c /etc/nginx/nginx.conf
32     # 删除默认的default.conf文件
33     - name: delete default.conf
34       file: path=/etc/nginx/conf.d/default.conf state=absent
35     # 复制www站点文件
36     - name: copy www conf
37       copy: src=www.conf dest=/etc/nginx/conf.d/www.conf backup=yes force=yes
38       notify: restart nginx
39     # 重启nginx
40   handlers:
41     - name: restart nginx
42       service: name=nginx state=restarted
43     # --syntax-check

2、nginx.conf文件

 1 user  nginx nginx;
 2 worker_processes  auto;
 3 worker_cpu_affinity auto;
 4
 5 error_log  /var/log/nginx/error.log warn;
 6 pid        /var/run/nginx.pid;
 7
 8 events {
 9     use epoll;
10     multi_accept off;
11     accept_mutex off;
12     worker_connections  65535;
13 }
14
15 http {
16     include       mime.types;
17     default_type  application/octet-stream;
18
19     log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
20                       ‘$status $body_bytes_sent "$http_referer" ‘
21                       ‘"$http_user_agent" "$http_x_forwarded_for"‘;
22
23     access_log  /var/log/nginx/access.log  main;
24
25     server_names_hash_bucket_size 128;
26     client_body_timeout 15;
27     send_timeout 15;
28     large_client_header_buffers 4 32k;
29     client_max_body_size 8m;
30     client_header_buffer_size 128k;
31     client_header_timeout 15;
32
33     charset UTF-8;
34     server_tokens off;
35
36     sendfile  on;
37     sendfile_max_chunk 512k;
38
39     tcp_nopush  on;
40     tcp_nodelay on;
41
42     keepalive_timeout  60;
43     keepalive_requests 100000;
44     reset_timedout_connection on;
45
46     fastcgi_connect_timeout 300;
47     fastcgi_send_timeout 300;
48     fastcgi_read_timeout 300;
49     fastcgi_buffer_size 64k;
50     fastcgi_buffers 4 64k;
51     fastcgi_busy_buffers_size 128k;
52     fastcgi_temp_file_write_size 128k;
53
54     gzip  on;
55     gzip_min_length  10240;
56     gzip_buffers     4 16k;
57     gzip_http_version 1.1;
58     gzip_proxied expired no-cache no-store private auth;
59     gzip_disable "MSIE [1-6].";
60     gzip_comp_level 2;
61     gzip_types   text/plain text/css text/xml text/javascript  application/json application/x-javascript application/xml application/xml+rss;
62     gzip_vary on;
63
64     open_file_cache max=102400 inactive=20s;
65     open_file_cache_valid 30s;
66     open_file_cache_min_uses 1;
67     open_file_cache_errors on;
68
69     include /etc/nginx/conf.d/*.conf;
70
71 }

3、www.conf文件

 1 server {
 2     listen       80;
 3     server_name  localhost;
 4
 5     location / {
 6         root   /usr/share/nginx/html;
 7         index  index.php index.html index.htm;
 8     }
 9
10     location ~ \.php {
11         root           /usr/share/nginx/html;
12         fastcgi_pass   127.0.0.1:9000;
13         fastcgi_index  index.php;
14         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
15         include        fastcgi_params;
16     }
17     access_log  /var/log/nginx/host.access.log  main;
18 }

4、nginx.repo文件

1 [nginx]
2 name=nginx repo
3 baseurl=http://nginx.org/packages/centos/7/$basearch/
4 gpgcheck=0
5 enabled=1
时间: 2024-10-08 01:27:32

使用Ansible安装部署nginx+php+mysql的相关文章

实战:ansible自动化部署nginx+keepalived+mysql负载均衡集群

一.目的 使用ansible自动化部署nginx+keepalived+mysql负载均衡集群. 二.拓扑规划 三.详细步骤 1.环境的搭建 (1).安装ansible,同时配置私钥免密码进行通信 [[email protected] ~]# ssh-keygen  -t rsa #-t表示使用的加密类型,其中rsa1表示version1版本,rsa.dsa.ecdsa的加密对于的是version2版本 Generating public/private rsa key pair. #这里询问你

ubuntu-12.04.2-desktop-amd64 安装整合 nginx + php + mysql + phpmyadmin + tomcat

最近需要做jsp项目,部署在ubuntu 下,周末抽时间配置了nginx + php + mysql + phpmyadmin + tomcat 环境,从windows 的C# 转过来, 多少有些不适应, 估计要走全栈的方向了. 顺便整理了一下入门的配置方法, 完全在控制台下完成. 1.1  Common Start Terminal Ctrl+Alt+T 使用root用户 sudo –sH 查看进程 linux命令ps aux|grep xxx 软连接 ln -s 源地址  目的地址 比如把l

docker 部署 nginx+php+mysql

系统:centos7 使用root账户 开放80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 安装docker yum install docker -y 安装docker-compose yum install epel-release -y yum install -y python-pip pip install -U docker-compose 部署nginx+php+mysql 开启docker systemc

ansible 发部署nginx以及更新、回滚

ansible 发部署nginx以及更新.回滚 ansible 和 saltstack 一样都是基于 Python 开发的,是比 puppet 和 saltstack 更轻量级的运维自动化工具. 一:安装ansible  开启俩台centos Master 192.168.0.6 Slave 192.168.0.8 二:编辑vim /etc/hosts 三:安装 ansible [[email protected] /]# yum install -y epel-release [[email 

第1天:Ansible安装部署

Ansible介绍 Ansible是一个简单的自动化引擎,可完成配置管理.应用部署.服务编排以及各种IT需求.它是一款使用Python语言开发实现的开源软件,其依赖Jinjia2.paramiko和PyYAML这几个python库. Ansible安装部署简单,只需要再主控端部署Ansible环境,被控端无须做任何操作,基于SSH进行配置管理.Ansible作为自动化系统运维的一大利器,在构建整个体系过程中有这举足轻重的地位.其简单易用.易于安装.功能强大.便于分享.内含大量模板等都是它的魅力所

(2)ansible 安装部署

ansible安装部署非常简单,只依赖于python和ssh,而这两个依赖默认都已经安装,我接触到的环境大部分是centos.redhat环境,也有少数ubuntu.suse这类系统,不过还是尽熟悉的来,在centos 操作系统安装ansible作为管理节点. 一.pip安装 ansbile 底层也是基于python编写,所以通过pip方式可以安装ansible步骤1:安装python-pip及pythondevel程序包shell> yum install python-pip python-

基于ansible自动化部署nginx+mysl+php分离来实现lnmp

实验说明: 服务角色 IP 系统 需安装 主控机 192.168.24.128 centos7 ansible A受控机 192.168.24.130 centos7 nginx B受控机 192.168.24.131 centos7 mysql C受控机 192.168.24.132 centos7 php-fpm 实验需求: 在主控机上使用自动化运维工具ansible在A受控机上安装nginx,在B受控机上安装mysql,在C受控机上安装php-fpm,实现lnmp构架 实验步骤 在主控机上

Ansible安装部署及常用模块详解

Ansible命令使用 Ansible语法使用ansible <pattern_goes_here> -m <module_name> -a <arguments> -m NAME,–module-name=NAME:指定执行使用的模块 -u USERNAME,–user=USERNAME:指定远程主机以USERNAME运行命令 -s,–sudo:相当于Linux系统下的sudo命令 -USUDO_USERNAME,–sudo-user=SUDO_USERNAME:使用

openstack 之 使用ansible安装部署试验

前期一直使用Mirantis公司的fuel工具进行安装部署openstack,但是在实际使用当中,发现fuel对于定制化的需求还是做得不够好,如果中间部署出错,你找不出原因,同时如果资源紧张,需要同时在一个物理节点上同时部署多个组件,fuel的支持不是很好.我在试验环境下测试了controller和cinder复用一台物理主机,controller与ironic复用,都失败了,而且鉴于查找解决办法,还需要深入了解fuel本身的结构,因此后面发现只有简单环境下使用fuel是顺利的,稍微灵活一点的部