LAMP服务搭建详解

来源:互联网 发布:化学分子模型淘宝 编辑:程序博客网 时间:2024/05/24 04:57
LAMP搭建实验:CentOS7 

拓扑结构及主机说明:


主机名 IPSERVER_NAME XXX.rpm
A 172.16.254.147httpd-server httpd-2.4


B 172.16.7.1php-fpm-server php php-fpmphp php-mysqlphp-mbstring php-mcryptphp-xcache

C 172.16.7.2mysql-server mariadb  php-mysql

准备工作:
<1.软件安装全部使用yum
<2.关闭所有主机的iptables和selinux,防止影响实验顺利进行,执行如下命令:
~]# iptables -F && iptables -X && systemctl stop firewalld && setenforce 0


各主机配置如下:

1、httpd-server主机:

<1. 配置httpd配置文件
【注意】CentOS7下,无需修改httpd的主配置文件,因为CentOS7中,当虚拟主机存在时会默认禁用httpd主机的配置文件(CentOS6下需要禁用掉httpd主机,才可以启用虚拟主机功能,方式是注释掉httpd主配置文件的DocumentRoot一行),所以可以直接进入/etc/httpd/conf.d/目录下新建并编辑虚拟主机配置文件即可

~]# vim /etc/httpd/conf.d/virutalhost1.conf
DirectoryIndex index.php
KeepAlive On
KeepAliveTimeout 15
MaxKeepAliveRequests 100
<VirtualHost *:80>
DocumentRoot "/web/httpd/html/www3.achudk.com"
ServerName www3.achudk.com
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.7.1:9000/apache-resourse/html/$1
ErrorLog "/web/httpd/log/vh1/error_log"
CustomLog "/web/httpd/log/vh1/access_log" combined
<Directory "/web/httpd/html/www3.achudk.com">
Options FollowSymLinks
AllowOverRide None
Require all granted
</Directory>
</VirtualHost>

<2. 创建httpd访问文档目录
~]# mkdir /web/httpd/www3.achudk.com -pv && mkdir /web/httpd/www4.achudk.com

<3. 在DocumentRoot目录下创建资源(静态或动态)
]# echo "welctom to www3.achudk.com" > index.html
]# echo > index.php

也可以把wordpress程序整个目录放置在此处
~]# cd /web/httpd/www3.achudk.com/ && unzip wordpress-4.7.4-zh_CN.zip
]# cp -R wordpress/ ../www4.achudk.com/

【notes】因为在httpd虚拟主机配置文件中,是根据客户端请求的资源的文件名后缀是否为" .php " 而决定是否使用php-fpm代理的,与后缀为" .php "的文件的内容无关,所以无需修改wordpress文件中的配置文件,index.php文件中也无需有内容,只需在php-fpm代理服务器端处在对应的文件中指定内容即可。

<4. 检查配置文件语法,无误后启动服务
~]# httpd -t
~]# systemctl start httpd


2、php-fpm-server主机:
<1.创建动态php资源存储目录并创建相应的动态资源文件
]# mkdir -pv /apache-resourse/html
]# vim /apache-resoutse/html/index.php
<?php
phpinfo();
?>

<2.安装wordpress程序文件至此目录并设定其配置文件
]# unzip wordpress-4.7.4-zh_CN.zip && cd wordpress
]# cp wp-config-sample.php wp-config.php
]# vim wp-config.php
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wpdb');


/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');


/** MySQL数据库密码 */
define('DB_PASSWORD', 'wppasswd');


/** MySQL主机 */
define('DB_HOST', '172.16.7.2');==> 必填项

*** <3.设置代理配置文件
]# vim /etc/php-fpm.d/www.conf
[www]
listen = 172.16.7.2:9000==> 此处填写本主机的IP地址(不能写127.0.0.1),端口为必填项
listen.allowed_clients = 172.16.254.147==> 此处填写被代理的httpd服务的主机的IP地址

<4.启动php-fpm代理服务
~]# systemctl restart php-fpm

3、mysqsl-server主机:

<1. 修改主配置文件
~]# vim /etc/my.cnf
修改默认database目录:
datadir=/database/data

增加条目:
skip_name_resolve=ON
innodb_file_per_table=ON

<2. 启动服务:
~]# systemctl start mariadb

<3. 进入mysql客户端,建立用户、数据库、以及表和字段
【notes】此步骤非必须,可以在浏览器上按照wordpress程序的安装向导设置亦可。

~]# mysql
mysql> SELECT user,host,password FROM mysql.user;
mysql> CREATE DATABASE wpdb;
mysql> GRANT ALL ON wpdb.* TO 'wpuser'@'%' IDENTIFIED BY 'wppasswd';
mysql> use wpdb
mysql> CREATE TABLE IF NOT EXISTS wptbl(serial INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,name VARCHAR(65) NOT NULL UNIQUE KEY);
mysql> DESC wptbl;
mysql> exit

验证实验结果:打开浏览器,依次访问以下站点请求对应资源
www3.achudk.com
www3.achudk.com/index.php
www3.achudk.com/wordpress
www4.achudk.com
www4.achudk.com/index.php

www4.achudk.com/wordpress


实验后思考:
在此基础上,可以建立独立的数据存储服务器,将所有资源(静态或动态资源)等数据全部通过nfs服务提供,可在一定程度上实现数据空间资源复用,减少存储空间资源浪费。