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
三、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';
5、重啟mysqld服務:systemctl restart mysqld
話說啟動失敗是咋回事,用通用二進制或者源碼安裝的是這樣啟動mysqld。yum安裝的啟動方式如下:
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
如上說明數據庫沒設置好,注意如下幾個方面
GRANT ALL ON wpdb.* TO 'wpuser'@'%' IDENTIFIED BY 'passwd'; 與你的配置文件要吻合,配置文件的local,要改為你遠程連接的地址,數據庫要創建。
如下圖
再測試,結果如下
就表示ok了?。?!
然后你就可以寫博客啦啦啦啦?。。。。?/p>
四、乘熱打鐵,我們在來搭建一個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 #生成一個隨機數
測試結果如下:
這結果說明我的php版本太低要一個高點的,那么現在我去wget一個較低版本的phpmyadmin試一試。
wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.15/phpMyAdmin-4.0.10.15-english.zip
說明什么,還要安裝一個包,裝上這個包試試:yum install php-mbstring,之后重啟。
好了,可以用了。
原創文章,作者:N24_yezi,如若轉載,請注明出處:http://www.www58058.com/63490
贊~安裝過程已經描述的很詳細~~繼續加油~