要求: 构建NFS共享服务,利用nfs来提供远程共享资源,web服务通过远程共享资源来构建一个基于LAMP环境的站点(WordPress),要求此站点可以正常发布文章和图片)
环境: 192.168.1.101----->Web
192.168.1.110----->Mariadb 192.168.1.113----->PHP 192.168.1.114----->NFS
一、部署LAMP环境 #web服务的部署(192.168.1.101)
(1)安装服务:yum -y install httpd
(2)配置虚拟主机和php代理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| [iyunv@bogon ~]# vim /etc/httpd/conf.d/vhost.conf
DirectoryIndex index.php
<VirtualHost 192.168.1.101:80>
ServerName wp.magedu.com
DocumentRoot /data/web ###此处目录等会依靠nfs远程共享一个WordPress
ProxyRequests off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.1.113:9000/data/web/$1
<Directory "/data/web">
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
|
(3)启动服务测试httpd是否正常
1
2
3
4
5
6
7
8
| [iyunv@bogon ~]# mkdir -p /data/web/
[iyunv@bogon ~]# vim /data/web/index.html (测试内容为test)
[iyunv@bogon ~]# httpd -t
Syntax OK
[iyunv@bogon ~]# systemctl start httpd
[iyunv@bogon ~]# curl http://wp.magedu.com
test
|
#mariadb服务部署(192.168.1.110)
(1)安装程序:yum -y install mariadb-server
(2)启动服务、建立数据库和用户授权操作
1
2
3
4
| [iyunv@pxe130 ~]# systemctl start mariadb
[iyunv@pxe130 ~]# mysql
MariaDB [(none)]> create database wpdb; ###这是为了WordPress准备
MariaDB [(none)]> grant all on wpdb.* to 'wpuser'@'192.168.%.%' identified by 'wppass';
|
#php服务部署(192.168.1.113)
(1)安装程序:yum -y install php-fpm php-mysql
(2)配置php
1
| [iyunv@pxe132 ~]# vim /etc/php-fpm.d/listen.allowed_clients = 192.168.1.101
|
(3)php服务器上建立文件进行测试php和http及mariadb的连通性
1
2
3
4
5
6
7
8
9
10
11
| [iyunv@pxe132 ~]# mkdir -p /data/web
[iyunv@pxe132 ~]# vim /data/web/index.php
<?php
$conn = mysql_connect('192.168.1.110','wpuser','wppass');
if ($conn)
echo "mysql is ok";
else
echo "mysql is bad";
phpinfo();
?>
|
(4)启动服务
1
2
3
4
| [iyunv@pxe132 ~]# systemctl start php-fpm
[iyunv@pxe132 ~]# ss -tnl
State Recv-Q Send-Q Loca Peer Address:Port
LISTEN 0 128 192.168.1.113:9000
|
ok,现在lamp环境以及准备好了。。
二、部署NFS环境,提供远程共享资源
(1)安装服务:yum -y install nfs-utils
(2)配置nfs服务为web站点提供资源
1
2
| [iyunv@bogon ~]# vim /etc/exports
/data/application/web 192.168.1.0/24(rw,sync)
|
(3)建立nfs共享路径
1
| [iyunv@bogon ~]# mkdir -p /data/application/web
|
(4)在nfs共享路径下面提供并配置好一个WordPress服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| [iyunv@bogon ~]# unzip wordpress-4.3.1-zh_CN.zip
[iyunv@bogon ~]# mv wordpress /data/application/web/
[iyunv@bogon ~]# cd /data/application/web/wordpress/
[iyunv@bogon web]# cp wp-config-sample.php wp-config.php
[iyunv@bogon web]# vim wp-config.php
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wpdb');
/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'wppass');
/** MySQL主机 */
define('DB_HOST', '192.168.1.110');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');
|
(4)启动nfs服务
1
2
3
4
5
6
7
8
9
10
11
| [iyunv@bogon wordpress]# service nfs start
启动 NFS 服务: [确定]
关掉 NFS 配额: [确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]
[iyunv@bogon wordpress]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 64 :::42365 :::*
LISTEN 0 64 :::2049 :::*
LISTEN 0 64 *:2049 ##nfs监听地址
|
(5)查看下我们提供的共享资源
1
2
3
| [iyunv@bogon ~]# showmount -e 192.168.1.114
Export list for 192.168.1.114:
/data/application/web 192.168.1.0/24
|
三、远程挂载共享资源调试
(1)分别在php和httpd服务器上故障nfs提供的共享目录
1
| [iyunv@bogon web]# mount -t nfs 192.168.1.114:/data /data/application/web/
|
(2)重新分别加载httpd和php-fpm服务
1
2
| [iyunv@pxe132 ~]# systemctl restart php-fpm.service
[iyunv@bogon web]# systemctl restart httpd
|
(3)测试
|