LAMP架構 (資源)

LAMP架構

  1. LAMP(Linux+Apache+MYSQL|Mariadb+PHP|PERL|Python)WEB架構組合。
  2. LNMP、LEMP、LTMP、WNMP都是主流的WEB架構組合;Nginx版本1.十、Apache版本2.4,MYSQL版本5.6,PHP版本5.6;
  3. LAMP(Linux+Apache+MYSQL|Mariadb+PHP|Python+Perl)新型組合方式;
  4. LEMP(Linux+Nginx+MYSQL|Mariadb+PHP|Python+Perl)組合方式,也稱爲LNMP架構;
  5. LAMP主要用於發佈PHP動態頁面+靜態頁面,基於HTTP協議發佈WEB網頁,供用戶瀏覽器基於HTTP協議去訪問(FTP協議,C/S模式,客戶端和服務器端);
  6. Linux+Apache+PHP+MYSQL,Linux開源操做系統,Apache是WEB服務器,PHP是一門解釋型語言,MYSQL關係型數據庫,主要用於存儲用戶信息、銀行卡、訂單購物、工資信息、論壇用戶名和密碼(由不一樣表,表中不一樣行和列組成,Redis屬於nosql非關係型數據庫;)
  7. Linux+Apache+PHP主流的架構,用於發佈PHP動態頁面+HTML靜態頁面;
  8. PHP一門動態語言,底層是基於C編寫的,PHP解釋型語言,解析PHP頁面代碼;
  9. LAMP放在一臺服務器,性能影響很大,Apache佔用系統CPU、內存,而MYSQL佔用CPU、內存;
  10. MYSQL須要獨立另一臺服務器,生產環境,MYSQL獨立的服務器,硬盤SSD,高性能IO存儲卡;
  11. Nginx|Apache web服務器發佈靜態頁面,MYSQL開源、收費,(Mariadb開源免費)、PHP一門解釋性動態語言(網頁代碼index.php),PHP模塊解析,基於Apache+PHP整合,互聯網主流發佈PHP網站架構。Apache將頁面請求交給PHP模塊,由PHP模塊去解析該頁面,解析完畢PHP解釋器將頁面內容返回給Apache,apache最終返回給用戶php

  12. Apache|Nginx屬於WEB服務軟件,LNMP、LEMP、LTMP、WNMP都是主流的WEB架構組合;Apache多模塊的WEB服務器,只能處理靜態網頁;
  13.  
  14. Apache經過URL匹配用戶訪問網站文件,檢測文件的後綴是否靜態頁面,靜態文件後綴:html、htm、css、js、txt、png、jpg等,Apache WEB直接響應用戶請求,返回頁面內容;
  15. 用於發佈靜態網頁,跟數據庫沒有交互,內容不常常更新,靜態頁面文件後綴html、txt、css、js、png、jpg、gif;動態頁面,跟數據庫發生交互,動態網頁後綴.php、jsp、asp、aspx、do、cgi;
  16. 靜態頁面(靜態文件):(html、css、js、txt、xml、gif,jpg、png、jpeg、xml、flv、MP四、wmv),不與數據庫發生交互;
  17. 動態頁面(動態文件):(php、jsp、do、asp、aspx、cgi),與數據庫進行交互;
  18. MySQL|Mariadb都是屬於數據庫,關係型數據庫,由常規表、表由不一樣行、列,存儲訂單、工資信息、員工我的、論壇用戶、密碼、銀行卡號、密碼等;
  19. PHP|PERL|Python,都是屬於不一樣的語言,PHP解釋型動態語言,SA系統管理員,須要將PHP代碼發佈到外網;,PHP語言開發PHP動態網頁,動態網頁能夠實現各類業務需求;基於動態語言開發動態WEB網頁,Apache不能直接發佈動態網頁,須要基於第三方工具或者動態語言相關的解釋器;
  20. 源碼軟件基於C、C++語言編寫的,Linux系統沒法直接使用,須要經過GCC編譯器生成二進制文件
  21. Apache跟PHP組合方式,數據傳遞方式,PHP module形式CGI方式FastCGI;Apache和PHP默認整合使用php module;
  22. 服務器操做系統分區:/boot 200M,swap 512M,/ 40GB,剩餘大小500G+給/data分區;
  23. Redis是一種高級key-value數據庫,它跟memcached相似,Redis的數據能夠持久化,Redis被當作是一種數據結構服務器。
  24. Apache經過URL匹配用戶訪問網站文件,檢測文件的後綴是否靜態頁面
  25. Apache跟PHP組合方式,數據傳遞方式,PHP module形式CGI方式FastCGI;Apache和PHP默認整合使用php module;
  26. Apache發佈目錄:網站的根目錄:/var/www/html/

工做過程:

一、當客戶請求的是靜態資源時,web服務器會直接把靜態資源返回客戶端;css

二、當客戶請求的是動態資源時,httpd的php模塊會進行相應的動態資源運算,若是此過程還須要數據庫的數據做爲運算參數時,php會鏈接mysql獲取數據後進行運算,運算的結果轉爲靜態資源由web服務器返回到客戶端html

Linux+apache+mariadb+PHP組合的架構圖

圖1-1 LAMP架構圖mysql

根據圖1-1中訪問數據流可知,處理一次動態頁面請求,服務器主要經歷:Apache處理請求——經過CGI接口訪問PHP的的應用程序——PHP應用程序調用PHP解釋器執行PHP代碼——PHP程序訪問調用數據庫——最後給客戶作反饋。故在LAMP的環境機構中,apache、mariadb和php的主要功能分別以下。linux

    apache主要實現以下功能:nginx

    第一:處理http的請求、構建響應報文等自身服務;c++

    第二:配置讓Apache支持PHP程序的響應(經過PHP模塊或FPM);web

    第三:配置Apache具體處理php程序的方法,如經過反向代理將php程序交給fcgi處理。面試

    mariadb主要實現以下功能:sql

    第一:提供PHP程序對數據的存儲;

    第二:提供PHP程序對數據的讀取(一般狀況下從性能的角度考慮,儘可能實現數據庫的讀寫分離)。

    php主要實現以下功能:

    第一:提供apache的訪問接口,即CGI或Fast CGI(FPM);

    第二:提供PHP程序的解釋器;

    第三:提供mairadb數據庫的鏈接函數的基本環境。

    由此可知,要實現LAMP在配置每個服務時,安裝功能需求進行配置,便可實現LAMP的架構,固然apache、mariadb和php服務均可配置爲獨立服務,安裝在不一樣電腦之上。

PHP模塊化+XCache工做模式

PHP的FPM工做模式

 

PHP工做基本介紹

    根據上述介紹,可知PHP的主要三大功能提供CGI接口、PHP解釋器和PHP與數據庫的鏈接,其中PHP的工做模式有兩種一種是編譯爲appache的模塊,另一種是獨立運行,可是在獨立運行時,又可分爲多種,所以PHP獨立運行時,具體數據庫鏈接編譯分類以下:

    第一種:RPM安裝的數據庫與php在同一臺服務器

    RPM安裝的數據庫與PHP在同一臺服務器時,此時數據庫編譯時,數據庫鏈接編譯方式採用以下選項

 

--enable-mysqlnd

--with-pdo-mysql=mysqlnd

--with-mysqli=mysqlnd

    第二種:RPM安裝的數據庫與PHP不在同一臺服務器

    RMP安裝的數據庫與PHP不在同一臺服務器時,此時數據庫編譯時,數據庫鏈接編譯方式採用以下選項,由於當指定數據庫安裝位置時,沒法找到頭文件等相關源碼程序:

--enable-mysqlnd

--with-pdo-mysql=mysqlnd

--with-mysqli=mysqlnd

   第三種:二進制安裝數據庫與PHP在同一臺服務器

    二進制安裝數據庫時,需指定二進制數據庫的安裝的具體目錄,所以PHP鏈接數據庫時,能夠調用數據庫程序中的數據庫鏈接工具,所以鏈接數據庫編譯方式能夠採用以下方式:

--with-mysql=/usr/local/mysql

--with-mysqli=/usr/local/mysql/bin/mysql_config

   第四種:二進制安裝數據庫與PHP不在同一臺服務器

    二進制安裝數據庫與PHP不在同一臺服務器時,只能調用mysqlnd鏈接模塊,由於沒法調用二進制安裝數據庫的鏈接數據庫程序,所以只能選擇鏈接模塊:

--enable-mysqlnd

--with-pdo-mysql=mysqlnd

--with-mysqli=mysqlnd

    另外根據上述架構圖中能夠PHP具備承上啓下的做用,位置舉足輕重,上面講述了編譯過程當中與數據庫的關係,固然和apache關係也一樣重要,具體也能夠分爲三類,具體以下

 

LAMP工做原理

  1. 用戶經過瀏覽器訪問http://bbs.jfedu.net/ 京峯教育PHP門戶網站,瀏覽器會檢查自身的緩存是否存在該域名對應的IP地址,若是有的發起向IP 80端口請求,瀏覽器緩存域名+IP記錄,1分鐘、1000條;
  2. 瀏覽器發起Windows系統調用,檢查操做系統本地hosts文件是否存在域名+IP記錄,若是有該記錄直接發起HTTP請求;
  3. 檢查本地客戶端DNS服務器,檢查自身是否存在域名對應的IP,若是存在直接返回,這種查詢稱爲遞歸查詢;若是本地DNS服務器沒有記錄,請求發往根DNS,bbs.jfedu.net域名對應的IP進行解析,直到解析IP爲止,這種方式稱爲迭代查詢;
  4. 瀏覽器獲取到域名對應IP地址以後呢,向服務器的80端口發起HTTP請求,首先會創建三次握手,客戶端發送syn、seq序列號,服務器端收到客戶端syn請求,發起syn+seq+ack(seq+1)給客戶端,客戶端收到服務端確認的請求以後,客戶端發起ack=1確認號,進入ESTABLISHED狀態,服務器端收到確認號也會變成ESTABLISHED;
  5. Apache WEB收到用戶發起HTTP請求,會判斷用戶請求網頁文件,若是判斷用戶請求文件爲靜態文件,此時Apache直接處理該文件,返回數據給瀏覽器,瀏覽器通過解析參考MIME協議和渲染最終出現WEB頁面;
  6. 若是Apache檢查到用戶請求動態文件,例如forum.php文件,Apache是不能直接解析的,交給PHP模塊libphp5.so,PHP解釋器解析PHP文件,解析成靜態文件,將內容返回Apache,Apache將數據返回給瀏覽器,瀏覽器通過解析參考MIME協議和渲染最終出現WEB頁面
  7. Apache有三種工做模式,分別是:prefork模式、worker模式、event模式,默認MPM模塊是prefork模塊。
  8. APR,爲何apache、tomcat都會用到apr,擴展跨平臺移植庫,當作一個接口,應用程序跟操做系統更好進行交互、系統調用;

 

LAMP軟件實現(生產環境落地)

  1. 調研PHP網站面向人羣,天天訪問量10萬PV、100PV,至關於20萬人次訪問,每一個小時產生2萬人!10M帶寬!
  2. 評估WEB網站的性能,網站對外的帶寬,服務器硬件配置選配,標配配置,CPU:2顆物理CPU Intel Xeon E5-2630 2.4Ghz主頻,邏輯CPU個數16C或者24C;
  3. 服務器硬件內存,32G內存,硬盤SAS 15K轉速 2x600G Raid 1冗餘;
  4. Linux操做系統選擇,CentOS6.8+或者CentOS7.3,2.6和3.10內核版本;
  5. 服務器操做系統分區:/boot 200M,swap 512M,/ 40GB,剩餘大小500G+給/data分區;
  6. Linux操做系統選擇,CentOS6.8+或者CentOS7.3,2.6和3.10內核版本;
  7. 服務器操做系統分區:/boot 200M,swap 512M,/ 40GB,剩餘大小500G+給/data分區;
  8. 對Linux操做系統進行Linux內核調優,最大打開文件數、描述符、端口數、TCP鏈接時間、關閉沒必要要服務和端口;

 

源碼編譯與二進制安裝

1)源碼安裝比較麻煩,須要解決各類依賴,方便管理,方便定製各類功能;

2)二進制rpm|yum安裝,自動解決依賴,不利於管理,不能定製功能;

3)線上生產環境推薦源碼安裝,方便管理,定製須要的功能;

 

關係型數據庫特色:

一、數據以表格的形式出現;

 二、每行記錄數據的真實內容;

三、每列記錄數據真實內容的數據域;

四、無數的行和列組成一張表;

五、若干的表組成一個數據庫;

 

Apache性能調優

1)Apache WEB服務器,多模塊,基於多個模塊工做,須要某個模塊就添加,不須要就無需添加模塊;

2)Apache優化,選擇Apache MPM處理請求方式,Prefork模式、Worker模式、Event模式,其中Prefork默認模式;

3)Prefork模式,預派生多進程方式,每一個進程包含一個線程,每一個線程同一時刻只能處理一個請求,進程之間是獨立的,沒有影響,一個進程掛掉,不影響其餘的進程,穩定、靠譜,缺點佔用內存、CPU資源高

<IfModule prefork.c>                                       Prefork MPM引擎配置段;

StartServers      8                                             默認啓動Apache工做進程數;

MinSpareServers   5                                           最小空閒進程數;

MaxSpareServers   20                                  最大空閒進程數;

ServerLimit      4096                                  Apache服務器最多進程數;

MaxClients      4096                                  每秒支持的最大客戶端併發;

MaxRequestsPerChild  4000                        每一個進程能處理的最大請求數;

</IfModule>

4)Work模式,預派生多進程方式,每一個進程包含多個線程,每一個線程同一時刻只能處理一個請求,進程之間是獨立的,沒有影響,一個進程掛掉,不影響其餘的進程,可是若是一個進程中某個線程奔潰,整個進程及旗下全部線程都會奔潰,並且全部的線程共享該進程全部資源,相對穩定,高性能,應用於高併發!

5)Event模式,不支持HTTPS,通常用的比較少,性能比較強悍,比prefork模式性能高,Apache官網推薦在測試環境使用;

3)Prefork模式,

<IfModule prefork.c>                                       Prefork MPM引擎配置段;

StartServers      8                                             默認啓動Apache工做進程數;

MinSpareServers   5                                           最小空閒進程數;

MaxSpareServers   20                                  最大空閒進程數;

ServerLimit      4096                                  Apache服務器最多進程數;

MaxClients      4096                                  每秒支持的最大客戶端併發;

MaxRequestsPerChild  4000                        每一個進程能處理的最大請求數;

</IfModule>

<IfModule worker.c>                                             Worker MPM引擎配置段;

StartServers        8                                   默認啓動Apache工做進程數;

MaxClients         4000                                 每秒支持的最大客戶端併發;

MinSpareThreads     25                                  最小空閒線程數;

MaxSpareThreads     75                                最小空閒線程數;

ThreadsPerChild     75                                     每一個進程啓動的線程數;

MaxRequestsPerChild  0                                    每一個進程能處理的最大請求數,0表示無限制;

</IfModule>

 

 

MYSQL主從原理(面試必備):

  1. 異步複製過程,至少須要2臺或者2個實例,不是實時同步;
  2. 至少須要三個線程,master開啓IO,slave開啓IO和SQL,同時master開啓bin-log日誌功能(記錄MYSQL庫增、刪、改、插入操做);
  3. Slave來同步master  bin-log文件中SQL語句內容;
  4. 主要是實現MYSQL數據備份,從庫異步同步主庫的數據,在主庫上插入SQL語句,SQL語句同步到從上,從而保證主庫和從庫數據一致;

Slave將同步的數據存放到本地relay-log中繼日誌中,SQL線程實時監測而且在本地執行.

 

LAMP兩種方法,第一種基於YUM在線安裝:

yum  install  httpd  httpd-devel  mysql mysql-server mysql-devel  php php-devel php-mysql php-comon  -y

service httpd restart

service mysqld restart

 

源碼安裝LA|NMP

安裝APACHE

yum install -y apr-devel apr-util

cd /usr/local/src

wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.2.34.tar.bz2

tar -jxvf httpd-2.2.34.tar.bz2

cd httpd-2.2.34

./configure --prefix=/usr/local/apache2/ --enable-so --enable-rewrite --enable-echo --enable-info

make

make install

預編譯,提早檢查操做系統可否知足httpd軟件安裝,有沒有GCC(編譯庫);

make -j8          基於GCC庫進行編譯,主要是生成可運行二進制文件;

make -j8 install               將編譯後的二進制文件cp至Linux prefix目錄;

 

PHP(php-5.3.10)安裝配置

cd /usr/local/src

wet -c http://museum.php.net/php5/php-5.3.10.tar.gz

yum install -y gb curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype  freetype-devel libxml2  libxml2-devel

cd php-5.3.10

./configure --prefix=/usr/local/php5 --enable-fpm --enable-debug --with-gb --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-curl --with-musql=/usr/local/mysql55/ --with-mysqli=/usr/local/mysql55/bin/mysql_config --with-config-file-path=/usr/local/php55/etc

make 

make install

cp php.ini-development /usr/local/php5/etc/php.ini

 

安裝php-5.3.28

cd /usr/local/src

wget -c http://mirrors.sohu.com/php/php-5.3.28.tar.bz2 

tar jxf php-5.3.28.tar.bz2 

 

 

wget http://mirrors.sohu.com/php/php-5.3.28.tar.bz2

tar jxf  php-5.3.28.tar.bz2

cd php-5.3.28

./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc   --with-apxs2=/usr/local/apache2/bin/apxs  --with-mysql=/usr/local/mysql55/

make

make  install

 

 

 

 

MYSQL數據庫源碼編譯

yum  install  gcc  gcc-c++  glibc  glibc-devel  cmake  ncurses-devel  ncurses  -y

cd /usr/local/src

wget  http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz

tar –xzf mysql-5.5.20.tar.gz

cd mysql-5.5.20

./configure --prefix=/usr/local/mysql5/|cmake替代./configure

cmake  .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DMYSQL_DATADIR=/data/mysql \

-DSYSCONFDIR=/etc \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306 \

-DWITH_XTRADB_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EXTRA_CHARSETS=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_BIG_TABLES=1 \

-DWITH_DEBUG=0

make

make  install

 

安裝mysql-5.1.63

cd /usr/local/src

wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.63.tar.gz 

tar xvf mysql-5.1.63.tar.gz 

cd mysql-5.1.63

./configure --prefix=/usr/local/mysql --enable-assemble && make make install

配置Mysql服務爲系統服務

cp /usr/local/mysql/share/mysql/mysql-medium.cnf /etc/my.cnf

cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

chkconfig --level 35 mysqld on 

cd /usr/local/mysql

useradd mysql

chown -R mysql.mysql  /usr/local/mysql

/usr/local/mysql/bin/mysql_install_db --user=mysql

chown -R mysql var 

/usr/local/mysql/bin/mysql_safe --user=mysql &&

 

nginx安裝配置

wget -c http://nginx.org/download/nginx-1.12.0.tar.gz

tar -zxvf nginx-1.12.0.tar.gz

cd nginx-1.12.0

useradd www

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

make 

make install

 

MYSQL安裝配置

yum install cmake ncurses-devel ncurses -y

weg http://down.chinaunix.net/disfiles/mysql-5.5.20.tar.gz

 

 

Apache+PHP源碼整合

爲了能讓Apache發佈PHP頁面,須要將PHP安裝完成後的libphp5.so模塊與Apache進行整合,vim httpd.conf編輯配置文件,加入以下代碼:

LoadModule         php5_module modules/libphp5.so      (默認已存在)

AddType         application/x-httpd-php  .php

DirectoryIndex     index.php index.html index.htm

 

建立PHP測試頁面,在/usr/local/apache/htdocs目錄下建立index.php測試頁面,執行以下命令自動建立:

cat >/usr/local/apache/htdocs/index.php<<EOF

<?php

phpinfo()

?>

EOF

 

從新啓動Apache服務,瀏覽器輸入 Apache WEB的IP訪問,如圖12-4所示,即表明LAMP源碼環境整合成功。

MYSQL源碼設置爲系統服務:

將源碼安裝的Mysql數據庫服務設置爲系統服務,可使用chkconfig管理,並啓動MYSQL數據庫

cd /usr/local/mysql55/

\cp support-files/my-large.cnf /etc/my.cnf

\cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld 
chkconfig --level 35 mysqld on

mkdir  -p  /data/mysql

useradd  mysql

/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql55/

ln  -s  /usr/local/mysql55/bin/* /usr/bin/

service  mysqld  restart

 

 

 

使用shell安裝LAMP

#!/bin/bash

#2017年7月19日15:09:44

#by author www.jfedu.net

#auto install lamp for Linux

###############

#Install Httpd Web service

wget -c http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.34.tar.bz2

tar -jxf httpd-2.2.34.tar.bz2

cd httpd-2.2.34

./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite

make -j8

make -j8 install

#Install mysql db service

yum  install  cmake  ncurses-devel ncurses –y

wget http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz

tar  -xzf  mysql-5.5.20.tar.gz

cd   mysql-5-5.20

cmake  . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DMYSQL_DATADIR=/data/mysql \

-DSYSCONFDIR=/etc \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306 \

-DWITH_XTRADB_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EXTRA_CHARSETS=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_BIG_TABLES=1 \

-DWITH_DEBUG=0

make

make install

#Config mysql db 2017

cd /usr/local/mysql55/

\cp support-files/my-large.cnf /etc/my.cnf

\cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig --level 35 mysqld on

mkdir -p  /data/mysql

useradd  mysql

/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql55/

ln  -s  /usr/local/mysql55/bin/* /usr/bin/

service  mysqld  restart

#Install PHP WEB service

wget http://mirrors.sohu.com/php/php-5.3.28.tar.bz2

tar jxf  php-5.3.28.tar.bz2

cd php-5.3.28

./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc   --with-apxs2=/usr/local/apache2/bin/apxs  --with-mysql=/usr/local/mysql55

#config lamp 2017

echo "AddType         application/x-httpd-php  .php" >>/usr/local/apache2/conf/httpd.conf

sed -i 's/index.html/index.php index.html/g' /usr/local/apache2/conf/httpd.conf

cat>/usr/local/apache2/htdocs/index.php<<EOF

<?php

phpinfo();

?>

EOF

 

 

 

常見問題:

一、

Starting MySQL.. ERROR! The server quit without updating PID file (/data/mysql/www-jfedu-net.pid).

解決問題的步驟:

  1. 查看MYSQL錯誤日誌;
  2. 設置MYSQL軟連接;
  3. 若是MYSQL運行中,須要先中止,而後再啓動;
  4. 初始化MYSQL服務;
  5. 關閉操做系統Selinux服務;
  6. 查看數據目錄是否有mysql權限;

二、unzip wordpress-4.7.4-zh_CN.zip

-bash: unzip: command not found

錯誤解決方法:yum  install  zip  unzip –y

 

三、軟件與系統不兼容

apr軟件包問題

解決辦法:把apr或者apache降版本,換成httpd-2.2.32.tar.gz,編譯的時候去掉,apr編譯的部分

 

連接:

AMP原理架構解析(一):LAMP工做模式  :  https://blog.51cto.com/wbxue/1972743

 

Red Hat Enterprise Linux 4+Nginx 0.7.47+PHP5.2+MYSQL5.0+Memcache+eAccelerator   : https://www.jb51.net/os/RedHat/15751.html

RHEL 7.0 編譯安裝Nginx1.6.0+MySQL5.6.19+PHP5.5.14運行環境  : https://www.jb51.net/os/RedHat/192933.html

yum 安裝CentOS 7系統安裝lamp環境 https://mp.weixin.qq.com/s/_WWK9emHCnSoRTgWC8tImA

VMware虛擬機安裝CentOS 7並搭建Lamp服務器環境 https://mp.weixin.qq.com/s/VE_BOgMciB8FDkl-hL6Nsw

.htaccess中的apache rewrite規則詳解     :     http://blog.51cto.com/xiaogongju/2060949

apache虛擬機配置步驟和修改訪問端口的方法(虛擬機端口映射) :https://www.jb51.net/article/46781.htm

apache虛擬機配置步驟和修改訪問端口的方法(虛擬機端口映射) : https://www.jb51.net/article/46781.htm

apache性能測試工具ab使用詳解 : https://www.jb51.net/article/59469.htm

Apache 虛擬目錄和默認首頁的設置 : https://www.jb51.net/article/20806.htm

Apache Rewrite url重定向功能的簡單配置 : https://www.jb51.net/article/24435.htm

apache開啓.htaccess及.htaccess的使用方法 : https://www.jb51.net/article/25476.htm

Centos6.3下Apache配置基於加密的認證https加密證書訪問  : https://www.jb51.net/os/RedHat/81409.html

CentOS搭建LAMP服務器環境硬盤分區方案分享 : https://www.jb51.net/os/RedHat/86180.html

 

Linux操做系統下提升PHP性能的工具APC  : https://www.jb51.net/os/RedHat/1322.html

PHP startup: Unable to load dynamic library錯誤的錯誤  : https://www.jb51.net/os/RedHat/1314.html

 

CentOS 5 服務器 Nginx (lamp) 環境推薦教程 : 

centos5 源碼安裝Nginx + mysql + apache + php的方法  : https://www.jb51.net/os/RedHat/35925.html

Centos 5.5 php5.1.2升級到php5.2.6的方法  :  https://www.jb51.net/os/RedHat/35036.html

Centos Nginx + Svbversion配置安裝方法分享 : https://www.jb51.net/os/RedHat/35924.html

Centos5.2配置LAMP與Centos5.3配置LAMP   :  https://www.jb51.net/os/RedHat/22433.html

LAMP服務器性能優化技巧之加速PHP  : https://www.jb51.net/article/29721.htm

 

 

 

RedHat AS4上安裝配置Apache2.2.4+PHP5.2.3+MySQL5.0.45+openssl0.98e    : https://www.jb51.net/os/RedHat/1132.html

相關文章
相關標籤/搜索