5月24日任务

11.6 Maria_DB安装
11.7/11.8/11.9 Apache安装

Maria_DB安装


下载完mariadb文件放到/usr/local/src下,tar -zxvf 解压缩

mv 解压缩包到 /usr/local/mariadb(做区分)

创建用户 useradd mysql

指定用户mysql服务存放数据的地址 ./scripts/mysql_install_db --user=mysql --datadir=/data/mariadb



ls查看相应生成的文件

根据内存大小的不同,指定合适的缓存,使得MySQL达到更高性能 (配置文件模板有small,large等等的区别, 有buffer/cache方面的区别)

把模板文件拷贝到basedir下的my.cnf (虽然系统默认调用/etc/my.cnf,但是被mysql占用,所以选择其他的路径)

cp support-files/my-small.cnf   /usr/local/mariadb/my.cnf

拷贝启动脚本  cp support-files/mysql.server /etc/init.d/mariadb

编辑配置文件和启动脚本

配置文件中client端无需修改,需要改mysqld部分,server-id做主从复制,mysqldump是用来备份的参数

配置启动脚本文件,找到basedir/datadir参数做相应修改(此处需要做conf参数配置, 因为mysqld服务和mariadb服务监听端口一致,除非做修改,否则会相互冲突)


找到conf start启动项定义 --defaults-files="$conf"



多方检查和谷歌排错后无果,重新检查mariadb启动脚本文件 /etc/init.d/mariadb ,发现启动脚本start中增加的--defaults-files多了一个s,正确的为--defaults-file="$conf" 


修改保存后再次启动mariadb:/etc/init.d/mariadb start,出现reload提示,执行 systemctl daemon reload后 ps aux |grep mariadb发现进程,表示启动mariadb服务成功,如下图所示:


用ps aux |grep mysql也可以,因为进程实际上为mysqld


不难发现datadir并不是预期的/data/mariadb ,原因在于它调用了/etc/my.cnf启动脚本中的datadir(/data/mysql),而调用/etc/my.cnf的原因在于mariadb本身的配置文件中的mysqld下没有定义datadir路径,加上后killall再重启mariadb即可恢复到想要的结果,如下图所示:



Apache安装


下载httpd, apr, apr util到/usr/local/src 并解压 (apr是一个通用函数库,可以让httpd方便在操作系统间移植)

安装apr

①./configure --prefix=PREFIX (默认安装路径,如apr装在/usr/local/apr下)

②make && make install


安装apr-util

进入../apr-util-1.6.1/

①./configure --prefix=/usr/local/april-util --with-apr=/usr/local/apr


② make && make install


--enable-so \:表示支持动态扩展模块,模块是一个文件,.so后缀名的文件 (Apache,PHP都会支持一个模块形式存在),Apache即httpd服务进程,在进程中,通过配置文件指定模块路径,如php模块用来解析php,执行php脚本,可以通过配置文件通过模块加载到主进程时,当遇到php解析时会调用模块进行解析操作,参数的目的就是支持动态扩展

--enable-mods-shared=most : 大部分模块都加进来


报错:google后发现原因是缺少expat-devel开发库 yum install之


安装httpd

到../httpd-2.4.33/目录下

①./configure --prefix=/usr/local/apache2.4  --with-apr=/usr/local/apr --with-apr-util/=/usr/local/apr-util  --enable-so --enable-mods-shared=most


报错 pcre not found, pcre是正则表达式驱动库 (可用yum list |grep pcre筛选安装包),通常情况下包是lib/devel这种库包,yum安装,再来一遍,echo $?=0,安装成功


② make


报错,如下图


出现如下报错,google搜索后发现原因是:因为我们使用了 apr 1.6.3的依赖,所以下面我们必须要用 apr-util 1.6.1 版本,apr-util 1.6.0

不再捆绑安装 expat ,但又需要 expat 的支持,所以我们得手动先安装 expat。不然编译 apache 的时候会报错。

[root@kvm ~]# wget https://sourceforge.net/projects/expat/files/expat/2.2.3/expat-2.2.3.tar.bz2
[root@kvm ~]# tar jxf expat-2.2.3.tar.bz2
[root@kvm ~]# cd expat-2.2.3/
[root@kvm ~]# ./configure --prefix=/usr/local/expat
[root@kvm ~]# make && make install
然后在安装安装 apr-util
[root@kvm ~]# wget  https://mirror.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.0.tar.gz
[root@kvm ~]# tar zxf apr-util-1.6.0.tar.gz
[root@kvm ~]# cd apr-util-1.6.0/
[root@kvm ~]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-expat=/usr/local/expat
[root@kvm ~]# make && make install


重新下载apr, apr-util,httpd, expat源码包后解压,并到相应的文件夹下执行如下操作:

①./configure  --prefix=/usr/local/ xxx (xxx为某服务的文件路径)

②make & make install 

 安装顺序如下:apr>>expat>>apr-util>>httpd




成功后进入cd /usr/local/apache2.4


其中bin下存的是可执行文件(核心二进制文件为bin/httpd,启动命令)


conf 配置文件


启动httpd服务后,访问默认网站会放到htdocs下


logs 日志(错误或者访问日志)

man帮助文档

modules 扩展模块


查看apache启动了哪些模块: /usr/local/apache2.4/bin/apachectl(httpd) -M


static模块在二进制文件/bin/httpd中,属于绑定状态

shared模块在modules目录中

启动apache(httpd服务)无需编辑配置文件和加入启动项,只需要执行如下命令:

/usr/local/apache2.4/bin/apachectl start

查看监听端口:25端口(postfix服务发邮件), 22端口 (ssh服务), 3306端口 (mysql服务),80端口 (httpd服务)


猜你喜欢

转载自blog.csdn.net/fuel91/article/details/80444502