主机名 | 功能 |
---|---|
server1 | nginx服务器 |
server2 | redis缓存 |
server3 | mysql |
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
server1:(nginx服务器)
1.下载安装nginx:
tar zxf nginx-1.16.0.tar.gz
yum install pcre-devel zlib-devel gcc -y
4.配置文件vim auto/cc/gcc,将debug注释掉后编译:
5.编译
./configure --prefix=/usr/local/nginx
5.make && make install
6. 配置文件 :将php打开 将index.php添加上
vim /usr/local/nginx/conf /nginx.conf
8.开启nginx:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/conf/sbin/nginx
9. 安装php,下载安装所需的安装包
10. 开启php:
systemctl start php-fpm
11. 通过端口查看是否开启(9000端口):
netstat -tnlp
12. 下载测试页面test.php并重新命名为index.php
13. 修改测试页面的index.php 将redis和mysql的ip更改好,数据库密码设置好
connect('172.25.13.2',6379) or die ("could net connect redis server");
# $query = "select * from test limit 9";
$query = "select * from test";
for ($key = 1; $key < 10; $key++)
{
if (!$redis->get($key))
{
$connect = mysql_connect('172.25.13.3','redis','westos');
mysql_select_db(test);
$result = mysql_query($query);
//如果没有找到$key,就将该查询sql的结果缓存到redis
while ($row = mysql_fetch_assoc($result))
{
$redis->set($row['id'],$row['name']);
}
$myserver = 'mysql';
break;
}
else
{
$myserver = "redis";
$data[$key] = $redis->get($key);
}
}
echo $myserver;
echo "
";
for ($key = 1; $key < 10; $key++)
{
echo "number is $key";
echo "
";
echo "name is $data[$key]";
echo "
";
}
?>
/usr/local/nginx/sbin/nginx -s reload
server3:(mysql)
1.查看之前是否安装mysql :
rpm -qa | grep mysql
2.删除已经安装的mysql(之前安装过mysql)
rpm -e `rpm -qa | grep mysql` --nodeps
yum install -y mariadb-server
5.将以前安装过mysql编译的文件删除
6.开启mariadb
systemctl start mariadb
7.安全初始化
mysql_secure_installation
mysql -predhat < test.sql
yum install gcc -y
3.因为解压后文件中有Makefile,所以直接make(如果make不成功,则加入参数make MALLOC=libc后再make)
4.make install
5.进入到utils目录下执行安装脚本
./install_server.sh
6.查看redis端口号
7.重新启动redis
测试
浏览器输入172.25.13.1
第一次访问的是mysql里内容,因为第一次是没有缓存的
刷新之后,第二次访问时,访问的时redis缓存里内容。因为刚才已经把mysql里内容缓存到redis里