5月24日
11.6 MariaDB安裝
wgethttps://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
tar zxvfmariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
4、再移動到/usr/local目錄下並命名為mariadb:
mv mariadb-10.2.6-linux-glibc_214-x86_64
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
7、然後使用命令:echo $? 確認是否初始化OK是否為0,對應的目錄下也生成了相關目錄,與安裝mysql類似 :
cp support-files/my-small.cnf/usr/local/mariadb/my.cnf
vi /usr/local/mariadb/my.cnf (基本上是不用改)
cp support-files/mysql.server /etc/init.d/mariadb
//定義basedir、datadir、conf以及啟動引數
定義conf 新增--defaults-file="$conf"
備註:此啟動指令碼由於mariadb與mysql裝在一臺機器上,為了區分開來,需要定義conf與變數,如果只裝mariadb的話就不需要定義。
12 .啟動MariaDB,啟動之前看看有沒有mysqld的服務在啟動,如果有它們是會衝突的,因為它們的監聽埠是一樣的:
ps aux|grep mysql //檢視程序是否有mysql
service mysqld stop //關掉mysql程序
12.1啟動mariadb服務 命令:service mariadb start 或者 /etc/init.d/mariadb start
13 再用 ps aux |grep mariadb 檢視程序是否執行和 netstat -ltnp 檢視埠是否啟動
wgethttps://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
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
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
vi /usr/local/mariadb/my.cnf //定義basedir和datadir
cp support-files/mysql.server /etc/init.d/mariadb
vim /etc/init.d/mariadb //定義basedir、datadir、conf以及啟動引數
11.711.811.9 Apache安裝
Apache是一個基金會的名字,它最早就是httpd起家的,因為httpd使用的人很多,很流行,所以當時就以基金會的名字來命名的web服務軟體 ,在早期的時候,名字就叫做Apache,而不是叫httpd,後來在http的2.0版本開始,就改名叫httpd,但是很多人還是習慣叫做Apache
Apache的主流版本,在之前是 1.3版本比較流行,後來出了2.0版本,2.2版本,2.4版本,現在主流版本是 2.4版本
apr和apr-util是一個通用的函式庫,它讓httpd可以不關心底層的作業系統平臺,可以很方便地進行移植(從linux移植到windows)
而centos系統,預設自帶的apr,也就是yum安裝的apr和2.4版本是不匹配的,所以無法使用yum安裝的apr,所以需要自己去手動編譯
Apache2.4版本編譯起來麻煩,就是因為需要手動編譯 apr 和 apr-util 這兩個包
Apache是一個基金會的名字,httpd才是我們要安裝的軟體包,早期它的名字就叫apache
wgethttp://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz
wgethttp://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz
wgethttp://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz
apr和apr-util是一個通用的函式庫,它讓httpd可以不關心底層的作業系統平臺,可以很方便地移植(從linux移植到windows)
tar zxvf apr-util-1.6.1.tar.gz
./configure --prefix=/usr/local/apr
只需要安裝gcc編譯器即:yum install -y gcc
6.進入apr-util目錄,安裝apr-util,apr-util要指定apr,因為它依賴apr:
cd /usr/local/src/apr-util-1.6.1
編譯:./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
6.1在編譯安裝的時候可能會遇到圖下的情況少了xml直譯器,缺少expat的開發庫,所以需要安裝包:yum install expat-devel,安裝完成之後再編譯安裝make && make install
--enable-so \ 表示支援動態擴充套件模組,Apache和PHP它們都會支援以一個模組的形式存在
PHP是Apache的一個模組,這個模組實際上就是一個檔案,就是 .so 字尾名的檔案,那他以Apache的一個模組形式存在,所以Apache本身是一個程序,是一個服務,在這個程序裡面,通過一些配置檔案指定一個模組的路徑,那就可以去呼叫模組。
PHP模組是用來解析PHP的,執行PHP指令碼的,所以就可以通過PHP指令碼將PHP模組載入到程序裡面去,載入到主程序裡面去,
當它遇到PHP解析的需求時,它就會去呼叫這個模組,去執行一些操作
而且還可以指定有哪些動態擴充套件的模組,需要載入哪些,這裡指定是most
cd /usr/local/src/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
7.1 如果沒有安裝pcre這個包,編譯就會出現下圖的錯誤,可以先yum list |grep pcre檢視pcre是正則表示式的驅動庫,支援正則表示式,因為是缺少庫,所以只需要找帶有 devel 或 lib 字元的,所以只需要安裝pcre-devel包即:yum install -y pcre-devel
7.2 編譯:./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
7.3 make編譯的時候可能會出現下圖報錯的情況,把httpd,apr-util的原始碼包刪除掉,然後在重新解壓原始碼包,再重新把apr-util,httpd編譯安裝一遍
7.4 make && make install (apr-util,httpd重新編譯安裝一遍)
在安裝完成後,進入到/usr/local/apache2.4/目錄下,並 ls 檢視有哪些目錄
在以後會接觸到的目錄就是bin目錄,conf目錄,htdocs目錄
bin:bin下的檔案是可執行的二進位制檔案或命令,是核心的二進位制檔案,如httpd;
htdocs:存放了一個訪問網頁,預設的網站會放到這個目錄下;
modules:擴充套件模組,模組都放在這個目錄下,每一個模組都代表一個功能;
/usr/local/apache2.4/bin/httpd -M
/usr/local/apache2.4/bin/apachectl -M//這是個shell檔案,去呼叫了二進位制httpd檔案,-M就是把所有模組全例出來。
static:靜態,是直接把模組編譯進了二進位制檔案httpd裡。有static說明是httpd裡的,靜態模組是直接跟主程式(/usr/local/apache2.4/bin/httpd)繫結在一起,它們是一個整體。httpd是核心檔案。
shared:說明是擴充套件的模組,這個模組是一個檔案(檔案是在modules目錄下面的.so檔案);
10、啟動Apache2.4 (Apache監聽埠是80端口)
在安裝完成Apache2.4後,Apache啟動不需要定義啟動指令碼,也不需要放到/etc/init.d下去,直接使用命令列啟動就可以如下:
命令:/usr/local/apache2.4/bin/apachectl start//命令列啟動Apache指令碼
轉載於:https://blog.51cto.com/404006045/2120099