LAMP配置NFS页面共享,autofs实现挂载,DNS实现名称解析,纯手动操作
0.实验架构:
共6台服务器
分工如下:
|
服务器 |
职责 |
IP地址 |
Centos版本 |
描述 |
|
A |
DNS |
172.18.7.70 |
7 |
|
|
B |
Apache |
172.18.7.71 |
7 |
httpd+php-fpm |
|
C |
Apache |
172.18.7.72 |
7 |
httpd+php-fpm |
|
D |
MySQL |
172.18.7.73 |
7 |
|
|
E |
NFS |
172.18.7.74 |
7 |
共享wordpress程序 |
|
F |
Client |
172.18.7.61 |
6 |
DNS指向Server A |
先准备好所有服务器
所有软件采用yum安装方式安装.
1.MySQL服務器(Server D)
安裝mariaDB并创建数据库wpdb.以及授权两台主机的访问权限.
]# yum install mariadb-server -y
]# systemctl start mariadb ]# mysql
MariaDB [(none)]> create database wpdb;
MariaDB [(none)]> grant all on wpdb.* to 'wpuser'@'172.18.7.71' identified by 'wppass';
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all on wpdb.* to 'wpuser'@'172.18.7.72' identified by 'wppass';
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> quit
2.NFS服务器(Server E)
NFS服务一般会被包含在CentOS安装程序中,默认被安装.
查看是否已安装
]# rpm -q nfs-utils
如果没有安装则使用yum安装
]# yum -y install nfs-utils
启动服务
]# systemctl start nfs.service
查看端口
]# ss -tnlp
因为是内核直接监听2049端口所以只显示 *:2049,但不显示监听端口的应用.
创建共享目录,并创建测试文件
]# mkdir /httpdata
]# touch /httpdata/testfile
NFS默认是把客户端用户ID映射到本地用户ID来识别用户的,所以为了apache服务器能够拥有对NFS目录的正常访问权限,httpd服务yum安装默认会创建id为48的apache账号,所以这里给目录设置一个id为48的acl权限.
]# setfacl -Rm u:48:rwx /httpdata/
添加配置
]# vim /etc/exports
/httpdata 172.18.7.71/16(rw) 172.18.7.72/16(rw)
使目录生效
]# exportfs -r
此时如果远程主机用root登陆的话,对此目录是只读的,因为安全起见,root用户默认会被压缩映射为nfsnobody用户.
确保rpcbind服务已开启
]# systemctl status rpcbind
最后把wordpress程序放进共享目录.
]# tar xvf wordpress-4.9.1-zh_CN.tar.gz
]# cp wordpress/* /httpdata/ -R
修改wordpress配置文件
]# cp wp-config-sample.php wp-config.php
]# sed -i 's/database_name_here/wpdb/g' wp-config.php
]# sed -i 's/username_here/wpuser/g' wp-config.php
]# sed -i 's/password_here/wppass/g' wp-config.php
]# sed -i 's/localhost/172.18.7.73/g' wp-config.php
建立php测试页面
]# cd /httpdata/
]# vim phpinfo.php
<?php
phpinfo();
?>
3.Apache服务器(Server B,Server C)
测试NFS共享
]# showmount -e 172.18.7.74
Export list for 172.18.7.74:
/httpdata 172.18.7.72/16,172.18.7.71/16
创建NFS共享目录的挂载点,并挂载
]# mkdir -p /web/html
]# mount -t nfs 172.18.7.74:/httpdata /web/html/ ]# ll /web/html/
total 0
-rw-r--r-- 1 root root 0 Feb 4 04:36 aaa
安装httpd和php
]# yum install httpd php-fpm php-mysql -y
启动服务并测试httpd是否正常工作.
]# systemctl start httpd
]# curl 172.18.7.71
显示欢迎页面为正常.
修改httpd配置文件
]# vim /etc/httpd/conf/httpd.conf
DocumentRoot "/web/html"
DirectoryIndex index.php index.html <Directory "/web/html">
Options None
AllowOverride None
Require all granted
</Directory>
创建fcgi.conf配置文件,用于让httpd支持php
]# vim /etc/httpd/conf.d/fcgi.conf
ProxyRequests off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/html/$1
第一行为关闭默认正向代理,使用fcgi反向代理
第二行规定只把.php后缀的内容转发到后端.此处的IP地址为php所在主机地址,可以是远程主机.
修改php-fpm配置文件
]# vim /etc/php-fpm.d/www.conf listen = 0.0.0.0:9000 listen.owner = nobody
listen.group = nobody
listen.mode = 0666
重启服务
]# systemctl start php-fpm
]# systemctl restart httpd
在浏览器上测试
http://172.18.7.71/phpinfo.php
显示php配置画面则为成功.
安装wordpress
访问172.18.7.71或者172.18.7.72中任意一台,进行wordpress安装配置
http://172.18.7.71
按照说明填写好内容点击左下角的安装wordpress
安装完成,即可通过任意一台Apache服务器访问到内容相同的wordpress站点.
4.DNS服务器(Server A)
安装DNS服务
]# yum install bind -y
修改主配置文件
简单配置,可以直接注释掉几行.
]# vim /etc/named.conf
//listen-on port 53 { 127.0.0.1; };
//allow-query { localhost; };
//dnssec-enable yes;
//dnssec-validation yes;
添加正向解析
]# vim /etc/named.rfc1912.zones
zone "opsnote.com" IN {
type master;
file "opsnote.com.zone";
}; ]# vim /var/named/opsnote.com.zone
$TTL 3600
@ IN SOA ns1 admin (
0
1H
10M
3D
1D)
IN NS ns1
ns1 IN A 172.18.7.70
www IN A 172.18.7.71
www IN A 172.18.7.72
安全起见,要设置区域数据库文件的属组为named.权限为640.
]# chown :named /var/named/opsnote.com.zone
]# chmod 640 /var/named/opsnote.com.zone
]# ll /var/named/opsnote.com.zone
-rw-r----- 1 root named 136 Feb 6 18:38 /var/named/opsnote.com.zone
检查配置
]# named-checkconf
]# cd /var/named
]# named-checkzone opsnote.com opsnote.com.zone
zone opsnote.com/IN: loaded serial 0
OK
检查完成没有问题.
测试
]# dig -t A www.opsnote.com @172.18.7.70 ;; ANSWER SECTION:
www.opsnote.com. 3600 IN A 172.18.7.71
www.opsnote.com. 3600 IN A 172.18.7.72
成功.
5.客户端(主机 F)
为了使用DNS进行轮询域名解析,需要将域名的DNS解析设置指向我们自己的DNS服务器.
修改本机DNS为172.18.7.70
]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=172.18.7.70
重启网络服务
]# service network restart
测试
]# ping www.opsnote.com
PING www.opsnote.com (172.18.7.71) 56(84) bytes of data.
64 bytes from 172.18.7.71: icmp_seq=1 ttl=64 time=0.240 ms ]# ping www.opsnote.com
PING www.opsnote.com (172.18.7.72) 56(84) bytes of data.
64 bytes from 172.18.7.72: icmp_seq=1 ttl=64 time=0.288 ms
多次重复尝试,会得到两个解析结果,172.18.7.71和172.18.7.72.
至此可以通过图形界面的浏览器顺利访问www.opsnote.com了.
LAMP配置NFS页面共享,autofs实现挂载,DNS实现名称解析,纯手动操作的更多相关文章
- ubuntu 10.10配置NFS网络共享步骤
安装好交叉编译环境arm-linux-gcc之后,就开始配置NFS网络共享,用于不同的linux主机与目标机之间文件的共享.如果是windows和linux的共享则需用samba服务. NFS(Net ...
- LinuxMint(同Ubuntu)下安装配置NFS设置共享目录
假设有两台机器, 机器A:10.68.93.2 机器B:10.68.93.3 现在需要将机器A上的/opt/nfsshare共享出去,然后挂载到机器B的/nfsshare目录下. 1. 在机器A上: ...
- CentOS 6.X配置 NFS以及启动和mount挂载
一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS的安装配置:centos 5 : yum -y install n ...
- Linux安装配置nfs实现共享远程目录
1. 服务端安装nfs yum -y install nfs-utils rpcbind 2.编辑/etc/exports /etc/exports文件内容格式: <输出目录> [客户端1 ...
- Linux配置NFS实现共享
(1)安装相应rpm包 sudo rpm -ivh nfs-utils-1.2.3-70.el6.x86_64.rpm (2)配置共享目录:sudo vim /etc/exports /app/sof ...
- Linux下配置nfs并远程挂载实战探讨
简单介绍: nfs是网络文件系统,允许一个节点通过网络访问远程计算机的文件系统,远程文件系统可以被直接挂载到本地,文件操作和本地没有区别,如果是局域网的nfs那么io的性能也可以保证 nfs是Netw ...
- NFS网络共享服务 挂载参数及优化 内核优化建议
配置NFS服务端 nfs01上安装软件 [root@nfs01 ~]# yum install nfs-utils rpcbind -y nfs-utils:NFS服务的主程序,包括rpc.nfsd. ...
- Linux 笔记 - 第二十一章 配置 NFS 服务
一.前言 NFS(Network File System,网络文件系统),主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS 客户端(一般为应用服务器,例如web)可以通 ...
- Linux:SAMBA共享、NFS共享、Autofs自动挂载
SAMBA.NFS共享区别 NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务,属于轻量级的文件共享服务,不支持Linu ...
随机推荐
- Strut2 ognl取出存放在request,session,application和对象栈的中的值
1.取出request,session,applicaiton中的值 a.往里面加入request,session,application中加入值 public String testServlet( ...
- OpenLdap与BerkeleyDB安装过程
前段时间在看LDAP方面的东西,最近重装了Ubuntu之后开始在自己的机器上装一个OpenLDAP. 装的过程中还遇到不少问题,不过通过Google同学的帮忙,全部得到解决.下面装安装过程记录如下: ...
- java中,方法可以访问他的类对象的任何私有特性
java中,方法可以访问他的类对象的任何私有特性 读一本书(Core Java for the Impatient)时,发现这个注意,以前的时候没有在意,今天仔细想想发现记忆不深刻.记录一下 下面代码 ...
- springmvc 定时器 多数据源
0.目的:测试网上多数据源切换代码靠不靠谱 1.先说需求:根据摄像头采集到的数据,做一些业务上的特定处理,但是,但是很重要,摄像采集数据不直接存在此数据库,需要定时的去外部DB去取数据,这就涉及到多数 ...
- vue-cli 中遇见的问题,记录爬坑日常!
本片文章我将会记录使用vue-cli 以及一些相关插件遇见的问题和解决方案,另外本文章将会持续更新,本着互联网分享精神,希望我所记录的日常能对大家有所帮助. 1.在img和html文件处于同级阶段,i ...
- 微信WeUI基础
首先引入样式css和js 虽然基础的其实还有weui.min.css,但是为了一些动态效果,也要引入其他的东西. 基本框架 <!DOCTYPE html> <html lang=&q ...
- mac terminal中快捷移动光标 持续更新。。。
1.option + ←/→ 以单词为单位快速移动 2.ctrl + A 移动到行首 3.ctrl + B 移动到行尾 4.ctrl + K 删除光标后至行尾的内容
- 【转】IIS网站浏览时提示需要用户名密码登录-解决方法
打开iis,站点右键----属性----目录安全性----编辑----允许匿名访问钩选 IIS连接127.0.0.1要输入用户名密码的解决办法原因很多,请尝试以下操作: 1.查看网站属性——文档看看启 ...
- Xss和Csrf介绍
Xss和Csrf介绍 Xss Xss(跨站脚本攻击),全称Cross Site Scripting,恶意攻击者向web页面中植入恶意js代码,当用户浏览到该页时,植入的代码被执行,达到恶意攻击用户的目 ...
- odata.EF一些常用配置
Enable-Migrations //在数据库里建一个表 Add-Migration //添加 Update-Database //更新数据 install-package entityframew ...