lamp+redis

实验环境

centos7.6
lamp 192.168.254.13
redis 192.168.254.13php

实验目的

利用discuz这个开源的论坛(就跟wordpress同样)搭建一个动态网站,而且结合redis缓存数据库来减轻mysql/mariadb数据库的读写压力html

认识关系型数据库和非关系型数据库是如何协调工做的
mysql

lamp架构部分

安装依赖包c++

yum -y install php php-bcmath php-cli php-common php-gd php-ldap php-mbstring php-mysqlnd php-pear php-pdo php-xml php-xmlrpc php-devel
yum install httpd
yum install MariaDB


进行php页面测试git

vim /var/www/html/index.php
<?php
phpinfo();
?>
service httpd restart

安装 discuz


下载包github

wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip 

 


解压包redis

[root@localhost ~]# unzip Discuz_X3.2_SC_UTF8.zip 

 


把论坛相关文件和目录拷贝到apache根目录sql

[root@localhost ~]# cp -R ./upload /var/www/html

 


修改属主和属组数据库

chown apache:apache -R ./upload 

 


修改权限apache

[root@localhost html]# cd upload/
[root@localhost upload]# chmod -R 777 config
[root@localhost upload]# chmod -R 777 data
[root@localhost upload]# chmod -R 777 uc_client
[root@localhost upload]# chmod -R 777 uc_server

 


建立数据库

MariaDB [(none)]> create database discuz;

在浏览器输入http://192.168.254.13/upload/install
按提示走一遍向导就能够了

redis部分

redis应用程序的安装和配置

下载redis程序包

wget http://download.redis.io/releases/redis-3.2.1.tar.gz  redis下载地址

 


须要gcc环境

yum install -y gcc gcc-c++ 

 


解压文件

tar -zxvf redis-3.2.1.tar.gz 

 


安装

cd redis-3.2.1
make PREFIX=/usr/local/redis install 

 


软连接一下命令

cp /usr/local/redis/bin/* /usr/local/bin/ 

 


启动脚本

cp /root/redis-3.2.1/utils/redis_init_script /etc/init.d/redis

 


给启动文件执行权限

chmod +x /etc/init.d/redis    

 


建立redis配置目录

mkdir /etc/redis    

 


复制配置文件

cp /root/redis-3.2.1/redis.conf /etc/redis/6379.conf

 


修改配置文件

vi /etc/redis/6379.conf 
bind 0.0.0.0 #在61行 本来是127.0.0.1 改成0.0.0.0 这样才可让lamp调用redis
daemonize yes #在128行 找到这一行 本来为no 改成yes,yes表示以守护进程的方式启动

 


增长内核参数

vim /etc/sysctl.conf
vm.overcommit_memory=1
sysctl -p
做用:表示内核容许分配全部的物理内存,而无论当前的内存状态如何。
/etc/init.d/redis start    

 

redis驱动程序的安装和配置

安装依赖环境

yum install -y gcc gcc-c++

 


下载php链接mysql的驱动程序

wget https://github.com/phpredis/phpredis/archive/3.1.2.tar.gz

 


解压

tar zvxf 3.1.2.tar.gz

 


编译安装

cd phpredis-3.1.2/
phpize
./configure --with-php-config=/usr/bin/php-config --enable-redis && make && make install
note:    phpize是一个运行脚本,主要做用是检测php的环境还有就是在特定的目录生成相应的configure文件,这样make install以后,
生成的.so文件才会自动加载到php扩展目录下面。

 


修改php.ini配置文件

vim /etc/php.ini
extension= "/usr/lib64/php/modules/redis.so"

 


验证

php -m |grep redis

 


修改网站配置文件

cd /var/www/html/upload/config/

 

 

 

vim config_global.php #确认如下两项是否正确
// -------------------------- CONFIG MEMORY --------------------------- //
$_config['memory']['redis']['server'] = '192.168.254.13';
$_config['memory']['redis']['port'] = 6379;

重启apache服务

service httpd restart

 

验证

1.查看当前的redis是否有数据

[root@localhost config]# redis-cli 
127.0.0.1:6379> keys *
(empty list or set)

 


2.在discuz上建立一个用户,而后再去查看redis,若是出现如下数听说明写入的东西已被缓存

127.0.0.1:6379> keys *
1) "Sp6EHF_usergroup_10"
2) "Sp6EHF_common_member_count_2"
3) "Sp6EHF_usergroups"
4) "Sp6EHF_common_member_field_home_2"
5) "Sp6EHF_cronnextrun"
6) "Sp6EHF_common_member_status_2"
7) "Sp6EHF_stamptypeid"
8) "Sp6EHF_creditrule"
9) "Sp6EHF_userapp"
10) "Sp6EHF_diytemplatenamehome"
11) "Sp6EHF_setting"
12) "Sp6EHF_style_default"
13) "Sp6EHF_ipctrl"
14) "Sp6EHF_plugin"
15) "Sp6EHF_magic"
16) "Sp6EHF_pluginlanguage_system"
17) "Sp6EHF_pluginlanguage_script"
18) "Sp6EHF_fields_required"
19) "Sp6EHF_fields_register"
20) "Sp6EHF_common_member_2"
21) "Sp6EHF_usergroup_7"
22) "Sp6EHF_fields_optional"
23) "Sp6EHF_modreasons"

 


3.在去查看mysql|mariadb数据库里面的数据是否有数据,fengzi就是新添加的用户,能够看到已经写入到数据库当中

MariaDB [discuz]> use discuz
MariaDB [discuz]> select email,username,password,status from pre_common_member;
+-----------------+-----------+----------------------------------+--------+
| email | username | password | status |
+-----------------+-----------+----------------------------------+--------+
| admin@admin.com | admin | 2476b26ad347396b93759bd4c9056144 | 0 |
| fengzi@qq.com | fengzi | 40894c6afbd4934988c811abedcd766b | 0 |
+-----------------+-----------+----------------------------------+--------+

 


4.删除fengzi这个用户以后在去用fengzi这个用户登陆网站,能够发现照样能够登陆,说明redis已经缓存到了咱们的用户名和密码,能够直接在redis里验证,不须要调用mysql数据库

MariaDB [discuz]> delete from pre_common_member where username='fengzi'

 


5.清空redis缓存,而后再去用fengzi登陆,发现登陆不了了,更加印证了咱们的第4步

127.0.0.1:6379> flushall

 


测试php和mariadb

vim /var/www/html/index.php
<?php
$conn = mysql_connect('127.0.0.1','root','root'),
if ($conn)
echo "OK";
else
echo "Failure";
mysql_close();
phpinfo();
?>
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息