说明:在一台linux主机上模拟搭建LAMP
简介:
LAMP由四个部分组成:Linux,Apache,MySQL,PHP。搭建这一套架构是为了实现动态网页环境的部署。本文将在一台centos7.3的linux主机上模拟部署LAMP环境。apche环境采用httpd应用部署,MySQL采用Mariadb应用部署,php主要采用php-fpm应用部署,辅助应用为 php-mbstring php-mcrypt php-xcache。 PHP与MySQL的接口采用php-mysql应用连接。本文模拟的后端php服务器是通过php-fpm应用实现。它是FASTCGI进程管理工具,特别适用于高并发的网站。
组成:
A:apache(Httpd)
M:MySQL(Mariadb)
P:PHP(php-fpm)
拓扑图

1.环境准备:
操作系统:window10
浏览器:chrome
虚拟机:VMware workstation11
MySQL图形界面管理工具:phpMyAdmin
实验操作系统:centos7.3
软件包准备:mariadb-server php-fpm php-mysql httpd
2.系统初始化:
1
2
3
4
5
6
|
关闭防火墙
iptables -F
关闭防火墙开始启动
systemctl disable firewalld.service
关闭SElinux
setenforce 0
|
3.mariadb-server 安装与环境配置
1
2
3
4
5
6
7
8
9
10
11
|
安装mariadb-server
yun install mariadb-server
修改mariadb服务端配置
vi /etc/my .cnf.d /server .cnf
在如下行修改配置
[mysqld]
skip_name_resolve=on
innodb_file_per_table=ON
查看mariadb的3306端口是否开启
ss -tln
|
1
2
3
4
|
重启数据库
systemctl start mariadb.service
mysql测试
mysql
|
1
2
3
4
5
6
7
8
|
注意:我设置了mysql的密码,若没有密码,使用上述命令即可
安全加固
mysql_secure_installation mysql
建立一个测试用户
grant all on testdb.* to 'hu' @ '192.168.%.%' identified by '123456' ;
另一个终端登陆mysql
ssh 192.168.0.3 mysql -uhu -h192.168.0.3 -p123456
|
4.php安装与环境配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
安装php相关应用
yum install php-fpm php-mysql php-mbstring php-mcrypt php-xcache -y
进入php-fpm环境配置目录
cd /etc/php-fpm .d/
将原文件备份
cp www.conf{,.bak}
修改配置文件
vi /etc/php-fpm .d /www .conf
说明:此配置文件中注释用;(分号)标注,如要开启某些功能,取消;即可。
以下是我列出一些可选项,大家可根据需要自行修改
[如果要跨主机通信,修改监听地址] listen = 127.0.0.1:9000
[fastcgi客户端地址] listen.allowed_clients = 127.0.0.1
[fpm内置状态页面路径] pm.status_path = /status
[测试服务器 ping ] ping .path = /ping
[ ping 回应] ping .response = pong
[会话保存的路径] php_value[session.save_path] = /var/lib/php/session
在这里,为了测试需要我开启如下功能
pm.status_path = /pmstatus
php_value[session.save_path] = /var/lib/php/session
创建保存会话的目录
mkdir /var/lib/php/session -pv
修改目录属主
chown apache:apache /var/lib/php/session
重启php-fpm,配置生效
systemctl start php-fpm.service
查看php端口与进程
ss -tln
ps aux | grep pool
|


5.httpd安装与环境配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
安装 httpd
yum install httpd
查看proxy_fcgi_module是否存在
httpd -M
进入httpd配置目录
cd /etc/httpd/conf .d/
虚拟主机配置
vi huwho.conf
DirectoryIndex index.php
<VirtualHost *:80>
DocumentRoot "/web/www/html"
ServerName "www.huwho.cn"
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi: //127 .0.0.1:9000 /web/www/html/ $1
ProxyPassMatch ^/(pmstatus.*)$ fcgi: //127 .0.0.1:9000/$1
<Directory "/web/www/html" >
Options FollowSymLinks
AllowOverride None
Require all granted
< /Directory >
< /VirtualHost >
创建web页面路径
mkdir /web/www/html -pv
检查语法
httpd -t
进入web路径目录
cd /web/www/html/
编辑php测试页面
vi phpinfo.php
<?
phpinfo();
?>
修改windows10域名解析文件(hosts)
路径:C:\Windows\System32\drivers\etc
目的:使windows本机能够解析设定的域名
|

1
2
3
|
重启httpd服务
systemctl restart httpd.service
访问页面
|

查看页面状态信息

6.MySQL图形界面管理工具安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
下载phpMyAdmin-4.0.10.20-all-languages. tar .gz
下载地址https: //www .phpmyadmin.net/
解压(推荐目录 /web/www/html )
tar -xf phpMyAdmin-4.0.10.20-all-languages. tar .gz
创建软连接(因为名字太长)
ln -sv phpMyAdmin-4.0.10.20-all-languages. tar .gz pma
进入目录
cd pma
更改名字
cp config.sample.inc.php config.inc.php
编辑配置文件
vi config.inc.php
在下面句中的修改加密字段
$cfg[ 'blowfish_secret' ] = 'fsff34242regtegdsf3a8b7c6d'
访问页面
|


7 压力测试
1
2
3
4
5
|
vi /etc/hosts
10.0.0.110 www.huwho.cn
压力测试
ab -n 1000 -c 20 http: //www .huwho.cn/
|

本文转自 PowerMichael 51CTO博客,原文链接:http://blog.51cto.com/huwho/1931968,如需转载请自行联系原作者