LAMP架构介绍:
LAMP是Linux apache MySQL php的简写,即可吧apache MySQL和PHP安装在Linux系统上,
组成一个坏境来运行PHP的脚本语言,通常是网站。
Linux是操作系统
apache提供web的一个软件
MySQL 存储的一个软件,数据库
PHP 脚本语言
三个角色可以在一台机器,也可以分开。不过 MySQL和PHP要在一起。
MySQL——Maria DB 介绍
MySQL介绍:
MySQL是一个关系型数据库,由MySQL ab公司开发,MySQL在2008年被sun公司10亿$收购,
2009年sun公司被Oracle公司收购(74亿$)
MySQL官网:https//:www.mysql.com
community 社区版本,Enterprise 企业版, GA(Generally Available)通用版本,生产环境中用。
DMR(Development Milestone Release)开发里程碑发布版。
RC(release candidate) 发行候选版本,beta开发测试版本(对外),alpha内部测试版本。
MySQL安装
介绍:
我们平时是通过源码包安装MySQL,由于它的编译时间比较长,通常用二进制免编译包。
源码包都是可以更改的C或者C++语言编写的源码文件。
而免编译的二进制包就是已经编译过的文件再打包提供给我们似乎用的。
MySQL版本比较多,并不是用最新的才更好,因为新版本难免会有一些bug。
mysql的几个常用的安装包:rmp、源码、二进制免编译
[root@localhost ~]# uname -i 查看自己操作系统多少位
x86_64
[root@localhost ~]# cd /usr/local/src/ 进入到目录,建议以后所有的软件包都放到这个目录下
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# wget -c http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
-bash: wget: 未找到命令
[root@localhost src]# yum -y install wget 安装wget命令
已加载插件:fastestmirror
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
updates/7/x86_64/primary_db | 2.7 MB 00:00:01
Determining fastest mirrors
* base: mirrors.163.com
* extras: mirrors.cn99.com
* updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 wget.x86_64.0.1.14-15.el7_4.1 将被 安装
--> 解决依赖关系完成
依赖关系解决
========================================================================================
Package 架构 版本 源 大小
========================================================================================
正在安装:
wget x86_64 1.14-15.el7_4.1 base 547 k
事务概要
========================================================================================
安装 1 软件包
总下载量:547 k
安装大小:2.0 M
Downloading packages:
wget-1.14-15.el7_4.1.x86_64.rpm | 547 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : wget-1.14-15.el7_4.1.x86_64 1/1
验证中 : wget-1.14-15.el7_4.1.x86_64 1/1
已安装:
wget.x86_64 0:1.14-15.el7_4.1
完毕!
[root@localhost src]# wget -c http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz 下载源码包
--2018-06-27 17:13:12-- http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
正在解析主机 mirrors.sohu.com (mirrors.sohu.com)... 221.236.12.140
正在连接 mirrors.sohu.com (mirrors.sohu.com)|221.236.12.140|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:316320366 (302M) [application/octet-stream]
正在保存至: “mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz”
100%[==============================================>] 316,320,366 1.48MB/s 用时 4m 31s
2018-06-27 17:17:44 (1.11 MB/s) - 已保存 “mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz” [316320366/316320366])
[root@localhost src]#tar -xvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz 解压
挪动位置并且改名
[root@localhost src]# mv ./mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz /usr/local/mysql11
进入到usr/local/mysql目录下,要确认目录下是否有bin data等目录
[root@localhost mysql]# ls
bin data include man README share support-files
COPYING docs lib mysql-test scripts sql-bench
创建个MySQL个用户
[root@localhost mysql]# useradd mysql
指定用户为MySQL 在指定datadir(数据库目录,指定给目录,目录不存在的话,上一级目录存在自动创建)
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
[root@localhost mysql]# ls support-files/my-default.cnf
support-files/my-default.cnf
[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
vim进行编辑,编辑内容如下
sql_mode=NO_ENGINE_SUBSTITUTION,STRRTCT_TRANS_TABLES
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
"/etc/my.cnf" 34L,1187c
启动脚本文件并修改其属性
[root@localhost mysql]# ls support-files/ #查看这个目录下都有哪些文件
binary-configure magic my-default.cnf mysqld_multi.server mysql-log-rotate mysql.server
[root@localhost mysql# cp support-files/mysql.server /etc/init.d/mysqld
#把mysql.server拷贝到/etc/init.d/mysqld下面去
权限变更 755
[root@localhost mysql]# ls -l /etc/init.d/mysqld
-rwxr-xr-x. 1 root root 10875 6月 25 02:40 /etc/init.d/mysqld
修改启动脚本
vim /etc.init,d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
如果想设定启动脚本假如系统服务项,开机启动并启动mysql操作如下:
[root@localhost mysql]# chkconfig --add mysqld #把mysqld服务假如到系统服务列表中
[root@localhost mysql]# chkconfig mysqld on #使其开机启动
[root@localhost mysql]# service mysqld start #启动服务
Maria DB安装
进入到目录,下载包(默认安装路径 /usr/local/src )
[root@localhost mysql]# cd /usr/local/src
安装免编译二进制源码包,需要很久时间,提前安装。
wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
解压
[root@localhost mysql]#tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
进入到这个目录下
[root@localhost mysql]#cd /usr/local/mariadb
更改权限
[root@localhost mysql]#./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
拷贝配置文件
[root@localhost mysql]#cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
[root@localhost mysql]#cp support-files/mysql.server /etc/init.d/mariadb #启动脚本
定义basedir和datadir
[root@localhost mysql]# vim /etc/init.d/mysqld #修改这个脚本启动文件,添加conf
basedir=/usr/local/mariadb
datadir=/data/mariadb
conf=$basedir/my.cnf
修改启动脚本的配置文件
[root@localhost mariadb]# vim /etc/init.d/mariadb #找到300行添加一段
--defaults-file=$conf
启动服务
/etc/init.d/mariadb start
安装PHP5
介绍:
关于php的版本,目前大多企业都会使用5.4以及更高的版本,甚至越来越多的企业使用PHP7版本。
7和5两个版本还是又很大差异的,7的话有很大的性能提升。
PHP官网:hhtp://www.php.net/downloads.php
首先,进入到下载的目录下
[root@localhost src]# cd /usr/local/src/
[root@localhost src]# pwd
/usr/local/src
下载源码包
[root@localhost src]# wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
解压源码包
[root@localhost src]# tar zxvf php-5.6.30.tar.gz
进行编译及安装
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-pdo-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif
有报错,第一次安装缺少很多源码包,先逐个安装一下
报错1
configure: error: xml2-config not found. Please check your libxml2 installation.
解决办法如下:
yum install -y libxml2-devel
报错2
configure: error: Cannot find OpenSSL's <evp.h>
解决办法如下:
yum install -y openssl openssl-devel
报错3
checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution
解决办法如下:
[root@zhang-01 php-5.6.30]# yum install -y bzip2 bzip2-devel
报错4
configure: error: jpeglib.h not found.
解决办法如下:
yum install -y libpng libpng-devel
报错5
configure: error: jpeglib.h not found.
解决办法如下:
yum install -y freetype freetype-devel
报错6
configure: error: jpeglib.h not found.
解决办法如下:
yum install -y epel-release
yum install -y libmcrypt-devel
CentOS默认的yum源没有libmcryot-devel这个包,所以只能借助epel yum扩展源
再次安装给yum包
[root@localhost php-5.6.30]# yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y
再次编译安装
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-pdo-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif
make
make install