11.6 MariaDB安裝html
11.7/11.8/11.9 Apache安裝mysql
擴展linux
apache dso https://yq.aliyun.com/articles/6298sql
apache apxs http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/programs/apxs.htmlapache
apache工做模式 http://www.javashuo.com/article/p-mfoutbze-em.htmlvim
11.6 MariaDB安裝:windows
基本相似於MySQL,同樣使用二進制的免編譯包centos
cd /usr/local/srcssh
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.gzsocket
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
cd /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 拷貝最小的配置文件模板就能夠,若是內存夠大能夠拷貝最大的huge
vi /usr/local/mariadb/my.cnf //定義basedir和datadir
cp support-files/mysql.conf /usr/local/mariadb/my.cnf 拷貝配置文件模板
vim /usr/local/mariadb/my.cnf 定義datadir = /data/mariadb
cp support-files/mysql.server /etc/init.d/mariadb 拷貝運行腳本
vim /etc/init.d/mariadb //定義basedir、datadir、conf以及啓動參數
/etc/init.d/mariadb start
實例:
[root@axinlinux-01 mariadb]# tar -zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
[root@axinlinux-01 mariadb]# mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
[root@axinlinux-01 src]# cd ..
[root@axinlinux-01 local]# ls
apache2 apr apr-util bin etc games include lib lib64 libexec mariadb mysql sbin share src
[root@axinlinux-01 local]# cd mariadb/
[root@axinlinux-01 mariadb]# mkdir /data/mariadb
[root@axinlinux-01 mariadb]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mariadb
[root@axinlinux-01 mariadb]# echo $?
0
[root@axinlinux-01 mariadb]# cd support-files/
[root@axinlinux-01 support-files]# ls
binary-configure my-huge.cnf my-large.cnf my-small.cnf mysql-log-rotate policy wsrep_notify
magic my-innodb-heavy-4G.cnf my-medium.cnf mysqld_multi.server mysql.server wsrep.cnf
[root@axinlinux-01 support-files]# cp my-small.cnf /usr/local/mariadb/my.cnf
[root@axinlinux-01 support-files]# cp mysql.server /etc/init.d/mariadb
[root@axinlinux-01 support-files]# vim /usr/local/mariadb/my.cnf 須要更改data
[mysqld] 在mysqld里加
datadir = /data/mariadb 加上這一行,定義一下datadir
port = 3306
socket = /tmp/mysql.sock
[root@axinlinux-01 support-files]# vim //etc/init.d/mariadb 須要改啓動腳本
basedir=/usr/local/mariadb
datadir=/data/mariadb
conf=$basedir/my.cnf
能夠搜一下srart.修改啓動命令參數
'start')
# Start daemon
# Safeguard (relative paths, core dumps..)
cd $basedir
echo $echo_n "Starting MySQL"
if test -x $bindir/mysqld_safe
then
# Give extra arguments to mysqld with the my.cnf file. This script
# may be overwritten at next upgrade.
$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" &
在這一行,前面加上 --defaults-file="$conf"
$bindir/mysqld_safe --defaults-file="$conf" --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" &
[root@axinlinux-01 support-files]# /etc/init.d/mariadb start
Reloading systemd: [ 肯定 ]
Starting mariadb (via systemctl):
[ 肯定 ]
[root@axinlinux-01 support-files]# ps aux | grep mariadb
[root@axinlinux-01 support-files]# netstat -ltnp
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 997/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1338/master
tcp6 0 0 :::80 :::* LISTEN 50236/httpd
tcp6 0 0 :::22 :::* LISTEN 997/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1338/master
tcp6 0 0 :::3306 :::* LISTEN 52640/mysqld
----------------------------------------------------------------------------------------------------------------------------------------------------
11.7/11.8/11.9 Apache安裝
Apache是一個基金會的名字,httpd纔是咱們要安裝的軟件包,早期它的名字就叫apache
Apache官網www.apache.org 2.0之後得版本就叫httpd了,如今主流版本是2.4,此次安裝的也是2.4
apr和apr-util是一個通用的函數庫,它讓httpd能夠不關心底層的操做系統平臺,能夠很方便地移植(從linux移植到windows) 2.2和2.4安裝不太同樣,就是由於apr(依賴的軟件)。centos自帶的也就是咱們yum安裝的apr和這個2.4是不同的並不匹配,不能使用yum安裝的apr,因此要編譯。要編譯這面這兩個包(apr和apr-util)
2.4源碼包: wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.34.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.gz
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
./configure \ //這裏的反斜槓是脫義字符,加上它咱們能夠把一行命令寫成多行
--prefix=/usr/local/apache2.4 \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-so \ 讓他支持動態擴展
--enable-mods-shared=most 指定哪些擴展的模塊。爲most(絕大多數)
make && make install
/usr/local/apache2/bin/apachectl start 命令直接啓動。不須要命令腳本
netstat -lntp 默認監聽80端口
./bin/httpd爲核心
./conf/會常常打交道
./htdocs/訪問頁
./log/日誌
ls /usr/local/apache2.4/modules 模塊
/usr/local/apache2.4/bin/httpd -M //查看加載的模塊
靜態(static)表示這個模塊被編譯進了主腳本里面
動態(shared)表示擴展的模塊,是一個文件是能夠看到的
實例:
[root@axinlinux-01 src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.34.tar.gz
[root@axinlinux-01 src]# wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz
[root@axinlinux-01 src]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz
[root@axinlinux-01 src]# tar -zxvf httpd-2.4.34.tar.gz
[root@axinlinux-01 src]# tar -zxvf apr-1.6.3.tar.gz
[root@axinlinux-01 src]# tar -zxvf apr-util-1.6.1.tar.gz
準備工做完成
[root@axinlinux-01 apr-1.6.3]# cd apr-1.6.3/ 首先先安裝apr,cd進去
[root@axinlinux-01 apr-1.6.3]# ./configure --prefix=/usr/local/ap 安裝方法就是configure,並指定路徑
[root@axinlinux-01 apr-1.6.3]# echo $? 有報錯,echo $?一下。不要緊的
0
[root@axinlinux-01 apr-1.6.3]# make && make install
以上apr安裝完成
[root@axinlinux-01 apr-1.6.3]# ls /usr/local/apr 看一下咱們安裝的apr
bin build-1 include lib
[root@axinlinux-01 apr-1.6.3]# cd ../apr-util-1.6.1/ 返回apr-util,準備安裝apr-util
[root@axinlinux-01 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 指定他的路徑同時,還要指定他所依賴的apr (--with-apr=/usr/local/apr)
[root@axinlinux-01 apr-util-1.6.1]# make && make install 阿鑫到這有報錯
xml/apr_xml.c:35:19: 致命錯誤:expat.h:沒有那個文件或目錄 果斷百度一下。缺乏 expat庫。yum install -y expat-devel
#include <expat.h>
^
編譯中斷。
make[1]: *** [xml/apr_xml.lo] 錯誤 1
make[1]: 離開目錄「/usr/local/src/apr-util-1.6.1」
make: *** [all-recursive] 錯誤 1
[root@axinlinux-01 apr-util-1.6.1]# yum install -y expat-devel 安裝expat-devel庫
[root@axinlinux-01 apr-util-1.6.1]# make && make install 繼續安裝
[root@axinlinux-01 apr-util-1.6.1]# ls /usr/local/apr-util/
bin include lib
以上apr-util安裝完成
[root@axinlinux-01 src]# cd httpd-2.4.34 開始安裝httpd
[root@axinlinux-01 httpd-2.4.34]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most 指定httpd 指定apr 指定apr-util 指定enable 指定--enable-mods-shared
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
[root@axinlinux-01 httpd-2.4.34]# echo $? 以上報錯,缺乏pcre庫。通常是缺乏什麼什麼庫
1 非0即錯
[root@axinlinux-01 httpd-2.4.34]# yum install -y pcre-devel 安裝該庫
[root@axinlinux-01 httpd-2.4.34]# ./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@axinlinux-01 httpd-2.4.34]# echo $?
0
[root@axinlinux-01 httpd-2.4.34]# make && make install 報錯,安裝了libxml2.devel
以上httpd安裝完成