MariaDB安装 、Apache安装

MariaDB安装


1.下载mariaDB

[root@linux-128 ~]# cd /usr/local/src/
[root@linux-128 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

2.解压

[root@linux-128 src]# tar -zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz

3.将目录重名命

[root@linux-128 src]# mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
[root@linux-128 src]# cd /usr/local/mariadb/
[root@linux-128 mariadb]# ls
bin                 data               include         mysql-test    share
COPYING             DESTINATION        INSTALL-BINARY  README.md     sql-bench
COPYING.thirdparty  docs               lib             README-wsrep  support-files
CREDITS             EXCEPTIONS-CLIENT  man             scripts


4.创建mysql用户

[root@linux-128 mysql]# useradd -s /sbin/nologin mysql

5.创建存放数据库的目录

[root@linux-128 mysql]# mkdir /data

6.初始化

[root@linux-128 mariadb]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb    //--user=mysql定义mysql身份运行,--basedir=/usr/local/mariadb 定义mariadb的安装目录,这里如果不定义mariadb的目录有可能系统会去找之前安装的mysql的目录,--datadir=/data/mariadb定义存放数据库的目录

[root@linux-128 mariadb]# echo $?  //
0

7.配置文件

Mariadb的配置文件也在/user/local/mariadb/support-files/目录下,和mysql有一定区别,这个目录下有好几个配置模板

[root@linux-128 mariadb]# ls /usr/local/mariadb/support-files/
binary-configure  my-innodb-heavy-4G.cnf  my-small.cnf         mysql.server  wsrep_notify
magic             my-large.cnf            mysqld_multi.server  policy
my-huge.cnf       my-medium.cnf           mysql-log-rotate     wsrep.cnf

my-huge.cnf my-large.cnf my-medium.cnf my-small.cnf这些配置文件的区别就在于缓存数字的大小不一样,这些值是根据内存的大小指定合适的缓存,这样会让mysql达到一个更高效的性能。我们做实验内存是1G 拷贝my-small.cnf就可以,如果你的内存有几十G,可以拷贝my-huge.cnf,再根据实际情况适当调整这些参数。

1.拷贝配置文件
[root@linux-128 mariadb]# cp support-files/my-small.cnf  /usr/local/mariadb/my.cnf  //为了和之前mysql的配置文件区别,将配置文件路径修改下。
2.修改配置文件
[root@linux-128 ~]# vim /usr/local/mariadb/my.cnf
添加basedir和datadir
[mysqld]
basedir = /usr/local/mariadb    //mariadb安装目录
datadir = /data/mariadb		   //存放数据库目录
port            = 3306      
socket          = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 240K

8.拷贝启动脚本

[root@linux-128 mariadb]# cp support-files/mysql.server /etc/init.d/mariadb
1.修改启动脚本
[root@linux-128 ~]# vim /etc/init.d/mariadb
需要修改2个地方
basedir=/usr/local/mariadb     //存放mariadb的目录
datadir=/data/mariadb			//存放数据库的目录
conf=$basedir/my.cnf			//指定配置文件的路径

并且在开始启动脚本中添加上面修改的配置文件路径

输入图片说明

2.启动脚本
[root@linux-128 ~]# /etc/init.d/mariadb start
Starting mariadb (via systemctl):                          [  确定  ]

这里要注意:之前安装过mysql,所以在安装mariadb的时候,要先关闭mysqld服务,在启动脚本中指定了配置文件路径conf,并将添加到启动脚本中,如果之前没有装过mysql,可以直接将配置文件拷贝到/etc/my.cnf,启动脚本中也不用指定配置文件路径。


Apache

  • Apache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache
  • Apache官网www.apache.org
  • Apache wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz
  • apr: wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz
  • apr-util:wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2
  • apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植(从linux移植到windows)
  • tar zxvf httpd-2.4.27.tar.gz
  • tar zxvf apr-util-1.5.4.tar.gz
  • tar zxvf apr-1.5.2.tar.gz
  • cd /usr/local/src/apr-1.5.2
  • ./configure --prefix=/usr/local/apr
  • make && make install
  • cd /usr/local/src/apr-util-1.5.4
  • ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
  • make && make install
  • cd /usr/local/src/httpd-2.4.27
  • ./configure \ //这里的反斜杠是脱义字符,加上它我们可以把一行命令写成多行
  • --prefix=/usr/local/apache2.4 \
  • --with-apr=/usr/local/apr \
  • --with-apr-util=/usr/local/apr-util \
  • --enable-so \
  • --enable-mods-shared=most
  • make && make install
  • ls /usr/local/apache2.4/modules
  • /usr/local/apache2.4/bin/httpd -M //查看加载的模块

1.下载apache和apr、apr-util

[root@linux-128 apr-1.6.3]# http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz
[root@linux-128 apr-1.6.3]# wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz
[root@linux-128 apr-1.6.3]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2

2.解压

[root@linux-128 apr-1.6.3]# tar zxvf apr-1.6.3.tar.gz
[root@linux-128 src]# tar -jxvf apr-util-1.6.1.tar.bz2
[root@linux-128 src]# tar -zxvf httpd-2.4.29.tar.gz

3.安装apr

[root@linux-128 src]# cd apr-1.6.3/
初始化
[root@linux-128 apr-1.6.3]# ./configure --prefix=/usr/local/apr
…
[root@linux-128 apr-1.6.3]# echo $?    //检查初始化是否正确
0

编译make
[root@linux-128 apr-1.6.3]# make
[root@linux-128 apr-1.6.3]# echo $?    //检查编译是否正确
0

编译安装 make install
[root@linux-128 apr-1.6.3]# make install
…
[root@linux-128 apr-1.6.3]# echo $?    //检查编译安装是否正确
0
[root@linux-128 apr-1.6.3]# ls /usr/local/apr
bin  build-1  include  lib

4.安装apr-util

[root@linux-128 apr-1.6.3]# cd /usr/local/src/apr-util-1.6.1/
初始化
[root@linux-128 apr-util-1.6.1]#  ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@linux-128 apr-util-1.6.1]# echo $?
0
编译make
[root@linux-128 apr-util-1.6.1]# make
…
xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录
 #include <expat.h>
                  ^
编译中断。
make[1]: *** [xml/apr_xml.lo] 错误 1
make[1]: 离开目录“/usr/local/src/apr-util-1.6.1”
make: *** [all-recursive] 错误 1
编译报错,需要安装expat-devel包
[root@linux-128 apr-util-1.6.1]# yum install -y expat-devel

然后重新编译 make
…
[root@linux-128 apr-util-1.6.1]# echo $?
0

编译安装 make install
[root@linux-128 apr-util-1.6.1]# make install
[root@linux-128 apr-util-1.6.1]# echo $?
0
apr/      bin/      games/    lib/      libexec/  mysql/    share/
[root@linux-128 apr-util-1.6.1]# ls /usr/local/apr-util/
bin  include  lib

5.安装apache

1.初始化
[root@linux-128 apr-util-1.6.1]# cd /usr/local/src/httpd-2.4.29/
[root@linux-128 httpd-2.4.29]# ./configure \   //这里的反斜杠是脱义字符,加上它我们可以把一行命令写成多行
--prefix=/usr/local/apache2.4 \     //指定安装路径
--with-apr=/usr/local/apr \			//指定apr
--with-apr-util=/usr/local/apr-util \	//指定apr-util
--enable-so \		//支持动态模块 ;表示启用DSO,意思是把某些功能以模块的形式展现出来,一个功能模块就是一个.so文件,编译完会看到这些文件。
--enable-mods-shared=most   //指定模块most;most绝大多数功能模块

这里出现一个错误:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
可以用yum list来查找缺少那个包

[root@linux-128 httpd-2.4.29]# yum list |grep pcre
pcre.x86_64                               8.32-15.el7_2.1              @anaconda
ghc-pcre-light.x86_64                     0.4-13.el7                   epel
ghc-pcre-light-devel.x86_64               0.4-13.el7                   epel
mingw32-pcre.noarch                       8.38-1.el7                   epel
mingw32-pcre-static.noarch                8.38-1.el7                   epel
mingw64-pcre.noarch                       8.38-1.el7                   epel
mingw64-pcre-static.noarch                8.38-1.el7                   epel
pcre.i686                                 8.32-17.el7                  base
pcre.x86_64                               8.32-17.el7                  base
pcre-devel.i686                           8.32-17.el7                  base
pcre-devel.x86_64                         8.32-17.el7                  base
pcre-static.i686                          8.32-17.el7                  base
pcre-static.x86_64                        8.32-17.el7                  base
pcre-tools.x86_64                         8.32-17.el7                  base
pcre2.i686                                10.23-2.el7                  base
pcre2.x86_64                              10.23-2.el7                  base
pcre2-devel.i686                          10.23-2.el7                  base
pcre2-devel.x86_64                        10.23-2.el7                  base
pcre2-static.i686                         10.23-2.el7                  base
pcre2-static.x86_64                       10.23-2.el7                  base
pcre2-tools.x86_64                        10.23-2.el7                  base
pcre2-utf16.i686                          10.23-2.el7                  base
pcre2-utf16.x86_64                        10.23-2.el7                  base
pcre2-utf32.i686                          10.23-2.el7                  base
pcre2-utf32.x86_64                        10.23-2.el7                  base

[root@linux-128 httpd-2.4.29]# yum install -y pcre-devel
2.然后重新编译参数
[root@linux-128 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

[root@linux-128 httpd-2.4.29]# echo $?
0

3.编译make
[root@linux-128 httpd-2.4.29]# make
…

这里出现一个错误
输入图片说明 原因是apr-util的版本问题,1.6太高,重新下载1.5版本,重新编译安装apr-util1.5

[root@linux-128 httpd-2.4.29]# wget http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz
[root@linux-128 httpd-2.4.29]# tar -zxvf apr-util-1.5.2.tar.gz
[root@linux-128 httpd-2.4.29]# cd /usr/local/src/apr-util-1.5.2/
[root@linux-128 apr-util-1.5.2]# ./configure -prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@linux-128 apr-util-1.5.2]# make
[root@linux-128 apr-util-1.5.2]# make install

然后再重新编译apache

[root@linux-128 apr-util-1.5.2]# cd /usr/local/apache2.4/
[root@linux-128 apache2.4]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  --enable-so --enable-mods-shared=most
[root@linux-128 apache2.4]# make
[root@linux-128 apache2.4]# make install

[root@linux-128 apr-util-1.5.2]# cd /usr/local/apache2.4/
[root@linux-128 apache2.4]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules

这里介绍一个进程用到的目录
bin :可执行文件的目录
conf:配置文件的目录
htdocs:默认访问网站的目录
logs:日志文件的目录
modules:存放动态模块的目录;也就是.so文件,每一个模块就代表这一个功能

查看apache都加载了那些模块

[root@linux-128 apache2.4]# /usr/local/apache2.4/bin/apachectl -M
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::fdb8:14ca:d41b:3dc8. Set the 'ServerName' directive globally to suppress this message
Loaded Modules:   	//这里不用管它
 core_module (static)   //static 表示静态模块
 so_module (static)     
 http_module (static)
 mpm_event_module (static)
 authn_file_module (shared)    //shared表示动态共享模块
 authn_core_module (shared)
 authz_host_module (shared)
 authz_groupfile_module (shared)
 authz_user_module (shared)
 authz_core_module (shared)
 access_compat_module (shared)
 auth_basic_module (shared)
 reqtimeout_module (shared)
 filter_module (shared)
 mime_module (shared)
 log_config_module (shared)
 env_module (shared)
 headers_module (shared)
 setenvif_module (shared)
 version_module (shared)
 unixd_module (shared)
 status_module (shared)
 autoindex_module (shared)
 dir_module (shared)
 alias_module (shared)

动态和静态模块的区别:静态模块直接和主程序(/usr/local/apache2.4/bin/httpd)绑定在一起,动态模块都是一个个独立存在的文件(moudles目录下面的.so文件)这些动态模块不会全部加载,如果想用哪个动态模块,直接在配置文件里面配置即可。


转载于:https://my.oschina.net/u/3706916/blog/1593465

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值