2018-6-25笔记
LAMP架构介绍
Apache通过PHP与mysql进行沟通(动态)
11.2 MySQL;MariaDB介绍
10.3 10.4 10.5MySQL安装(上)(中)(下)
MySQL的常用安装方法:rpm包(没办法定义安装路径)、源码编译、二进制免编译安装(事先编译好的,可以自定义放置目录)
首先下载安装包(根据平台下载所需包)
# wget …网址…
可以将会用到的软件包 放到/usr/local/src/下,便于查找
下载完成后首先进行解压:
# tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
为方便实用,更改目录并改名为mysql
# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
# cd /usr/local/mysql/
# ls
# useradd mysql 创建mysql用户
#mkdir /data/ 创建一个data目录
#./scripts/mysql_install_db --user=mysql–datadir=/data/mysq/(/data/mysql/)初始化文件并指定用户名和数据存放目录
提示:初始化时,缺少依赖包
安装perl
# yum list |grep perl -I dumper 不确定安装时候选择模糊查找或者直接上网搜索
# yum install -y perl-Data-Dumper 这个就是所依赖的包
检验,用过里面的ok字样,或者。。。echo $?
接下来拷贝配日志文件和启动脚本,# cp support-files/my-defauit.cnf /etc/my.cnf
拷贝启动脚本:
# cp support-files/mysql.server /etc/init.d/mysqld
修改:
修改权限为755,并加入系统服务列表内,保证开机启动
启动:# service mysqld start
查看进程:# ps aux |grep mysql
查看端口# netstat -lntp
命令行启动:、
关闭,除了关闭服务外还可以# killall mysqld:
如果脚本,不能放到/etc/init.d/下,或者没有脚本模板
mysql 常用引擎:innodb myisam
11.6 安装maiadb
安装过程类似mysql
初始化过程中有配置了一个basedir,可以避免与mysql冲突
拷贝,提供多个模板文件
编辑配置文件、脚本:
定义conf后要启动
启动
11.7 11.8 1.9 安装Apache(上)(中)(下)
下载3个包在src目录下
wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.26.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-1.5.2.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.bz2
解压
tar -zxvfhttpd-2.4.26.tar.gz
tar -zxvfapr-1.5.2.tar.gz
tar -bxvfapr-util-1.5.4.tar.bz2
首先安装apr(进入apr目录)
这里安装可能会提示缺少gcc # yum install -y gcc安装
cd apr-1.5.2.tar.gz
./configure--prefix=/usr/local/apr 安装 prefix指定安装路径
安装完后# echo $? 检查是否成功
make&&make install 编译
安装apr-util
cd apr-util-1.5.4.tar.bz2
./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr 需要指定apr包
# echo $?
make&&makeinstall
安装httpd
cd httpd-2.4.33.tar.gz
yum install -ypcre-devel.x86_64
./configure--prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most (指定支持动态扩展(so)指定支持加载哪些模块(most))
可能缺少pcre,直接安装
make
make install
安装完成
启动
apache目录下介绍
bin/httpd ---启动文件(核心)
conf --配置文件
htdocs --存放访问页(默认网站放在这)
logs ----错误/访问日志
modules --扩展模块
11.10 11.11 11.12 安装php(上)(中)(下)
下载php
wgethttp://cn2.php.net/distributions/php-5.6.32.tar.bz2
安装
./configure--prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/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-zzlib-dir --with-bz2 --with-openssl --with-mcrypt--enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets--enable-exif
echo $?
(--with-apxs2=/usr/local/apache2.4/bin/apxs
apxs 为httpd的一个工具,因为有它才会自动把PHP模块安装到httpd的modules目录下,也就是说php将会以一个模块的形式和httpd结合在一起工作)
make&&imakeinstall 编译
在编译过程中可能会提示报错,像是少库之类的:
错误1:check you libxml2installation
解决方法: yum install -y libxml2-devel
错误2:cannot findOpenSSL's<evp.h>
解决方法;yum install -y openssl-devel
错误3: checking for BZip2 in default path...not found
解决方法:yum install -y bzip2-devel
错误4:configure:error:png.h not found.
解决方法:yum install -y libpng-devel
错误5:configure :error:freetype.h not found
解决方法;yum install -y freetype-devel
错误6;erroe; mcrypt.h not found . Please reinstall libmcrypt
解决方法;yum install -y epel-release
yum install -y libmcrypt-devel
(centos默认的源没有libmcrypt-devel这个包,所以要借助安装epel扩展源来安装)
echo $?
PHP和httpd通过libphp5.so来结合一起
查看apache加载了那些模块(可以看到下面有个php5模块,说明apache要想执行pho文件和脚本需要依赖这个模块)而php模块时跟mysql打交道。
查看php加载了那些模块
编辑apache的配置文件
打开:vim /usr/local/apache2.4/conf/httpd.conf --搜php5
下图可以看到显示自动增加了一行php5模块。#号注释掉的都不会加载出来,相反要想加载把#号去掉
/usr/local/php/bin/php-i |less --查看php信息(查看到之前编译参数)
拷贝php配置文件
cpphp.ini-production /usr/local/php/etc/php.ini (适合用在生产环境使用)
cpphp.ini-development /usr/local/php/etc/php.ini (适合在测试环境使用)
11.13 安装PHP7
1. wgethttp://cn2.php.net/distributions/php-7.1.6.tar.bz2
2../configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs--with-config-file=path=/usr/local/php7/etc --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-zzlib-dir --with-bz2 --with-openssl --with-mcrypt--enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets--enable-exif
3.make&&make install
4.cp php.ini-production /usr/local/php7/etc/php.ini
11.14 11.15Apache与PHP结合(上)(下)
编辑配置文件:
关闭这个提示,修改配置文件中ServerName
1.编辑httpd的配置文件,去掉的井号。(可以让apache启动的时候不出现如下图类似错误的提示,)
如果再次启动的时候出现如下错误,可能是文件里加载了两个php,
如下图我们注释掉其中一个php。
2.把改成
。(如果不改掉在浏览器访问本机ip会是forbidden,状态码是403,)
(在浏览器打开ip地址的时候404,遇到这种情况我们排查的时候可以先用windows运行ping一下ip通不通,然后再看看端口通不通,用运行看端口通不通的时候会提示没有该命令
我们需要设置一下,在windows的控制面板里,程序和功能里的打开或关闭windows功能里,然后点击然后点确定。
如果80端口通的,那么就会显示空白,如果端口不通会显示正在连接,如果端口不通那么一定是linux没有打开端口,我们可以给它临时加上80端口,之后浏览器应该就可以访问了。)
3.因为我们要支持php,所以要增加一行和php有关的配置在这个位置,
增加一个索引页,把改成
(可以让你访问网页的时候不加index.php也能访问主页)
改好之后使用检查配置语法是否正确,然后重新加载配置文件
,(这里分享一个快捷键,使用ctrl+r键,然后输入命令的部分可以调用历史记录里的命令)
我们可以来验证一下现在apache到底支不支持解析php呢,我们可以写一个测试的php脚本:
然后在里面添加并保存,他可以吧php相关信息打印出来,然后在浏览器打开ip地址后面加/1.php,如果出现一个表格就说明php支持解析了,如果不支持解析就会显示我们刚刚添加的源代码。
如果解析不了就要看看Apache配置文件,看看有没有加载php5。
查看看有没有这个模块
如果有模块需要检查一下配置文件
看看里面有没有加载php5的这行配置
如果有那么我们继续检查配置文件里有没有加
扩展::::
https://www.cnblogs.com/sos-blue/p/6852945.html
https://jingyan.baidu.com/article/b87fe19eb57ff252183568d9.html
安装discuz 前创建mysql用户名密码
apache apxshttp://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/programs/apxs.html
apache工作模式 http://www.cnblogs.com/fnng/archive/2012/11/20/2779977.html
php中mysql,mysqli,mysqlnd,pdo到底是什么http://blog.****.net/u013785951/article/details/60876816
查看编译参数 http://ask.apelearn.com/question/1295