当前位置: 首页 > news >正文

seo网站托管六安人

seo网站托管,六安人,wordpress免费开放版,抚顺网站开发招聘目录 一、理论 1.playbook剧本 2.ROLES角色 3.关系 4.Roles模块搭建LNMP架构 二、实验 1.Roles模块搭建LNMP架构 三、问题 1.剧本启动php报错语法问题 2.剧本启动mysql报错语法问题 3.剧本启动nginx开启失败 4.剧本安装php失败 5.使用yum时报错 6.rpm -Uvh https… 目录 一、理论 1.playbook剧本 2.ROLES角色 3.关系 4.Roles模块搭建LNMP架构 二、实验 1.Roles模块搭建LNMP架构 三、问题 1.剧本启动php报错语法问题 2.剧本启动mysql报错语法问题 3.剧本启动nginx开启失败 4.剧本安装php失败 5.使用yum时报错 6.rpm -Uvh https://xxxx.rpm 提示连接失败问题 7.依赖检测失败 8.剧本修改php失败 9.剧本启动php失败 10.剧本修改mysql脚本文件失败 一、理论 1.playbook剧本 1架构 vim XXX.yaml - name: #指定play名称hosts: #指定主机组remote_user: #执行用户 gather_facts: true|false #是否收集远程主机facts信息vars: #定义变量tasks: #定义task任务列表- name: #定义task任务名称模块: #定义任务使用的模块和参数with_items: #定义循环列表when: #定义判断条件 ! true则执行任务否则不执行任务ignore_errors: true #忽略任务失败notify: #定义task任务changed状态时触发的任务名tags: #指定标签ansible-playbook --tags 仅执行拥有指定 tags 标签的任务always标签总会执行handlers: #定义notify触发的任务列表2核心元素 3参数 2.ROLES角色 1重构思路 用roles和不用roles的逻辑其实是一样的要根据服务器的功能先收集服务器所需要的文件再进行安装传输文件启动服务或重启服务等操作。只是我们这次不必担心命名问题因为不同的服务或不同功能的服务器所需要的配置文件会被放到不同的目录不会冲突。 roles这个角色可以根据同类服务器的功能定义也可以通过服务去定义因为我们是一键部署所有服务和项目也不存在指定部署服务的需求如果通过服务来定义也容易出现需要很多when判断的情况如果用同类功能的服务器定义角色可能会出现同一条命令需要反复编写的情况自行选择我采取根据同类功能服务器去定义我们的roles角色。 2目录结构 3目录说明 3.关系 playbook是是由一系列的play组成 每个play由一个或者多个task组成 一个task一般是一个ansible module 三者的关系示意图如下 4.Roles模块搭建LNMP架构 1规划 通过ansible的roles角色去配置lnmp环境nginx、php、mysql都使用源码编译安装 2架构 3部署Nginx角色 创建nginx角色所需要的工作目录: mkdir -p /etc/ansible/playbook/roles/nginx mkdir -p /etc/ansible/playbook/roles/nginx/defaults mkdir -p /etc/ansible/playbook/roles/nginx/files mkdir -p /etc/ansible/playbook/roles/nginx/handlers mkdir -p /etc/ansible/playbook/roles/nginx/meta mkdir -p /etc/ansible/playbook/roles/nginx/tasks mkdir -p /etc/ansible/playbook/roles/nginx/templates mkdir -p /etc/ansible/playbook/roles/nginx/vars制作/etc/ansible/playbook/roles/nginx/files/index.php网页目录: vim /etc/ansible/playbook/roles/nginx/files/index.php?php phpinfo(); ?制作/etc/ansible/playbook/roles/nginx/files/nginx.repo源: vim /etc/ansible/playbook/roles/nginx/files/nginx.repo # nginx.repo[nginx] namenginx repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestrue制作/etc/ansible/playbook/roles/nginx/handlers/main.yml文件加载nginx的配置模板文件: vim /etc/ansible/playbook/roles/nginx/handlers/main.yml - name: reload nginxservice: name{{service}} statereloaded 制作/etc/ansible/playbook/roles/nginx/tasks/init.yml文件: vim /etc/ansible/playbook/roles/nginx/tasks/init.yml - name: disable firewalldservice: namefirewalld statestopped enablednoignore_errors: True- name: disable selinuxshell: /usr/sbin/setenforce 0ignore_errors: true制作/etc/ansible/playbook/roles/nginx/tasks/main.yml文件: - include: init.yml- name: copy nginx yum repo filecopy: srcnginx.repo dest/etc/yum.repos.d/- name: install nginxyum: name{{pkg}} statelatest- name: copy index.phpcopy: srcindex.php dest{{root_dir}}- name: copy nginx template configuration filetemplate: srcdefault.conf.j2 dest/etc/nginx/conf.d/default.confnotify: reload nginx- name: start nginxservice: name{{service}} statestarted enabledyes制作/etc/ansible/playbook/roles/nginx/templates/default.conf.j2模板文: vim /etc/ansible/playbook/roles/nginx/templates/default.conf.j2 ---修改2到8行-----------listen {{http_port}};server_name {{http_hostname}};#access_log /var/log/nginx/host.access.log main;location / {root {{root_dir}};---修改29到36行-----------location ~ \.php$ {root {{root_dir}};fastcgi_pass {{http_remote}};fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME {{root_dir}}$fastcgi_script_name;include fastcgi_params;}制作/etc/ansible/playbook/roles/nginx/vars/main.yml文件: http_port: 192.168.204.69:80 http_hostname: www.david.com root_dir: /usr/share/nginx/html http_remote: 192.168.204.100:9000 pkg: nginx service: nginx(4) 部署PHP角色 创建php角色所需要的工作目录: mkdir -p /etc/ansible/playbook/roles/php mkdir -p /etc/ansible/playbook/roles/php/defaults mkdir -p /etc/ansible/playbook/roles/php/files mkdir -p /etc/ansible/playbook/roles/php/handlers mkdir -p /etc/ansible/playbook/roles/php/meta mkdir -p /etc/ansible/playbook/roles/php/tasks mkdir -p /etc/ansible/playbook/roles/php/templates mkdir -p /etc/ansible/playbook/roles/php/vars制作/etc/ansible/playbook/roles/php/files/index.php的网页文件: vim /etc/ansible/playbook/roles/php/files/index.php ?php phpinfo(); ?制作/etc/ansible/playbook/roles/php/handlers/main.yml文件: vim /etc/ansible/playbook/roles/php/handlers/main.yml - name: reload phpservice: name{{service}} statereloaded制作/etc/ansible/playbook/roles/php/tasks/main.yml文件: /etc/ansible/playbook/roles/php/tasks]# vim main.yml - name: install yum reposhell: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmignore_errors: True- name: install phpcommand: yum install -y php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml p hp72w-fpm php72w-mysqlnd php72w-opcache --skip-broken- name: create php useruser: name{{user_name}}- name: crate web root dirfile: name{{root_dir}} statedirectory- name: copy index.phpcopy: srcindex.php dest{{root_dir}}- name: modify php configuration filereplace: path/etc/php.ini regexp;date.timezone replacedate.timezone Asia/Shanghainotify: reload php- name: modify username and groupname in www.confreplace: path/etc/php-fpm.d/www.conf regexpapache replace{{user_name}}notify: reload php- name: modify listen addr in www.confreplace: path/etc/php-fpm.d/www.conf regexp127.0.0.1:9000 replace{{http_port}}notify: reload php- name: modify allowed client in www.confreplace: path/etc/php-fpm.d/www.conf regexp127.0.0.1 replace{{remote_addr}}notify: reload php- name: start phpservice: name{{service}} statestarted enabledyes制作/etc/ansible/playbook/roles/php/vars/main.yml文件: vim /etc/ansible/playbook/roles/php/vars/main.yml timezone: Asia/Shanghai user_name: php http_port: 192.168.204.100:9000 remote_addr: 192.168.204.69 root_dir: /usr/share/nginx/html service: php-fpm(5) 部署MySQL角色 创建mysql角色所需要的工作目录: mkdir -p /etc/ansible/playbook/roles/mysql mkdir -p /etc/ansible/playbook/roles/mysql/defaults mkdir -p /etc/ansible/playbook/roles/mysql/files mkdir -p /etc/ansible/playbook/roles/mysql/handlers mkdir -p /etc/ansible/playbook/roles/mysql/meta mkdir -p /etc/ansible/playbook/roles/mysql/tasks mkdir -p /etc/ansible/playbook/roles/mysql/templates mkdir -p /etc/ansible/playbook/roles/mysql/vars制作/etc/ansible/playbook/roles/mysql/handlers/main.yml文件: vim /etc/ansible/playbook/roles/mysql/handlers/main.yml - name: reload mysqlservice: name{{service}} statereloaded制作/etc/ansible/playbook/roles/mysql/tasks/main.yml文件: vim /etc/ansible/playbook/roles/mysql/tasks/main.yml - name: remove mariadbshell: yum remove mariadb* -yignore_errors: True- name: install yum reposhell: wget https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm --force --nodeps rpm -ivh mysql57-commu nity-release-el7-11.noarch.rpm --force --nodepsignore_errors: True- name: modify gpgcheckreplace: path/etc/yum.repos.d/mysql-community.repo regexpgpgcheck1 replacegpgcheck0- name: install mysqlyum: namemysql-server statelatest- name: start mysqlservice: name{{service}} statestarted enabledyes- name: make passwd.shscript: /etc/ansible/playbook/roles/mysql/files/passwd.sh制作/etc/ansible/playbook/roles/mysql/vars/main.yml文件: vim /etc/ansible/playbook/roles/mysql/vars/main.yml service: mysqld.service(5)启动安装分布式LNMP vim /etc/ansible/playbook/lnmp.yml - name: nginx playhosts: webserversremote_user: rootroles:- nginx- name: php playhosts: phpserversremote_user: rootroles:- php- name: mysql playhosts: mysqlserversremote_user: rootroles:- mysql二、实验 1.Roles模块搭建LNMP架构 1环境 表1 主机 主控端192.168.204.199ansible受控端-1192.168.204.69nginx受控端-2192.168.204.186mysql受控端-3192.168.204.100php (2) 配置主机 3部署Nginx角色 创建nginx角色所需要的工作目录: 制作/etc/ansible/playbook/roles/nginx/files/index.php网页目录: 制作/etc/ansible/playbook/roles/nginx/files/nginx.repo源: 制作/etc/ansible/playbook/roles/nginx/handlers/main.yml文件加载nginx的配置模板文件: 制作/etc/ansible/playbook/roles/nginx/tasks/init.yml文件: 制作/etc/ansible/playbook/roles/nginx/tasks/main.yml文件: 制作/etc/ansible/playbook/roles/nginx/templates/default.conf.j2模板文: 制作/etc/ansible/playbook/roles/nginx/vars/main.yml文件: (4) 部署PHP角色 创建php角色所需要的工作目录: 制作/etc/ansible/playbook/roles/php/files/index.php的网页文件: 制作/etc/ansible/playbook/roles/php/handlers/main.yml文件: 制作/etc/ansible/playbook/roles/php/tasks/main.yml文件: 制作/etc/ansible/playbook/roles/php/vars/main.yml文件: (5) 部署MySQL角色 创建mysql角色所需要的工作目录: ​​​​​​​注意需要提前创建passwd.sh 制作/etc/ansible/playbook/roles/mysql/handlers/main.yml文件: 制作/etc/ansible/playbook/roles/mysql/tasks/main.yml文件: 制作/etc/ansible/playbook/roles/mysql/vars/main.yml文件: (6)启动安装分布式LNMP 启动 nginx启动成功 php启动成功 mysql启动成功 访问浏览器成功 三、问题 1.剧本启动php报错语法问题 1报错 2原因分析 左端代码未对齐 3解决方法 修改前 修改后  2.剧本启动mysql报错语法问题 (1) 报错 2原因分析 左端代码未对齐 3解决方法 修改前 修改后 3.剧本启动nginx开启失败 1报错 2原因分析 nginx端查询 default.conf.j2 配置错误  未知的地址池 3解决方法 nginx端先移除多余配置文件 ansible端修改配置文件 修改前 修改后 4.剧本安装php失败 (1) 报错 2原因分析 [弃用警告]:只在通过squash_actions使用循环时调用“yum”一次是不赞成的。而不是如果使用循环提供多个项目并指定 name: {{ item }} 请使用 name: {{ ... }} 并删除循环。这个特性将在2.11版本中删除。弃用的警告可以通过在ansible.cfg中设置deprecation_warningsFalse来禁用。   3解决方法 这里先暂不修改yml文件 修改php端网卡 关闭防火墙和安全机制 如还是报错修改/etc/ansible/playbook/roles/php/tasks/main.yml文件安装方式不采用with_items方式直接以command模块方式运行 修改前 修改后 成功 5.使用yum时报错 1报错 遇见failure: repodata/repomd.xml from base: [Errno 256]错误 2原因分析 yum源 3解决方法 更新依赖包重新安装发现没用 yum clean all yum install -y epel-release 更新ca-certficates包 yum clean all yum --disablerepoepel -y update ca-certificates 将https转为http cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak sed -i s#https://#http://#g /etc/yum.repos.d/epel.repo 更改resolv.conf文件然后重启network服务service network restart nameserver 8.8.8.8 search localdomain 以上步骤执行完成后如果仍然失败继续执行以下步骤 查看yum的依赖包 [rootlocalhost yum.repos.d]# rpm -qa|grep yum PackageKit-yum-1.1.10-2.el7.centos.x86_64 yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch yum-langpacks-0.4.2-7.el7.noarch yum-metadata-parser-1.1.4-10.el7.x86_64 yum-utils-1.1.31-54.el7_8.noarch yum-3.4.3-168.el7.centos.noarch删除依赖包 [rootlocalhost yum.repos.d]# rpm -e yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch --nodeps yum-metadata-parser-1.1.4-10.el7.x86_64 yum-3.4.3-168.el7.centos.noarch将系统默认的yum功能删除 [rootlocalhost yum.repos.d]# rpm -aq|grep yum|xargs rpm -e --nodeps 查看本版和系统的位数 [rootlocalhost yum.repos.d]# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)[rootlocalhost yum.repos.d]# file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]c8ada1f7095f6b2bb7ddc848e088c2d615c3743e, stripped下载yum包 # wget http://vault.centos.org/7.2.1511/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm # wget http://vault.centos.org/7.2.1511/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm # wget http://vault.centos.org/7.2.1511/os/x86_64/Packages/yum-3.4.3-132.el7.centos.0.1.noarch.rpm 注意要注意版本 在http://mirrors.kernel.org/centos/ 或者 http://mirrors.163.com/centos/里下载 下载完成执行以下命令 # rpm -ivh --nodeps yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm # rpm -ivh  --nodeps yum-metadata-parser-1.1.4-10.el7.x86_64.rpm  # rpm -ivh --nodeps yum-3.4.3-132.el7.centos.0.1.noarch.rpm 进入 /etc/yum.repos.d/目录中在http://mirrors.163.com/.help/centos.html在里面下载对应版本的repo文件我下载了CentOS-Base.repo 对此文件进行备份以防修改错误还有的用 修改$releasever为自己的版本号我的为7 保存退出 6.rpm -Uvh https://xxxx.rpm 提示连接失败问题 1报错 2原因分析 域名解析失败 3解决方法 查询IP地址 通过What Is My IP Address? Free IP Lookup查询对应url ip地址 修改hosts 文件追加一下内容 vim /etc/hosts45.55.104.9ip webtatic.com可自定义重新执行命令访问对应地址成功 7.依赖检测失败 1报错 警告/var/tmp/rpm-tmp.cw1TWT: 头V4 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY\n\t软件包 epel-release-7-14.noarch 已经安装, stderr_lines: [警告/var/tmp/rpm-tmp.cw1TWT: 头V4 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY 2原因分析 未忽视依赖关系 3解决方法 在后面加上--force --nodeps就可以了nodeps的意思是忽视依赖关系。 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm --force --nodeps rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm --force --nodeps // 以上是我个人下载的erlang版本要依据你们自己下载的版本改一下 修改前 修改后 成功 8.剧本修改php失败 1报错 www.conf文件不存在 2原因分析 缺失文件 3解决方法 新建目录并上传文件 成功 9.剧本启动php失败 1报错 ansible端 php端 Failed to start php-fpm.service: Unit not found 2原因分析 系统中没有配置 php-fpm.service 文件 3解决方法 通过find / -name nginx.service 找到nginx.service 配置文件路径 [rootlocalhost php-fpm.d]# find /lib/systemd/system -name php-fpm.service [rootlocalhost php-fpm.d]# find /etc/systemd/system -name php-fpm.service /etc/systemd/system/php-fpm.service创建软链接 [rootlocalhost php-fpm.d]# sudo ln -s /lib/systemd/system/php-fpm.service /etc/systemd/system/php-fpm.service然后去到那个路径 新建一个php-fpm.service文件 保存下面这一段内容php-fpm路径根据自己的实际情况修改 [Unit] DescriptionThe PHP FastCGI Process Manager Aftersyslog.target network.target[Service] Typesimple PIDFile/run/php-fpm.pid ExecStart/usr/local/php/sbin/php-fpm你的php-fpm路径 --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf你的php-fpm配置文件路径 ExecReload/bin/kill -USR2 $MAINPID ExecStop/bin/kill -SIGINT $MAINPID[Install] WantedBymulti-user.target 修改为 [Unit] DescriptionThe PHP FastCGI Process Manager Aftersyslog.target network.target[Service] Typesimple PIDFile/run/php-fpm.pid ExecStart/etc/systemd/system --nodaemonize --fpm-config /etc/php-fpm.d/www.conf ExecReload/bin/kill -USR2 $MAINPID ExecStop/bin/kill -SIGINT $MAINPID[Install] WantedBymulti-user.target10.剧本修改mysql脚本文件失败 1报错 2原因分析 缺少passwd.sh文件 3解决方法 新建文件 成功
http://wiki.neutronadmin.com/news/357890/

相关文章:

  • 广州高端网站定制开发价格微信商店小程序制作教程
  • wordpress网站的根目录在哪里国内外画画做的好网站
  • 行业网站开发推广公司
  • 门户网站建设费用科目网站网站做代理微信群卖房卡
  • 广东省住房和城乡建设厅公众网站山东网络优化
  • 全国做网站的公司有哪些广东的一起做网站
  • wordpress导航图标哪里找商丘做网站优化的公司有哪些
  • 广州模板建站公司vs2012做网站
  • 二十一冶建设有限公司网站网站建设 上海珍岛
  • 爱站网关键词挖掘查询手机端网站自动弹出营销qq
  • 邯郸网站设计有哪些租房网站建设多少钱
  • 仿腾讯视频网站源码工程公司资质怎么申请
  • 求网站晚上睡不着2021全国大学生创新创业大赛
  • 如何建设微商网站关键词搜索优化外包
  • 商城网站建设案例个人注册登录
  • 织梦网站怎么做seo优化网站二维码收费怎么做
  • 鄂州网站建设报价上海网站优化
  • 衡水网站设计wordpress免费商业主题
  • 合肥做网站mdyun注册城乡规划师考试科目
  • 成交型网站建设简述网站建设的主要步骤
  • 手机建站平台微点手赚哪个网站可以免费做简历
  • 自己怎么做网站游戏网页加速器脚本
  • 商务网站建设评估的指标ao主题wordpress
  • 如何建设网站 知乎重庆企业网站推广公司
  • 网站建设忄金手指花总广告设计专业的单招学校
  • 自动seo网站源码贵州seo学校
  • 怎么做论坛网站外贸网站建站
  • 上海市建设工程协会网站国外网站风格
  • 两个网站链接如何做门户型网站建设方案
  • 网站费用清单网站建设合同书封皮