ubuntu16.04系統下搭建ngnix、php、mysql和Redis環境,實現數據庫讀寫分離

在學習完Redis後,相信很多人都對明白瞭mysql+redis的開發模式有瞭一些心得認識。那麼,在這裡給大傢先分析一下Mysql+Redis的開發優勢。

做過項目開發的人應該都知道,讀寫一體的操作對mysql的壓力是很大的,這張圖片中完美的解釋瞭mysql+redis的開發是怎樣的一種模式。

現在介紹一下相關環境的搭建:

一、ubuntu16.04下的ngnix+php+mysql環境搭建:

安裝LNMP環境

1.apt-get安裝

apt-get install nginx mysql-server php

(註意哦,新版本的mysql安裝時必須要設密碼的,要是你沒有設置密碼,那恭喜你走上瞭我的不歸路瞭,做好時刻準備重新安裝的準備。因為新版的額mysql的root用戶必須設置密碼,如果在安裝過程中,你也像小編一樣直接一直enter過去,mysql是會給你默認生成一堆密碼的。然後你就登錄不瞭。!!!)

2.配置nginx,支持php

vi /etc/nginx/sites-available/default
......
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#修改後如下:
location ~ \.php$ { 
    try_files $uri /index.php =404;
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
         fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
         fastcgi_index index.php;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
}
......

3.重啟nginx,測試

vi /var/www/html/info.php

然後訪問頁面看到php的相關信息,基礎環境就算搭建完成瞭。(哦,對瞭。這裡測試的時候註意點,你要在配置文件中讓nginx來解析php,否則你訪問隻能把php文件下載下來,而沒辦法讓其去解析。我在配置文件中已經修改過瞭哦。)

二、安裝redis

1.安裝redis和php的redis擴展

apt-get install redis-server
apt-get install git php-dev
git clone https://github.com/nicolasff/phpredis.git   //這裡註意一下那個有php7的是沒辦法完成的,應該是github上的變化,現在直接克隆這個就可以瞭。
cd phpredis/
phpize
./configure
make
make install

2.配置php的redis擴展

sudo vim /etc/php/7.0/fpm/conf.d/redis.ini  //這個是寫一個配置文件

extension=redis.so  //配置文件的內容(沒錯,就這一句)

3.重啟fpm,訪問info.php,就能看到redis擴展

/etc/init.d/php7.0-fpm restart

五、讀取測試

connect('localhost','6379') or die ("Could net connect redis server!");

//$redis->auth('*****'); //登錄驗證密碼,返回【true | false】

$redis->ping();  //檢查是否還再鏈接,[+pong]
  
$redis->select(0);//選擇redis庫,0~15 共16個庫 
  
//設置數據  
$redis->set('school','Xi`An University of Posts & Communications');  
//設置多個數據  
$redis->mset(array('name'=>'caoyouming0609','age'=>22,'height'=>'1.70'));  
//存儲數據到列表中  
$redis->lpush("tutorial-list", "Redis");  
$redis->lpush("tutorial-list", "Mongodb");  
$redis->lpush("tutorial-list", "Mysql");  
  
//獲取存儲數據並輸出  
echo $redis->get('school');  
echo '
'; 
$gets=$redis->mget(array('name','age','height')); 
print_r($gets);
echo '
'; 
$tl=$redis->lrange("tutorial-list", 0 ,5);  
print_r($tl);  
echo '
'; 

//釋放資源
$redis->close();
?>  

OK,到這裡mysql+redis的配置就算完成瞭。

You May Also Like