2019独角兽企业重金招聘Python工程师标准>>>

11月12日任务
11.6 MariaDB安装
11.7/11.8/11.9 Apache安装

MariaDB安装(类似于mysql安装)

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

  1. 解压二进制已编译包
[root@localhost src]# tar zxf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
  1. 移动至/usr/local/下
[root@localhost src]# mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
[root@localhost local]# cd mariadb/
  1. 初始化脚本,指定basedir和datadir
# 这里跟mysql安装不同的地方是需要额外指定basedir[root@localhost mariadb]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
Installing MariaDB/MySQL system tables in '/data/mariadb' ...
OKTo start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your systemPLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:'/usr/local/mariadb//bin/mysqladmin' -u root password 'new-password'
'/usr/local/mariadb//bin/mysqladmin' -u root -h localhost.localdomain password 'new-password'Alternatively you can run:
'/usr/local/mariadb//bin/mysql_secure_installation'which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.You can start the MariaDB daemon with:
cd '/usr/local/mariadb/' ; /usr/local/mariadb//bin/mysqld_safe --datadir='/data/mariadb'You can test the MariaDB daemon with mysql-test-run.pl
cd '/usr/local/mariadb//mysql-test' ; perl mysql-test-run.plPlease report any problems at http://mariadb.org/jiraThe latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/
  1. 拷贝配置文件(按服务器内存选择,这里测试选择my-small.cnf
# 这里是实现mysql和mariadb同存于一个机器中的做法
# 如果你的主机内只有mariadb,那么直接复制到/etc命令下,命名为my.cnf也行;对于的basedir也同样修改即可
[root@localhost mariadb]# cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
[root@localhost mariadb]# vi /usr/local/mariadb/my.cnf
在[mysqld]下插入下面的内容
basedir=/usr/local/mariadb
datadir=/data/mariadb
  1. 拷贝启动脚本至/etc/init.d/目录下,并修改内容
[root@localhost mariadb]# cp support-files/mysql.server /etc/init.d/mariadb
[root@localhost mariadb]# vi /etc/init.d/mariadb
修改内容
basedir=/usr/local/mariadb
datadir=/data/mariadb
confdir=$basedir/my.cnf    #新增并在下面启动项内添加--defaults-file选项加载指定的配置文件
$bindir/mysqld_safe --defaults-file="$confdir" --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" &
  1. 启动脚本并验证是否成功
[root@localhost mariadb]# /etc/init.d/mariadb start
Reloading systemd:                                         [  确定  ]
Starting mariadb (via systemctl):                          [  确定  ][root@localhost mariadb]# ps aux | grep mysql
root       3466  0.5  0.1 115392  1736 ?        S    13:04   0:00 /bin/sh /usr/local/mariadb//bin/mysqld_safe --defaults-file=/usr/local/mariadb/my.cnf --datadir=/data/mariadb --pid-file=/data/mariadb/localhost.localdomain.pid
mysql      3588 12.7  5.7 1125028 57864 ?       Sl   13:04   0:00 /usr/local/mariadb/bin/mysqld --defaults-file=/usr/local/mariadb/my.cnf --basedir=/usr/local/mariadb/ --datadir=/data/mariadb/ --plugin-dir=/usr/local/mariadb/lib/plugin --user=mysql --log-error=/data/mariadb/localhost.localdomain.err --pid-file=/data/mariadb//localhost.localdomain.pid --socket=/tmp/mysql.sock --port=3306
root       3624  0.0  0.0 112676   972 pts/0    S+   13:04   0:00 grep --color=auto mysql

注意第4步中拷贝、重命名配置文件的过程你可以任意存储,只要在启动脚本内指定好配置文件的路径,就可以安装启动成功。

安装apache

apache是一个基金会的名字,httpd才是要安装的软件包,其早期名字为apache。

Apache官网 www.apache.org

软件包下载地址

由于软件更新,下面的地址链接截止为...
到http://mirrors.cnnic.cn/apache/查看当前版本号httpd:      http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.28.tar.gz
apr:       http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz
apr-util:   http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz

软件安装

apr和apr-util

  1. 先安装apr
[root@localhost src]# tar -zxvf apr-1.6.3.tar.gz
[root@localhost src]# cd apr-1.6.3/
[root@localhost apr-1.6.3]# ./configure --prefix=/usr/local/apr# 判断是否编译成功
[root@localhost src]# echo $?
0
[root@localhost src]# make && make install
  1. 安装apr-util
[root@localhost src]# tar -zxvf apr-util-1.6.1.tar.gz
[root@localhost src]# cd apr-util-1.6.1
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/loca/apr-util --with-apr=/usr/local/apr
[root@localhost apr-util-1.6.1]# echo $?
0
[root@localhost src]# make && make install
  1. 安装apache2.4
[root@localhost src]# tar -zxvf httpd-2.4.28.tar.gz
[root@localhost src]# cd httpd-2.4.28
[root@localhost httpd-2.4.28]# ./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@localhost httpd-2.4.28]# echo $?
0
[root@localhost httpd-2.4.28]# make && make install

编译参数说明:

--enable-so 支持动态扩展模块
如php模块,其实质为一个.so文件,通过apache的配置文件制定php模块位置,来加载php,在apache需要php解析时才调用。
--enable-mods-shared=most 允许大多数的模块扩展到apache主进程

查看编译时的参数

[root@localhost ~]# cat /usr/local/apache/build/config.nice
#! /bin/sh
#
# Created by configure"./configure" \
"--prefix=/usr/local/apache" \
"--with-apr=/usr/local/apr" \
"--with-apr-util=/usr/local/apr-util/" \
"--enable-so" \
"--enable-mods-shared=most" \
"$@"

apache文件目录说明

  1. bin目录
# apache二进制文件存放目录
[root@localhost apache2.4]# ls bin/
ab         checkgid   envvars-std   htdbm     httpd       rotatelogs
apachectl  dbmmanage  fcgistarter   htdigest  httxt2dbm
apxs       envvars    htcacheclean  htpasswd  logresolve
  1. conf目录
# apache配置文件存放目录
[root@localhost apache2.4]# ls conf/
extra  httpd.conf  magic  mime.types  original
  1. htdocs目录
# 访问apache网络服务时的默认网页存放目录
[root@localhost apache2.4]# ls htdocs/
index.html
  1. modules目录
# apache可加载模块文件存放目录
[root@localhost apache2.4]# ls modules/
httpd.exp                   mod_lbmethod_heartbeat.so
mod_access_compat.so        mod_log_config.so
mod_actions.so              mod_log_debug.so
mod_alias.so                mod_logio.so
mod_allowmethods.so         mod_macro.so
mod_auth_basic.so           mod_mime.so
mod_auth_digest.so          mod_negotiation.so
mod_auth_form.so            mod_proxy_ajp.so
mod_authn_anon.so           mod_proxy_balancer.so
mod_authn_core.so           mod_proxy_connect.so
...

查看当前已加载模块

# 其中static为已经编译进二进制文件bin/httpd内的模块;
# shared为动态加载模块,需要在编译时添加参数--enable-so
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl -M
Loaded Modules:core_module (static)so_module (static)http_module (static)mpm_event_module (static)authn_file_module (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)

启动/关闭apache

# 启动
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl start[root@localhost apache2.4]# ps aux | grep httpd
root      40316  0.1  0.2  70908  2204 ?        Ss   19:44   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    40317  0.0  0.4 359872  4256 ?        Sl   19:44   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    40318  0.0  0.4 359872  4256 ?        Sl   19:44   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    40319  0.0  0.4 359872  4256 ?        Sl   19:44   0:00 /usr/local/apache2.4/bin/httpd -k start
root      40402  0.0  0.0 112680   972 pts/0    R+   19:44   0:00 grep --color=auto httpd[root@localhost apache2.4]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1598/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2415/master
tcp6       0      0 :::3306                 :::*                    LISTEN      1968/mysqld
tcp6       0      0 :::80                   :::*                    LISTEN      40316/httpd
tcp6       0      0 :::22                   :::*                    LISTEN      1598/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      2415/master         # 关闭
[root@localhost apache2.4]# /usr/local/apache2.4/bin/apachectl stop

软件安装时可能会遇到的问题

  1. ./configure编译apr时提示(不是错误):
[root@localhost apr-1.6.3]# ./configure --prefix=/usr/local/apr
rm: cannot remove 'libtoolT': No such file or directory
config.status: executing default commands[root@localhost apr-1.6.3]# echo $?
0
  1. make安装apr-util时报错:
xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录#include <expat.h>^
编译中断。

解决:缺少expat-devel包

yum install -y expat-devel
  1. ./configure httpd时报错:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

解决:缺少prce库(正则相关的库)

yum install -y pcre-devel
  1. make http时报错:
...
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] 错误 1
make[2]: 离开目录“/usr/local/src/httpd-2.4.28/support”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/usr/local/src/httpd-2.4.28/support”
make: *** [all-recursive] 错误 1

解决:安装libxml2-devel包

详细步骤参见:https://my.oschina.net/LuCastiel/blog/1590706

可能缺少的软件包

编译安装前提

yum install -y gcc gcc-c++

安装apr/apr-util/httpd

yum install -y expat-devel pcre-devel

转载于:https://my.oschina.net/u/3964535/blog/2874839

LAMP架构mariadb/apache的安装及基本使用相关推荐

  1. 阿里云hph版本跟mysql安装_实体机下Centos7操作系统的安装,PHP,FTP,mariadb,Apache的安装设置,搭建网站完美实现...

    各个版本的ISO镜像文件说明: CentOS-7-x86_64-DVD-1708.iso               标准安装版(推荐) CentOS-7-x86_64-Everything-1708 ...

  2. 建网站框架LAMP之:APACHE的安装

    下载httpd:放在目录:/usr/local/src http://httpd.apache.org/download.cgi#apache24 2. 下载apr:放在目录:/usr/local/s ...

  3. LAMP架构(apache与php结合,apache默认虚拟主机)

    一.apache与php结合 主配置文件/usr/local/apache2.4/conf/httpd.conf [root@localhost ~]# /usr/local/apache2.4/bi ...

  4. lamp架构之redis(3):redis和mysql的整合

    redis和mysql的整合 一.redis结合mysql 1.redis和mysql的基础概念 2.redis和mysql的区别总结 3.为什么要作缓存 4.redis作为缓存 二.环境部署 三.m ...

  5. LAMP架构之redis(3):redis+mysql架构

    目录 一.redis结合mysql (1)流程图 (2)实验环境 (3)mysql+redis部署 (4)效果测试 二.配置 gearman 实现数据同步 (1)gearman原理 (2)gaerma ...

  6. Ansible使用角色部署LAMP架构

    文章目录 使用角色部署lamp架构 部署apache 编写任务 编写脚本 配置变量 配置模板 编写playbook执行 部署mysql 编写任务 配置变量 编写脚本 编写模板 编写playbook执行 ...

  7. LAMP架构介绍、MySQL和MariaDB介绍、MySQL安装

    2019独角兽企业重金招聘Python工程师标准>>> LAMP架构介绍 Linux+Apache+MySQL+PHP 就是在linux系统上安装httpd. mysql .PHP, ...

  8. LAMP架构(LAMP介绍,mysql/mariaDB介绍,Mysql安装)

    一.LAMP架构介绍: Linux+  Apache(httpd)+ mysql  +   php 操作系统+外网服务软件 + 存储软件 + 脚本语言(由C开发) PHP网站 三个角色可以装在一台机器 ...

  9. 末学者笔记--apache编译安装及LAMP架构上线

    apache介绍 一.Apache的三种工作模式 Apache一共有3种稳定的MPM模式(多进程处理模块),它们分别是prefork.worker.event.http-2.2版本的httpd默认的m ...

最新文章

  1. DFS template and summary
  2. BFC(Box Formatting Context)的原理
  3. qemu+tap+bridge
  4. 算法导论之平摊分析(动态表)
  5. java 中断线程 wait_Java 线程中断(interrupt)与阻塞 (park)的区别
  6. Vue——组件化开发DEMO
  7. boost::copy_backward相关的测试程序
  8. 利用lay-ui结合ajax实现分页功能(不借助框架,简单易懂)
  9. 计算机试题dddd,数据库系统概论试题及答案dddd_Image_Marked.pdf
  10. vue3数据绑定显示列表数据局
  11. IOS UIScrollView 滚动视图的使用和文档
  12. 标致雪铁龙与菲亚特克莱斯勒宣布完成合并 新股1月19日纽交所上市
  13. java记录类加载的个数_java类加载过程 - audience_1的个人空间 - OSCHINA - 中文开源技术交流社区...
  14. 过去几年接触了很多小公司小品牌
  15. Python标准库05 存储对象 (pickle包,cPickle包)
  16. sha2 替换sha1 时间表
  17. kettle 4.4源代码分析Transformation
  18. 数学猜想验证步骤_10大仍未解开的数学难题
  19. php composer 无法下载,composer给laravel下载扩展包 无法下载的问题
  20. ps制作计算机考试证件照,如何通过PS制作一寸证件照(超详细流程)?

热门文章

  1. Django模型层--多表操作
  2. 在Linux环境下mysql的root密码忘记解决方法 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 2.修改MySQL的登录设置: # vi /etc/my.c
  3. windows下mysql主从同步_详解windows下mysql的主从同步
  4. json转string工具_不要再重复造轮子了,这款开源工具类库贼好使!
  5. android手机 环境变量 文件,【图片】【教程】配置安卓Java环境变量【手机端反编译吧】_百度贴吧...
  6. mysql linux 关闭防火墙_linux常用命令和关闭防火墙
  7. Redis数据结构——跳跃表-skiplist
  8. kafka是如何解决粘包拆包的
  9. kafka中生产者和消费者的分区问题
  10. 【Aladdin Unity3D Shader编程】之三 光照模型(二)