1. 程式人生 > 實用技巧 >LAMP架構初體驗

LAMP架構初體驗

簡介:

LAMP是 linuxApache MySQLPHP的簡寫,即把ApacheMySQL PHP安裝在linux系統上,組成一個環境來執行PHP網站。這裡的Apache是httpd服務。這些可以安裝在一個機器上,也可以安裝在多臺機器上,但是httpd和PHP安裝在一臺機器上(php作為httpd的一個模組存在的。 他們兩者必須要在一起,才能實現效果)。

LAMP構成:

Linux --> Apache --> Mariadb-serverMysql --> PHP

WEB資源型別:

靜態資源:原始形式與響應內容一致,在客戶端瀏覽器執行

動態資源:原始形式通常為程式檔案,需要在伺服器端執行之後,將執行結果返回給客戶端

Web相關語言:

客戶端技術: html,javascript,css,jpg

伺服器端技術:php, jsp,python,asp

CGI:

CGI:Common Gateway Interface(通用閘道器介面)

可以讓一個客戶端,從網頁瀏覽器通過http伺服器向執行在網路伺服器上的程式傳輸資料;CGI描述了客戶端和伺服器程式之間傳輸的一種標準

請求流程:

Client -- (httpd) --> httpd -- (cgi) --> application server (program file) -- (mysql) --> mysql

php: 指令碼程式語言、嵌入到html中的嵌入式web程式語言

基於zend編譯成opcode(二進位制格式的位元組碼,重複執行,可省略編譯環境)

LAMP工作原理

PHP簡介:

官網:http://www.php.net/

PHP是通用伺服器端指令碼程式語言,主要用於web開發實現動態web頁面,也是最早實現將指令碼嵌入HTML原始碼文件中的伺服器端指令碼語言之一。同時,php還提供了一個命令列介面,因此,其也可以在大多數系統上作為一個獨立的shell來使用

Rasmus Lerdorf於1994年開始開發PHP,最初是一組被Rasmus Lerdorf稱作“Personal Home Page Tool” 的Perl指令碼, 可以用於顯示作者的簡歷並記錄使用者對其網站的訪問。後來,Rasmus Lerdorf使用C語言將這些Perl指令碼重寫為CGI程式,還為其增加了執行Webforms的能力以及與資料庫互動的特性,並將其重新命名為“Personal Home Page/Forms Interpreter”或“PHP/FI”。此時,PHP/FI已經可以用於開發簡單的動態web程式了,這即PHP1.0。1995年6月,Rasmus Lerdorf把它的PHP釋出於comp.infosystems.www.authoring.cgi Usenet討論組,從此PHP開始走進人們的視野。1997年,其2.0版本釋出

1997年,兩名以色列程式設計師Zeev Suraski和Andi Gutmans重寫的PHP的分析器(parser)成為PHP發展到3.0的基礎,而且從此將PHP重新命名為PHP: Hypertext Preprocessor。此後,這兩名程式設計師開始重寫整個PHP核心,並於1999年釋出了Zend Engine 1.0,這也意味著PHP 4.0的誕生。2004年7月,Zend Engine 2.0釋出,由此也將PHP帶入了PHP 5時代。PHP5包含了許多重要的新特性,如增強的面向物件程式設計的支援、支援PDO(PHP Data Objects)擴充套件機制以及一系列對PHP效能的改進

PHP配置檔案

1)php:指令碼語言直譯器

2)配置檔案:/etc/php.ini, /etc/php.d/*.ini

3)配置檔案在php直譯器啟動時被讀取

4)對配置檔案的修改生效方法

Modules: systemctl restarthttpd

FastCGI:systemctl restart php-fpm

PHP效能調優

max_execution_time= 30 最長執行時間30s
memory_limit 128M 生產不夠,可調大
display_errors off 除錯使用,不要開啟,否則可能暴露重要資訊
display_startup_errors off 建議關閉
post_max_size 8M 最大上傳資料大小,生產可能臨時要調大,比下面項要大
upload_max_filesize 2M 最大上傳檔案,生產可能要調大
max_file_uploads = 20 同時上傳最多檔案數
date.timezone =Asia/Shanghai 指定時區
short_open_tag=on 開啟短標籤,如<? phpinfo();?>

實驗演示:

主機A:192.168.6.129 主機B: 192.168.6.130

1.在192.168.6.130主機上安裝mariadb並啟動服務

yum install Mariadb-server -y

2.在192.168.6.130主機上建立使用者

MariaDB [mysql]> grant all on *.* to php@'192.168.6.%' identified  by 'centos';

3.在192.168.6.129主機上安裝php-mysql httpd並啟動

[root@Centos7 var]# yum install httpd -y
[root@Centos7 yum.repos.d]# yum install php-mysql -y

4.在192.168.6.129主機上vim mysqli.php

[root@Centos7 html]# vim mysqli.php
<?php
$mysqli=new mysqli("192.168.6.130","php","centos");
if(mysqli_connect_errno()){
echo "Failure";
$mysqli=null;
exit;
}
echo "OK";
$mysqli->close();
?>

安裝LAMP架構

網址:

https://www.phpmyadmin.net/files/

1.安裝必須的依賴包和服務

下載phpMyadmin 原始碼包

下載對應的服務 mariadb-server httpd

yum install mariadb-server -y
yum install httpd -y
yum install php-mbstring -y
yum install php -y
yum install php-mysql -y
啟動httpd 和mariadb兩個服務

2.解壓

unzip phpMyAdmin-4.0.10.20-all-languages.zip

3.移動解壓的包並且改名為pma到/var/www/html/

mv phpMyAdmin-4.0.10.20-all-languages /var/www/html/pma

4.修改對應的配置檔案,並修改密碼

[root@Centos7 html]# cd pma/
[root@Centos7 pma]# cp config.sample.inc.php config.inc.php
[root@Centos7 pma]# vim config.inc.php

5.重啟服務

[root@Centos7 pma]# systemctl restart http

6.在瀏覽器輸入192.168.6.129/pma

7.建立資料庫

實現wordpress 部落格搭建

下載地址:

https://cn.wordpress.org/download/releases/

1.解壓到/var/www/html/pw/目錄下

[root@Centos7 wp]#rz
[root@Centos7 wp]#ll
[root@Centos7 wp]#tar xvf wordpress-5.0.3-zh_CN.tar.gz

2.安裝對應的原始碼包

[root@Centos7 wp]#yum install php -y
[root@Centos7 wp]#yum install php-mysql -y
[root@Centos7 wp]#yum install mariadb-server -y
[root@Centos7 wp]#yum install httpd -y

3. 複製修改配置檔案並重新命名

[root@Centos7 wordpress]# cp wp-config-sample.php wp-config.php

4.建立資料庫和資料庫新使用者

MariaDB [(none)]> create database wordpress;

MariaDB [(none)]> grant all on *.* to pwuser@'192.168.6.%' identified by 'centos';
MariaDB [(none)]> flush privileges;

5.填寫對應資料庫資訊並重啟httpd服務和mariadb

6.登入

部署Discuz論壇網站

官網:https://www.discuz.net/forum.php

Crossday Discuz! Board(簡稱 Discuz!)是一套通用的社群論壇軟體系統。自2001年6月面世以來,是全球成熟度最高、覆蓋率最大的論壇軟體系統之一。2010年8月23日,與騰訊達成收購協議

下載地址:

https://www.dismall.com/thread-73-1-1.html

[root@Centos7 ~]# yum install php php-fpm php-mysql -y

2.新建資料庫 luntan和建立資料庫使用者diuser 和密碼centos;