LAMP及部署wordpress/phpMyadmin

LAMP詳解 wordpress安裝


一、引言

lamp含義:黃金組合。簡要介紹一下下面這四個東西吧。linux,不用說了有很多發行版本,主流的三大版本是Debian系列,RedHat系列,slackware系列。apache,全稱叫Apache HTTP Server,是世界使用排名第一的web服務器軟件,httpd是超文本傳輸協議http服務器的主程序。可通過簡單的API擴展,將PHP/Perl/Python等解釋器編譯到服務器中。PHP是全球最好的腳本語言,主要用于web開發,python是高級編程語言,功能也很強大。mysql和mariadb是數據庫,mysql被oracle收購,oracle做的很好,但是收費,mysql是oracle的眼中釘,肉中刺,oracle喜歡通過收購競爭對手來解決競爭,然后把別人的技術放置不用。為此mysql的作者擔心這種情況的發生,有開發了mariadb。

l:linux
a:apache(httpd)
m:mysql<--->mariadb
p:php,perl,python

二、請求流程

1、一次http事務

前面提到了,客戶端的一個請求+服務端的一個響應就構成了一次http事務。那么具體的過程如何:

客戶端通過瀏覽器發出http請求,請求當中包含一部分內容,內容不是最關鍵的,關鍵的是在內容前面附加一個http請求首部,用來告訴服務器端,客戶端是如何請求的,用哪種方法進行請求的,請求哪一個虛擬機等等。

請求發送到服務器端后,服務器端要分析請求,分析這個請求首部用什么url,用什么方法請求,請求哪個主機,用哪個協議等等。然后構建響應報文,響應時還要告訴客戶端我是怎么響應你的,給出響應狀態碼(100-500)。客戶端利用這些首部信息完成內容之外的交換信息。則這一次http事務完成。

    報文語法格式:
        request 報文
            <method> <request-URL> <version>
            <headers>

            <entity-body>
        response 報文
            <version> <status> <reason-phrase>
            <headers>

            <entity-body>

2、請求流程

靜態資源請求

用戶請求先到達內核空間的網絡協議棧,內核空間通過web服務所監聽的套接字socket,可以將用戶請求轉發給用戶空間的http服務進程。靜態資源是http服務進程向內核發請求,去磁盤找到這個資源,沒有就顯示Not Found,有就把加載的資源返回給進程,先到內核自己的內存中。其中進程把任務交給內核后到內核把資源返回進程之間,進程處于空閑狀態,我們把這個狀態稱為阻塞狀態。拿到資源后,進程構建響應報文,把資源的前面加上響應首部,發到內核空間,通過通信子網進行向外發送。即達成了一次http事務吧。

靜態資源:Client -- http 協議--> httpd

補充:
如果不阻塞,則注冊一個事務,就去做別的事情,等這邊的事情好了,提醒一下就好了,這種機制叫做AIO機制。


上面的,內核加載完了資源放到了內存中,然后又返給進程,這個時候又浪費了一次用戶空間,所以有一種Sendfile機制,可以直接在內核里面添加響應首部,然后傳給用戶。這樣就省去了一回用戶空間,提高了效率。

動態資源請求。

從磁盤加載后,進程將資源傳給PHP,PHP根據是否用到數據庫去調用數據庫,都處理好了,傳遞給進程。

客戶端通過http協議將請求傳給內核,那么httpd進程通過三種方法與php結合:
    modules: 把 php 編譯成為 httpd 的模塊
    cgi:
    fastcgi:
php要聯系mysql。要用PHP代碼扮演客戶端,經過mysql協議聯系。


Client -- http --> httpd --> libphp5.so () -- mysql --> MySQL server

LAMP及部署wordpress/phpMyadmin

三、Centos7上搭建lamp

1、系統環境

centos7

ip=192.168.1.109

防火墻關閉

selinux關閉


2、安裝LAMP組件

yum install -y httpd php-fpm php-mysql mariadb-server

3、設置mysql,啟動并設置開機自啟動

systemctl start mariadb.service

systemctl enable mariadb.service

4、測試

mysql

GRANT ALL PRIVILEGES ON testdb.* TO gwx@'192.168.%.%' IDENTIFIED BY '1';

LAMP及部署wordpress/phpMyadmin

5、重啟mysqld服務:systemctl restart mysqld

LAMP及部署wordpress/phpMyadmin

話說啟動失敗是咋回事,用通用二進制或者源碼安裝的是這樣啟動mysqld。yum安裝的啟動方式如下:

LAMP及部署wordpress/phpMyadmin

LAMP及部署wordpress/phpMyadmin

6、http開啟以及虛擬主機配置前面已經討論過了 故在此省略

四、部署WorPress

1、下載wordpress

wget -O /www/b.net/htdocs/wordpress.zip https://cn.wordpress.org/wordpress-4.4.2-zh_CN.zip

2、配置wordpress

unzip wordpress.zip

cd wordpress

cp wp-config-sample.php wp-config.php #復制其配置模板然后配置

CREATE DATABASE wpdb;

GRANT ALL ON wpdb.* TO 'wpuser'@'%' IDENTIFIED BY 'passwd'; #賦予wpuser用戶對wpdb數據庫的所有權限, 并設置密碼為passwd

vim wp-config.php #按自己需求配置

service httpd restart

3、測試

http://www.b.net/wordpress

LAMP及部署wordpress/phpMyadmin

如上說明數據庫沒設置好,注意如下幾個方面

GRANT ALL ON wpdb.* TO 'wpuser'@'%' IDENTIFIED BY 'passwd';    與你的配置文件要吻合,配置文件的local,要改為你遠程連接的地址,數據庫要創建。

如下圖

LAMP及部署wordpress/phpMyadmin

再測試,結果如下

LAMP及部署wordpress/phpMyadmin

就表示ok了!??!

LAMP及部署wordpress/phpMyadmin

然后你就可以寫博客啦啦啦啦!?。。?!

四、乘熱打鐵,我們在來搭建一個phpMyAdmin平臺管理數據庫

1、下載

wget -O  /www/c.org/htdocs/phpadmin.zip   https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.zip

unzip    phpadmin.zip  

ln -sv phpMyAdmin-4.6.5.2-all-languages/    pma

cd pma

cp config.sample.inc.php config.inc.php

openssl rand -base64 15   #生成一個隨機數

LAMP及部署wordpress/phpMyadmin

測試結果如下:

LAMP及部署wordpress/phpMyadmin

這結果說明我的php版本太低要一個高點的,那么現在我去wget一個較低版本的phpmyadmin試一試。

wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.15/phpMyAdmin-4.0.10.15-english.zip

LAMP及部署wordpress/phpMyadmin

說明什么,還要安裝一個包,裝上這個包試試:yum install php-mbstring,之后重啟。

LAMP及部署wordpress/phpMyadmin

好了,可以用了。

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

(0)
N24_yeziN24_yezi
上一篇 2016-12-12 23:50
下一篇 2016-12-13 00:20

相關推薦

  • 自制linux與內核編譯

    自制Linux系統 1分區并創建文件系統 fdisk/dev/sdb 分兩個必要的分區 /dev/sdb1對應/boot /dev/sdb2對應根/ mkfs.ext4 /dev/sdb1 mkfs.ext4 /dev/sdb2 2掛載boot mkdir/mnt/boot mount /dev/sdb1 /mnt/boot ? 3安裝grub grub-i…

    Linux干貨 2016-09-13
  • shell腳本2

    使用read命令來接受輸入 使用read來把輸入值分配給一個或多個shell變量 read后面跟變量,回車輸入內容,就可以把輸入的內容賦給變量 -p指定要顯示的提示 -s 靜默輸入,一般用于密碼 輸入的內容不顯示 -n N 指定輸入的字符長度N 當輸入的內容達到了5個字符會直接結束輸入 -d‘字符’ 輸入結束符 把!作為了結束符,在輸入內容時,當輸入!會直接…

    2017-08-11
  • Linux系統中硬鏈接和軟鏈接

    使用對象:linux初學者。   一、硬鏈接和軟鏈接的概念 硬鏈接是給已經存在的數據文件另外創建一個名字,通過該名字也可以訪問該數據文件。就好像給張三起個綽號叫“小二黑”,通過“張三”這個名字能找到這個人,通過“小二黑”這個名字也能找到這個人。        軟鏈接是給文件名在其…

    Linux干貨 2016-10-20
  • 腳本及變量解析

    bash腳本編程 腳本文件格式: 第一行頂格:#!bin/bash  (shebang) 注釋信息:以#開頭 代碼注釋:好的程序員必備 適量的添加縮進或添加空白行以示分割 語言:編程語言格式:庫,算法和數據結構 編程思想:      能夠把學到的編程語言的語法格式隨時轉換為解決問題的思路     &…

    Linux干貨 2016-08-12
  • Linux網絡配置

    配置網絡 實現網絡組測試網絡網絡工具     基本網絡配置將Linux主機接入到網絡,需要配置網絡相關設置。一般包括如下內容:主機名IP/netmask路由:默認網關DNS服務器主DNS服務器次DNS服務器第三DNS服務器 網絡配置方式靜態指定:ifcfg: ifconfig, route, netstatip: object {link…

    Linux干貨 2017-08-19
  • keepalived相關配置示例(一)

    配置前提: (1) 各節點時間必須同步 (2) 確保iptables及selinux不會成為阻礙 (3) 各節點之間可通過主機名互相通信(對KA并非必須)         建議使用/etc/hosts文件實現 (4) 確保各節點的用于集群服務的接口支持MULTICAST…

    2017-06-26

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-23 12:21

    贊~安裝過程已經描述的很詳細~~繼續加油~

欧美性久久久久