LA|NMP+Redis主從實戰

企業架構LA|NMP+Redis主從實戰php

一、        LA|NMP+Redis架構概念css

1)            LA|NMP WEB架構,Linux+Apache|Nginx+MYSQL|Mariadb+PHP主流的架構;html

2)           Linux,是開源一套操做系統,主要做爲應用軟件底層;mysql

注意:Apache就是httpdredis

3)           Apache,WEB服務器,用於發佈靜態頁面,html、txt、js、css、png、gif、jpeg等,跟數據庫沒有交互的,是世界上使用的最多的WEB服務器,最新版本httpd-2.4版本;sql

4)           MYSQL,被oracle公司收購了,開放版本、商業版本,獨立出來以後,開發了一套開源數據庫,Mariadb,徹底兼容MYSQL全部的指令和參數,關係型數據庫系統,CentOS7開始,內置Mariadb;數據庫

5)           PHP,PHP是一門動態語言,底層核心代碼是經過C寫,能夠編寫PHP代碼(PHP網頁);apache

6)           Redis,內存數據庫,內存緩存,其數據放在內存中的,服務重啓、系統重啓,Redis內存中數據丟失,如何作到持久化,Redis有一個機制,往硬盤sync數據,加載硬盤Redis數據到內存,提供服務。vim

二、       LAMP工做原理瀏覽器

1)           用戶瀏覽器發起www.jfedu.net HTTP請求,Apache WEB服務器收到請求以後,判斷用戶訪問文件,默認訪問/index.php;

2)           Apache WEB服務器從硬盤、內存中讀取index.php文件,判斷該文件類型,該類型.php結尾;

3)           Apache將index.php頁面轉發給PHP解釋器(PHP模塊),PHP解釋器讀取index.php,解析成html頁面,而後將html返給Apache;

4)           Apache將html頁面返回給瀏覽器,瀏覽器經過類型調用不一樣程序解析、渲染該文件成頁面,最終瀏覽器展現。

5)           若是用戶請求的靜態頁面,Apache判斷用戶請求頁面後綴爲靜態頁面,Apache直接處理。

 

三、           LAMP部署實戰

1)           Linux軟件根據內容分類,二進制軟件、源代碼軟件;

2)           二進制軟件,內容包含bin文件、二進制可運行文件,能夠直接,簡單安裝便可使用,以.rpm、.zip、.tar.gz、.rar、.war包;

3)           源代碼軟件,內容包含.cpp、.c、.h、.o結尾的文件,不能直接使用,須要通過編譯方可以使用,後綴通常是.zip、.tar.gz、.tar、.tar.bz2;

4)           二進制軟件安裝方法,解壓便可使用,或者經過rpm -ivh命令或者yum install命令安裝;

5)           源代碼軟件安裝方法,解壓,須要./configure預編譯、make編譯、make install安裝;

6)           基於二進制方式來安裝LAMP軟件,yum  install httpd httpd-devel mysql-server mysql mysql-devel php php-devel php-libs –y

注意:光盤裏面的包是RPM包( 二進制包)。src、rpm包須要編譯,安裝命令:rpm -ivh xxx.rpm。

libphp5做用:解析PHP動態頁面

三臺機器:LANP+Discuz、Redis主庫、Redis從庫

在LANP+Discuz上操做,先下載好軟件,下面是部署LANP。

[root@localhost ~]# cd /var/www/html
[root@localhost html]# rm -rf *
[root@localhost html]# pwd
/var/www/html
[root@localhost html]# vim test.php
<?php
phinfo();
?>
[root@localhost html]# cat test.php                #php測試頁面用來php環境是否初始化成功
[root@localhost html]# /etc/init.d/httpd restart              #重啓apache服務
Stopping httpd:                                          [ ok ]                               
Staring  httpd: httpd :Could not reliably determine the server's fully qualified domain name    #找不到serverName ,緣由沒有定義
using localhost.localdomain for serverName                  [  ok  ]
root@localhost html]# vim /etc/httpd/ /conf/httpd.conf        #定義serverName 
/ServerName                           #搜索ServerName
ServerName www.example.com:80        #把ServerName後面改爲localhsot 
[root@localhost html]# /etc/init.d/httpd restart                                       #從新啓東apache服務
............................                            [ ok ]
............................                            [ ok ]
[root@localhost html]# !ps                                                        #查看啓動的apache服務

在百度上輸入:192.168.11.131/test.php ,便可打開php頁面,這個是頁面是PHP解析事後的。192.168.11.131這個IP地址要在Windows上面,可以ping通。

若是在頁面上面,獲得三行代碼。說明PHP環境沒有解析成功,php.test文件在作完測試,就要刪除掉。

 

LAMP發佈PHP網站,如何發佈呢

查看發佈的目錄

[root@localhost html]# pwd                         
/var/www/html                                       # 發佈的目錄
[root@localhost html]# vim /etc/httpd/conf/httpd.conf                #查看apache主配置文件
/DocumentRoot                                         #搜索DocumentRoot 目錄

下載一個程序,在百度上面,搜索discuz,並從官網上面下載,下一個最新的

 

回到服務器LANP+Discuz,複製簡體utf8下載地址。

[root@localhost html]# http://download/comsenz.com/Discuzx/3.4/Discuz_x3.4_sc_UTF8.zip         #若是不行就用wget
[root@localhost html]# wget http://download/comsenz.com/Discuzx/3.4/Discuz_x3.4_sc_UTF8.zip     #在線下載
[root@localhost html]# ll                                                          #查看下載的包          
[root@localhost html]#  unzip Discuz_x3.4_sc_UTF8.zip                        #解壓縮
[root@localhost html]#ll                      #查看解壓縮的                        
Discuz_x3.4_sc_UTF8.zip readme    test.php   upload utility 
[root@localhost html]# cd upload/                      #查看下載的代碼     
[root@localhost upload]#​ls​
admin.php      config    .....     .... index.php   plugin.php  
...             connect.php ....
...             ...          ...    ...  ....          ....                      
...              ...            .. ....                        ..       
[root@localhost upload]#​pwd
/var/www/html/upload                       #/var/www/html/ 是網站根目錄的子目錄                   
[root@localhost upload]# mv * /var/www/html/                         #移到上級目錄,/var/www/html/ 是網站根目錄
[root@localhost upload]#cd ..
[root@localhost html] #ls
​​​​

在百度上面搜索install目錄

緣由apache沒有寫權限

[root@localhosthtml]# pwd
/var/www/html
[root@localhost html]# ps-ef | grep http

[root@localhost html]# ll

增長寫的權限

[root@localhost html]# chmod o+w data/ config uc_* -R                #寫的權限

而後刷新百度頁面

若是mysql連不上,說明缺乏一個MySQL驅動,直接點下一步,下一步

在服務器上面查看有沒有建立用戶名。

[root@localhosthtml]# cd
[root@localhost ~]#mysql
ERROR 2002 (HY000) : Can't connect to local mysql server through socker 'varlib/mysql.sock' (111)
[root@localhost ~]# /etc/init.d/mysql restart #啓動數據庫服務
[root@localhost ~]# mysql                                     #進入mysql
....
mysql> show batabases;                                          #查看啓動成功嗎
...
mysql> drop batabases ultrax;                                            #刪掉這個庫
mysql> exit或者ctrl+c                              #退出
[root@localhost ~]#mysql                                                   #再進去MySQL一次
mysql> show batabases; 



[root@localhost ~]# mysql                                               #開始建立數據庫
mysql> create batabases disscuz charset=utf8;
mysql> show batabases; #查看啓動成功嗎

[root@localhost html]# /etc/init.d/mysql restart                        #啓動數據庫服務

授予MySQL權限


[root@localhost ~]# mysql                                     #進入mysql
....
mysql> grant select,create,insert,update,drop,delete          #設置權限或者grant all on discuz.* to jfedu@'%' identified by "lqaz@WSX"
mysql> flush privileges



mysql> drop batabases ultrax;                                            #刪掉這個庫  

寫IP地址就好了

若是想使用localhsot地址,就把%去掉

換成localhost,登錄MySQL就須要密碼了

 

安裝Redis

(1)、安裝命令:yum install -y  redis,而後重啓:/etc/init.d/redis restart

編輯vim /etc/redis.conf,搜索dir,命令:/dir

[root@localhost ~]# /etc/init.d/redis restart                              #再重啓一下   

[root@localhost ~]# ps -ef |grep redis            
[root@localhost ~]# redis-cli                                          #進入redis服務中             

 

 

 

 

(2)、二進制安裝:wget http://download.redis.io/releases/redis-2.8.13.tar.gz

tar -zxvf redis-2.8.13.tar.gz

cd redis-2.8.13

make PREFIX=/usr/local/redis/

cp redis.conf /usr/local/redis/

將/usr/local/redis/bin/目錄加入至環境變量配置文件/etc/profile末

相關文章
相關標籤/搜索