CentOS7安裝經典web架構:LAMP

LAMP是什么?

LAMP,也就是Linux-Apache-MySQL-PHP的簡稱。
這里我們需要了解兩個概念,靜態資源動態資源
靜態資源一般是用HTML編寫的網頁,實際上是一個文本文件。
靜態內容通過瀏覽器的輔助而展示出我們所看到的網站的內容。如網站布局等。
動態資源則是需要特定的解釋器翻譯之后,通過服務器運行,最后返回給用戶的結果。
在訪問一個PHP網站時,假如我們需要登錄賬號,這部分則是由PHP完成,而賬號密碼則保存在MySQL里面。
假如用戶在php網站請求登錄,請求順序是這樣的:

Apache-PHP-MySQL是這樣協作的

Apache有什么特色?

其實我們可以從他的名字中來理解他的一個最經典的特性。

Apache,原意為A Patchy Server。
意思是,一個打補丁、拼湊而成的服務器。
他主要的特點,就是支持DSO。Dynamic Shared Object
意思就是動態加載模塊的意思。
配置文件中通過加入LoadModule <模塊名字> <模塊路徑>來調用模塊。
因為這樣調用模塊真的很方便,當時有許多人為Apache服務器編寫模塊文件。
這一點跟Nginx就有很大的不同,Nginx如果需要添加第三方模塊,是要重新編譯的。

另外,Apache支持MPM。Multipath Processing Modules
一般可以叫作:多路處理模塊。
他有兩種較為常用的模式:
Prefork模式
我們可以拆開這個詞來理解他的特性,Pre-Fork。
Fork在英文里面其實就是產生子進程的意思。
Pre在英文中常有預先的意思,例如Preview的意思則是預演。

Prefork模式的特點
在空閑時通過預先產生多個子進程,通過進程來接受用戶的請求。
一般認為此種模式的好處有兩個:
a.假如平時流量少,但有突如其來的并發請求,Prefork模式可以更好地應對。
因為避免了在響應請求時,為了加大響應量再產生大量進程,而對資源產生額外的開銷。
b.而在進程因為某些原因崩潰的時候,不會影響到其他的進程。
注意:PHP一般都需要運行在Prefork模式下。

Worker模式的特點
相對于Prefork模式,Worker模式也有使用子進程的概念。
但是Worker的特色在于他在進程內部產生多個線程,使用線程來處理請求。
一般認為worker模式的好處在于:
a.使用線程來響應,能夠接受更多的請求。
所以在并發的性能上,Worker模式的性能比Prefork模式更好。
b.使用線程,開銷比使用進程要小。

但是相比較于Prefork模型,由于使用了線程,穩定性不如Prefork。
因為當線程出現問題的時候,所在進程也會受到影響。

由于Apache的網絡IO模型的原因,Prefork模式和Worker模式最多同時響應1024個請求。

使用LAMP架設一個WordPress個人博客

這一次由于在單機上面操作,并沒有拓撲圖。
本文的實驗中,系統使用CentOS7.1,數據庫:MariaDB-5.5.50
注意:實驗中關閉了selinux,以及iptables。

(1)安裝LAMP具體的包

  [root@node3 ~]yum install httpd mariadb-server mariadb php php-mysql

httpd是Apache的程序名字。MariaDB-server負責MySQL的數據存儲
php組件用于解析php請求,php-mysql組件用于php于mariadb交互。

(2)啟動Apache和MySQL服務并設置為開機啟動。

  [root@node3 ~]# systemctl start mariadb.service
  [root@node3 ~]# systemctl start httpd.service
  [root@node3 ~]# systemctl enable mariadb.service
  [root@node3 ~]# systemctl enable httpd.service

(3)查看httpd是否正常運行

Apache-test-page.jpg

當什么網站都沒有的時候,在瀏覽器中輸入IP地址就會出現一個測試頁.
證明Apache運行正常

(4)到官方網站下載WordPress,并解壓到特定目錄。
官方網站的下載地址很明顯,可以直接在機器上使用wget命令。

a.下載
[root@node3 ~]# wget https://wordpress.org/latest.tar.gz
--2016-12-11 15:56:17--  https://wordpress.org/latest.tar.gz
Resolving wordpress.org (wordpress.org)... 66.155.40.249, 66.155.40.250
Connecting to wordpress.org (wordpress.org)|66.155.40.249|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7993186 (7.6M) [application/octet-stream]
Saving to: ‘latest.tar.gz’

100%[======================================================>] 7,993,186   36.1KB/s   in 2m 36s 

b.解壓
[root@node3 ~]# tar xvf /root/latest.tar.gz -C /var/www/html/

(5)修改文件屬主

[root@node3 ~]# chown -R apache.apache /var/www/html/wordpress/
[root@node3 ~]# ll !$
ll /var/www/html/wordpress/
total 184
-rw-r--r--.  1 apache apache   418 Sep 25  2013 index.php
-rw-r--r--.  1 apache apache 19935 Mar  6  2016 license.txt
-rw-r--r--.  1 apache apache  7433 Dec  2 15:04 readme.html
-rw-r--r--.  1 apache apache  5447 Sep 28 05:36 wp-activate.php
drwxr-xr-x.  9 apache apache  4096 Dec  7 02:40 wp-admin
-rw-r--r--.  1 apache apache   364 Dec 19  2015 wp-blog-header.php
-rw-r--r--.  1 apache apache  1627 Aug 29 20:00 wp-comments-post.php
-rw-r--r--.  1 apache apache  2853 Dec 16  2015 wp-config-sample.php
drwxr-xr-x.  4 apache apache    49 Dec  7 02:40 wp-content
-rw-r--r--.  1 apache apache  3286 May 25  2015 wp-cron.php
drwxr-xr-x. 18 apache apache  8192 Dec  7 02:40 wp-includes
-rw-r--r--.  1 apache apache  2422 Nov 21 10:46 wp-links-opml.php
-rw-r--r--.  1 apache apache  3301 Oct 25 11:15 wp-load.php
-rw-r--r--.  1 apache apache 33939 Nov 21 10:46 wp-login.php
-rw-r--r--.  1 apache apache  7841 Nov 21 10:46 wp-mail.php
-rw-r--r--.  1 apache apache 16250 Nov 29 13:39 wp-settings.php
-rw-r--r--.  1 apache apache 29896 Oct 19 12:47 wp-signup.php
-rw-r--r--.  1 apache apache  4513 Oct 15 03:39 wp-trackback.php
-rw-r--r--.  1 apache apache  3065 Sep  1 00:31 xmlrpc.php

因為httpd.conf中定義了用戶和組,所以需要將網站文件的屬主屬組都改為對應用戶``默認都是apache

(6)數據庫創建一個數據庫,并授權一個用戶。

[root@node3 ~]# mysql 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.50-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on wordpress.* to 'wordpress'@'%' identified by 'wordpress';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> 

(7)修改httpd的配置文件,將網站設置為虛擬主機。

<VirtualHost *:80>
    DocumentRoot /var/www/html/wordpress/
    ServerName node3.bc.com
    ErrorLog "/var/log/httpd/node3-err_log"
    CustomLog "/var/log/httpd/node3-access_log" common
</VirtualHost>

(8)圖形化界面,設置mysql地址,主機地址和密碼。
有兩種方式,任選其一。
a.直接配置安裝wordpress。
配置文件在網站根目錄下,此處為/var/www/html/wordpress/wp-config.php

vim /var/www/html/wordpress/wp-config.php
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpress');

/** MySQL database password */
define('DB_PASSWORD', 'wordpress');

/** MySQL hostname */
define('DB_HOST', '192.168.2.203');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8mb4');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

b.也可以直接在瀏覽器上面訪問主機地址

選擇語言
準備開始!
設置剛才設置的數據庫和用戶
正常使用!

至此,我們已經成功地安裝LAMP并架設了一個十分常用的個人博客。
下一篇文章,我們將會比較Apache和Nginx,并用Nginx搭建一個phpMyAdmin。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,345評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,494評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,283評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,953評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,714評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,186評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,410評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,940評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,776評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,976評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,210評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,642評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,878評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,654評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,958評論 2 373

推薦閱讀更多精彩內容

  • 一、LAMP環境的介紹 1.LAMP環境的重要性 思索許久,最終還是決定寫一篇詳細的LAMP的源碼編譯安裝的實驗文...
    endmoon閱讀 2,645評論 4 26
  • 1.LAMP介紹 ? LAM(M)P:L: linuxA: apache (httpd)M: mysql, mar...
    尛尛大尹閱讀 1,062評論 0 1
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,781評論 18 139
  • 上一篇《WEB請求處理一:瀏覽器請求發起處理》,我們講述了瀏覽器端請求發起過程,通過DNS域名解析服務器IP,并建...
    七寸知架構閱讀 81,098評論 21 356
  • >要在人的必死性方面謀求共識,并以生命尊嚴和保持有意義生活作為生存追求,醫患雙方都面臨著學習的任務。——阿圖?葛文...
    二耳來了閱讀 877評論 0 5