11.6 Maria_DB安装
11.7/11.8/11.9 Apache安装
下载完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服务)