5月24日
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5月24日相关的知识,希望对你有一定的参考价值。
11.6 MariaDB安装
安装与mysql类似也是二进制包安装:
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
tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
4、再移动到/usr/local目录下并命名为mariadb:
mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
7、然后使用命令:echo $? 确认是否初始化OK是否为0,对应的目录下也生成了相关目录,与安装mysql类似 :
cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
vi /usr/local/mariadb/my.cnf (基本上是不用改)
cp support-files/mysql.server /etc/init.d/mariadb
//定义basedir、datadir、conf以及启动参数
定义conf 添加--defaults-file="$conf"
备注:此启动脚本由于mariadb与mysql装在一台机器上,为了区分开来,需要定义conf与变量,如果只装mariadb的话就不需要定义。
12 .启动MariaDB,启动之前看看有没有mysqld的服务在启动,如果有它们是会冲突的,因为它们的监听端口是一样的:
ps aux|grep mysql //查看进程是否有mysql
service mysqld stop //关掉mysql进程
12.1启动mariadb服务 命令:service mariadb start 或者 /etc/init.d/mariadb start
13 再用 ps aux |grep mariadb 查看进程是否运行和 netstat -ltnp 查看端口是否启动
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
tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
vi /usr/local/mariadb/my.cnf //定义basedir和datadir
cp support-files/mysql.server /etc/init.d/mariadb
vim /etc/init.d/mariadb //定义basedir、datadir、conf以及启动参数
11.711.811.9 Apache安装
Apache是一个基金会的名字,它最早就是httpd起家的,因为httpd使用的人很多,很流行,所以当时就以基金会的名字来命名的web服务软件 ,在早期的时候,名字就叫做Apache,而不是叫httpd,后来在http的2.0版本开始,就改名叫httpd,但是很多人还是习惯叫做Apache
Apache的主流版本,在之前是 1.3版本比较流行,后来出了2.0版本,2.2版本,2.4版本,现在主流版本是 2.4版本
apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地进行移植(从linux移植到windows)
而centos系统,默认自带的apr,也就是yum安装的apr和2.4版本是不匹配的,所以无法使用yum安装的apr,所以需要自己去手动编译
Apache2.4版本编译起来麻烦,就是因为需要手动编译 apr 和 apr-util 这两个包
Apache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache
wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz
apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植(从linux移植到windows)
tar zxvf apr-util-1.6.1.tar.gz
./configure --prefix=/usr/local/apr
只需要安装gcc编译器即:yum install -y gcc
6.进入apr-util目录,安装apr-util,apr-util要指定apr,因为它依赖apr:
cd /usr/local/src/apr-util-1.6.1
编译: ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
6.1在编译安装的时候可能会遇到图下的情况少了xml解释器,缺少expat的开发库,所以需要安装包:yum install expat-devel,安装完成之后再编译安装make && make install
--enable-so \ 表示支持动态扩展模块,Apache和php它们都会支持以一个模块的形式存在
PHP是Apache的一个模块,这个模块实际上就是一个文件,就是 .so 后缀名的文件,那他以Apache的一个模块形式存在,所以Apache本身是一个进程,是一个服务,在这个进程里面,通过一些配置文件指定一个模块的路径,那就可以去调用模块。
PHP模块是用来解析PHP的,执行PHP脚本的,所以就可以通过PHP脚本将PHP模块加载到进程里面去,加载到主进程里面去,
当它遇到PHP解析的需求时,它就会去调用这个模块,去执行一些操作
而且还可以指定有哪些动态扩展的模块,需要加载哪些,这里指定是most
cd /usr/local/src/httpd-2.4.29
编译:./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
7.1 如果没有安装pcre这个包,编译就会出现下图的错误,可以先yum list |grep pcre 查看pcre是正则表达式的驱动库,支持正则表达式,因为是缺少库,所以只需要找带有 devel 或 lib 字符的,所以只需要安装pcre-devel包即:yum install -y pcre-devel
7.2 编译:./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
7.3 make编译的时候可能会出现下图报错的情况,把httpd,apr-util的源码包删除掉,然后在重新解压源码包,再重新把apr-util,httpd编译安装一遍
7.4 make && make install (apr-util,httpd重新编译安装一遍)
在安装完成后,进入到/usr/local/apache2.4/目录下,并 ls 查看有哪些目录
在以后会接触到的目录就是 bin目录,conf目录,htdocs目录
bin:bin下的文件是可执行的二进制文件或命令,是核心的二进制文件,如httpd;
htdocs:存放了一个访问网页,默认的网站会放到这个目录下;
modules:扩展模块,模块都放在这个目录下,每一个模块都代表一个功能;
/usr/local/apache2.4/bin/httpd -M
/usr/local/apache2.4/bin/apachectl -M //这是个shell文件,去调用了二进制httpd文件,-M就是把所有模块全例出来。
static:静态,是直接把模块编译进了二进制文件httpd里。有static说明是httpd里的,静态模块是直接跟主程序(/usr/local/apache2.4/bin/httpd)绑定在一起,它们是一个整体。httpd是核心文件。
shared:说明是扩展的模块,这个模块是一个文件(文件是在modules目录下面的.so文件);
10、启动Apache2.4 (Apache监听端口是80端口)
在安装完成Apache2.4后,Apache启动不需要定义启动脚本,也不需要放到/etc/init.d下去,直接使用命令行启动就可以如下:
命令:/usr/local/apache2.4/bin/apachectl start //命令行启动Apache脚本
以上是关于5月24日的主要内容,如果未能解决你的问题,请参考以下文章