LAMP的編譯安裝

一、編譯安裝amp:

(1)系統環境:centos6,7

httpd依賴于apr和apr-util

appache protable runtime

(2)開發環境:

Development Tools,Server Platform Development

(3)各程序的版本:

httpd:2.2,2.4

php:5.x

mysql:5.1,5.5,5.6,5.7,5.8

mariadb:5.x,10.x

(4)httpd+php

modules:–with-apxs=

prefork:libphp5.so

worker,event:libphp5-zts.so

fpm:

5.3.3-,手動打上fpm patch;

5..3.3+,自帶了fpm,編譯時只需要使用–fpm選項;

過程:

先安裝am,再安裝p

安裝MySQL:

預制的二進制程序包:

os vendor:mariadb-devel或mysql-devel;

項目官方提供的

二進制格式的程序包:展包即用;

源代碼:編譯安裝

第一種安裝:

(1)yum install mariadb-devel

(2)yum install mariadb-server

假如部署mysql時,將http和mysql安裝在不同機器上,那么本臺安裝http的服務器只需安裝好開發環境即可,無需安裝mariadb-server.只在另一臺上安裝mariadb-server即可。

以模塊化安裝,割裂為兩臺主機。以fpm安裝可以分割為三臺主機。

第二種(二進制格式程序安裝):

移除mariadb-server 和mariadb-devel

(1)獲取tar包,創建mysql用戶和組

(2) tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local

(3)ln -sv mariadb-5.5.46-linux-x86_64 mysql

數據庫默認存在于data目錄下

(4)改權限:chown -R root:mysql ./*

(5)創建存放數據的文件目錄mkdir -pv /mydata/data

chown mysql:mysql /mydata/data

(6)scripts/mysql_install_db –help

(7)[root@centos7 mysql]# scripts/mysql_install_db –datadir=/mydata/data –user=mysql

(8)ls  /mydata/data/

LAMP的編譯安裝1.jpg

(9) 配置文件的修改cp support-files/my-large.cnf /etc/my.cnf

LAMP的編譯安裝2.jpg

修改thread_concurrency = 2

datadir=/mydata/data

skip_name_resolve=ON

innodb_file_per_table=ON

其中2指的是CPU的核心數乘以2.

(10)提供mysql運行的腳本cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod +x /etc/rc.d/init.d/mysqld

(11)chkconfig –add mysqld

chkconfig –list

(12)開啟服務service mysqld start

(13)vim /etc/profile.d/mysql.sh

LAMP的編譯安裝3.jpg

(14) . /etc/profile.d/mysql.sh

二、安裝httpd-2.4

(1) yum groupinstall "Development Tools" "Server Platform Development"

(2)yum install pcre-devel openssl-devel libevent-devel apr-devel apr-util-devel

(3)./configure –prefix=/usr/local/apache2 –sysconfdir=/etc/httpd –enable-so –enable-cgi –enable-modules=most –enable-mpms-shared=all –with-mpm=prefork –with-zlib –with-apr=/usr –with-apr-util=/usr

(4)make

(5)make install

(6)vim /etc/profile.d/apache.sh

LAMP的編譯安裝4.jpg

(7) . /etc/profile.d/apache.sh

(8) apachectl start

LAMP的編譯安裝5.jpg

出現如下報錯,原來是/etc/hosts文件中沒有寫主機信息

網友解決方案:http://www.cnblogs.com/Anker/p/3355039.html

LAMP的編譯安裝6.jpg

三、安裝php5

(1)yum install gd-devel freetype-devel libmcrypt-devel libxml2-devel

(2)./configure –prefix=/usr/local/php –with-mysql –with-openssl –with-mysql=/usr/bin/mysql_config –enable-mbstring –enable-xml –enable-sockets –with-freetype-dir –with-gd –with-libxml-dir=/usr –with-zlib –with-jpeg-dir –with-png-dir –with-mcrypt –with-apx2=/usr/local/apache2/bin/apxs –with-config-file-path=/etc/php.ini –with-config-file-scan-dir=/etc/php.d/

(3)make -J #

(4)make install

(6)cp php.ini-production /etc/php.ini

(7)makedir /etc/php.d/

注意:如果httpd使用線程模型MPM,需要額外的–enable-maintainer-zts選項;

注意:如果要以fpm方式允許php,需要編譯時移除–with-apxs選項。

注意:如果獨立安裝的mysql-server,假設安裝在/usr/local/mysql目錄下,則需要使用類似如下的.configure命令。

./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-openssl –with-mysql=/usr/local/bin/mysql/mysql_config –enable-mbstring –enable-xml –enable-sockets –with-freetype-dir -with-gd –with-libxml-dir=/usr –with-png-dir –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/etc/php.ini –with-config-file-scan-dir=/etc/php.d/

整合php

httpd.conf配置文件中:

AddType application/x-httpd-php.php

DirectoryIndex index.php index.html

原創文章,作者:178babyhanggege,如若轉載,請注明出處:http://www.www58058.com/51141

(0)
178babyhanggege178babyhanggege
上一篇 2016-10-17
下一篇 2016-10-17

相關推薦

  • 初學Linux

       已經學習了Linux一周了,從原來的設計網頁、動畫影視制作、3D模型到現在的黑白界面虛擬世界,從原來吃睡由我到現在重回高三生活,說實話,一開始還是不太能適應的,尤其是眼睛,酸脹痛。不過,越努力越幸運,也覺得linux其實很有意思。。以下是我第一篇微博的內容,也是我學習linux一周所總結的知識。 首先,學習一門知識就要先了解他的歷史…

    Linux干貨 2017-07-15
  • 第一周博客作業

    1、描述計算機的組成及其功能。
    2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3、描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
    4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
    5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
    6、請羅列Linux發行版的基礎目錄名稱命名法則及功用規定

    Linux干貨 2018-03-13
  • 第二周博客作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示? cat(concatenate)#從頭開始看     文本文件查看工具 SYNOPSIS:     cat [OPTION]… [FILE]… -A 輸出行最后加上$號 -n 輸出行號 例…

    Linux干貨 2016-12-12
  • PHP高效率寫法(詳解原因)

    1.盡量靜態化:    如果一個方法能被靜態,那就聲明它為靜態的,速度可提高1/4,甚至我測試的時候,這個提高了近三倍。   當然了,這個測試方法需要在十萬級以上次執行,效果才明顯。   其實靜態方法和非靜態方法的效率主要區別在內存:靜態方法在程序開始時生成內存,實例方法在程序運行中生成內存,所以靜…

    Linux干貨 2015-05-28
  • 磁盤管理

    設備類型分為字符設備和塊設備 主設備號用來標識設備類型,次設備號標識同一類型下的不同設備 硬盤設備命名: scsi,sata,sas,usb:/dev/sd 不同設備/dev/sda  /dev/sdb 同一設備不同分區:/dev/sda1,/dev/sdb2…… 硬盤: 一片磁盤的一面叫做盤面,一張盤片有兩個盤面 每個盤面有一個磁頭,最多有256…

    Linux干貨 2016-08-30
  • shell腳本編程練習

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態 在線的主機使用綠色顯示 不在線的主使用紅色顯示 #!/bin/bash # for i in {1..254};do if ping -c 6 -w 1 192.168.1.$i &> /dev/null;then echo -e…

    2017-11-15
欧美性久久久久