说明:在一台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
在如下行修改配置
# this is only for the mysqld standalone daemon
[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
>
#配置指令说明参考官方文档:http://httpd.apache.org/docs/2.4/
创建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,如需转载请自行联系原作者