LA|NMP+Redis主从实战

企业架构LA|NMP+Redis主从实战

1、        LA|NMP+Redis架构概念

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

2)           Linux,是开源一套操作系统,主要作为应用软件底层;

注意:Apache就是httpd

3)           Apache,WEB服务器,用于发布静态页面,html、txt、js、css、png、gif、jpeg等,跟数据库没有交互的,是世界上使用的最多的WEB服务器,最新版本httpd-2.4版本;

4)           MYSQL,被oracle公司收购了,开放版本、商业版本,独立出来之后,开发了一套开源数据库,Mariadb,完全兼容MYSQL所有的指令和参数,关系型数据库系统,CentOS7开始,内置Mariadb;

5)           PHP,PHP是一门动态语言,底层核心代码是通过C写,可以编写PHP代码(PHP网页);

6)           Redis,内存数据库,内存缓存,其数据放在内存中的,服务重启、系统重启,Redis内存中数据丢失,如何做到持久化,Redis有一个机制,往硬盘sync数据,加载硬盘Redis数据到内存,提供服务。

2、       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直接处理。

3、           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末

猜你喜欢

转载自my.oschina.net/u/3803405/blog/1819538
今日推荐