LAMP架構初體驗
簡介:
LAMP是 linux、Apache 、MySQL、PHP的簡寫,即把Apache、MySQL 、PHP安裝在linux系統上,組成一個環境來執行PHP網站。這裡的Apache是httpd服務。這些可以安裝在一個機器上,也可以安裝在多臺機器上,但是httpd和PHP安裝在一臺機器上(php作為httpd的一個模組存在的。 他們兩者必須要在一起,才能實現效果)。
LAMP構成:
Linux --> Apache --> Mariadb-server、Mysql --> 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;