文章目录
链接:https://pan.baidu.com/s/11jwJeLjDddgG_a0iaZJ6yg 提取码:1m16 (包括启动脚本)
一、实验环境准备
[root@dal ~]#yum -y install gcc*
[root@dal ~]# unzip redis-mysql.zip
[root@dal ~]# cd redis-mysql
[root@dal redis-mysql]# yum -y install *
#安装所需的包
二、配置 nginx 并启动
[root@dal ~]# vim /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name localhost; #如果使用域名访问,修改成域名
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /www; #修改网站根目录
index index.php index.html index.htm; #添加默认显示index.php
}
……
#取消注释并修改
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /www; #网站根目录
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
#启动 nginx
[root@dal ~]# service nginx start
三、配置 php-fpm并启动
[root@dal ~]# vim /etc/php-fpm.d/www.conf
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
[root@dal ~]# service php-fpm start #启动
四、配置 mysql 并启动
[root@dal ~]# service mysqld start
[root@dal ~]# mysql
mysql> grant all privileges on *.* to root@localhost identified by '123';
#授权登陆mysql时密码时 123
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
五、测试网站连通姓
[root@dal ~]# mkdir /www
[root@dal ~]# vim /www/index.php
<?php
phpinfo();
?>
浏览器访问服务器是否显示php页面,如果显示则成功,LNMP环境就搭建完成了
六、安装 Redis 与 phpredis
1.1 安装 redis
[root@dal ~]# cd redis-mysql
[root@dal redis-mysql]# tar -xf redis-2.8.19.tar.gz -C /usr/src/
[root@dal redis-mysql]# cd /usr/src/redis-2.8.19/
[root@dal redis-2.8.19]# make
[root@dal redis-2.8.19]# make PREFIX=/usr/local/redis/ install
[root@dal redis-2.8.19]# cp redis.conf /usr/local/redis/
[root@dal redis-2.8.19]# ln -s /usr/local/redis/bin/* /usr/local/b
安装 phpredis
[root@dal redis-2.8.19]# cd /root/redis-mysql
[root@dal redis-mysql]# unzip phpredis-master.zip -d /usr/src/
[root@dal redis-2.8.19]# cd /root/redis-mysql
[root@dal redis-mysql]# cd /usr/src/phpredis-master/
[root@dal phpredis-master]# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
[root@dal phpredis-master]# ./configure --with-php-config=/usr/bin/php-config
[root@dal phpredis-master]# make && make install
七、让 php 支持 redis
[root@dal phpredis-master]# vim /etc/php.ini
#在末尾添加
extension=redis.so
浏览器访问查看有没有 redis 模块
八、进入 MySQL 插入数据
[root@dal ~]# mysql -uroot -p123
mysql> create database mytest;
Query OK, 1 row affected (0.00 sec)
mysql> use mytest;
Database changed
mysql> create table test(id int,name char(10));
Query OK, 0 rows affected (0.00 sec)
mysql> desribe test;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desribe test' at line 1
mysql> describe test;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | char(10) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> insert into test values (1,'a1'),(2,'a2'),(3,'a2'),(4,'a4'),(5,'a5');
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select *from test
-> ;
+------+------+
| id | name |
+------+------+
| 1 | a1 |
| 2 | a2 |
| 3 | a2 |
| 4 | a4 |
| 5 | a5 |
+------+------+
5 rows in set (0.00 sec)
mysql>
mysql> exit
九、编写 reids 脚本
[root@dal ~]# vim /www/index.php
<?php
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
//开启debug
// mysql 库: mytest 表:test
$redis = new redis();
$redis->connect('127.0.0.1',6379);
$query = "select * from test limit 5";
for ($key=1;$key<=5;$key++)
{
if (!$redis->get($key))
//判断redis中是否有1 2 3 4 5 的键,没有连接数据库查询mytest库的test表,然后插入到redis中
{
$connect = mysql_connect('127.0.0.1','root','123');
mysql_select_db(mytest);
$result = mysql_query($query);
var_dump ($result);
while ($row = mysql_fetch_assoc($result))
{
$redis->setex($row['id'],30,$row['name']);
//从MySQL中获取的资源插入到redis中,并设置有效时间为30s
}
$myserver = 'mysql';
break;
}
else
//判断redis中是否有1 2 3 4 5 的键,有直接打印redis中的 1 2 3 4 5 键的值。
{
$myserver = "redis";
$data[$key] = $redis->get($key);
}
}
echo $myserver;
echo "<br>";
for ($key=1;$key<=5;$key++)
{
echo "number is <b><font color=#FF0000>$key</font></b>";
echo "<br>";
echo "name is <b><font color=#FF0000>$data[$key]</font></b>";
echo "<br>";
}
?>
十浏览器访问测试