您好,登錄后才能下訂單哦!
博文目錄
一、LAMP平臺(tái)概述
二、部署LAMP架構(gòu)
三、部署phpMyAdmin系統(tǒng)
LAMP是一個(gè)縮寫詞,具體包括如下:
L:Linux操作系統(tǒng)、
A:APache網(wǎng)站服務(wù)器、
M:MySQL數(shù)據(jù)庫(kù)服務(wù)器、
P:PHP(或Perl、Python)網(wǎng)頁(yè)編程語(yǔ)言、
在LAMP平臺(tái)的四個(gè)構(gòu)成組件中,每個(gè)組件都承擔(dān)著一部分關(guān)鍵的應(yīng)用。經(jīng)過(guò)十幾年的發(fā)展,各組件間的兼容性得到了不斷的完善,寫作能力和穩(wěn)定性也不斷增強(qiáng),可以構(gòu)建出非常優(yōu)秀的Web應(yīng)用系統(tǒng)。各組件的主要作用如下:
Linux操作系統(tǒng):作為L(zhǎng)AMP架構(gòu)的基礎(chǔ),提供用于支撐Web站點(diǎn)的操作系統(tǒng),能夠與其他三個(gè)組件提供更好的穩(wěn)定性、兼容性(AMP組件也支持windows、UNIX等操作系統(tǒng))。
APache網(wǎng)站服務(wù)器:作為L(zhǎng)AMP架構(gòu)的前端,是一款功能強(qiáng)大、穩(wěn)定性好的Web服務(wù)器程序,該服務(wù)器之間面向用戶提供網(wǎng)站訪問(wèn),發(fā)生網(wǎng)頁(yè)、圖片等文件內(nèi)容。
MySQL數(shù)據(jù)庫(kù)服務(wù)器:作為L(zhǎng)AMP架構(gòu)的后端,是一款流行的開(kāi)源關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。在企業(yè)網(wǎng)站,業(yè)務(wù)系統(tǒng)等應(yīng)用中,各種賬戶信息、產(chǎn)品信息、客戶資料、業(yè)務(wù)數(shù)據(jù)等都可以存儲(chǔ)到MySQL數(shù)據(jù)庫(kù),其他程序可以通過(guò)SQL語(yǔ)句來(lái)查詢、更改這些信息。
成本低廉:構(gòu)成組件都是開(kāi)放源代碼的軟件,可以自由獲得和免費(fèi)使用,在技術(shù)上和許可證方面沒(méi)有太嚴(yán)格的限制,大大降低了企業(yè)的實(shí)施成本。
可定制:擁有大量的額外組件和可擴(kuò)展功能的模塊,能夠滿足大部分企業(yè)應(yīng)用的定制需求,甚至可以自行開(kāi)發(fā)、添加新的功能。
易于開(kāi)發(fā):基于LAMP平臺(tái)的動(dòng)態(tài)網(wǎng)站中,頁(yè)面代碼簡(jiǎn)潔,與HTML標(biāo)記語(yǔ)言的結(jié)合度非常好,即使是非專業(yè)的程序員也能夠輕松讀懂乃至修改網(wǎng)頁(yè)代碼。
方便易用:PHP、Perl等屬于解釋性語(yǔ)言,開(kāi)發(fā)的各種Web程序不需要編譯,方便進(jìn)行移植使用。整套的網(wǎng)站項(xiàng)目程序,通常只要復(fù)制到網(wǎng)站目錄中,就可以直接訪問(wèn)。
在構(gòu)建LAMP平臺(tái)時(shí),各組件的安裝順序依次為L(zhǎng)inux、Apache、MySQL、PHP。其中APache和MySQL的安裝并沒(méi)有嚴(yán)格的順序;而PHP環(huán)境的安裝一般放到最后,負(fù)責(zé)溝通Web服務(wù)器和數(shù)據(jù)庫(kù)系統(tǒng)以協(xié)調(diào)工作。
Linux環(huán)境可以參考博文:制作Centos 7.4操作系統(tǒng)模板機(jī)
部署LAMP用到的所有光盤可以到網(wǎng)盤提?。烘溄樱篽ttps://pan.baidu.com/s/1TkzHigBOHvFDuLykbukl3w
提取碼:jsam
切換Linux光盤
[root@centos01 ~]# mount /dev/cdrom /mnt/ <!--掛載Linux光盤-->
[root@centos01 ~]# tar zxvf /mnt/httpd-2.2.17.tar.gz -C /usr/src/
<!--解壓縮httpd到/usr/src/目錄-->
[root@centos01 ~]# tar zxvf /mnt/cmake-2.8.6.tar.gz -C /usr/src/
<!--解壓縮cmake到/usr/src/目錄-->
[root@centos01 ~]# tar zxvf /mnt/mysql-5.5.22.tar.gz -C /usr/src/
<!--解壓縮mysql到/usr/src/目錄-->
[root@centos01 ~]# tar zxvf /mnt/php-5.3.28.tar.gz -C /usr/src/
<!--解壓縮php到/usr/src/目錄-->
[root@centos01 ~]# tar zxvf /mnt/phpMyAdmin-4.2.5-all-languages.tar.gz -C /usr/src/
<!--解壓縮phpMyAdmin到/usr/src/目錄-->
[root@centos01 ~]# tar zxvf /mnt/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
-C /usr/src/
<!--解壓縮ZendGuardLoader到/usr/src/目錄-->
[root@centos01 ~]# cd /usr/src/httpd-2.2.17/ <!--進(jìn)入httpd目錄-->
[root@centos01 httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite
--enable-charset-lite --enable-cgi
<!--配置Apache-->
[root@centos01 httpd-2.2.17]# make && make install <!--編譯及安裝Apache-->
[root@centos01 httpd-2.2.17]# ls -ld /usr/local/httpd/ <!--查看服務(wù)是否安裝成功-->
[root@centos01 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
<!--優(yōu)化Apache程序運(yùn)行目錄 -->
[root@centos01 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
<!--創(chuàng)建Apache系統(tǒng)服務(wù)-->
[root@centos01 ~]# chmod +x /etc/init.d/httpd <!--添加執(zhí)行權(quán)限-->
[root@centos01 ~]# vim /etc/init.d/httpd <!--使用chkconfig添加系統(tǒng)服務(wù)-->
#!/bin/sh
#chkconfig: 35 80 20
<!--服務(wù)識(shí)別參數(shù),在級(jí)別3、5中啟動(dòng);啟動(dòng)和關(guān)閉的順序分別為80、20-->
#description:apache server <!--服務(wù)描述信息-->
[root@centos01 ~]# chkconfig --add httpd <!--添加系統(tǒng)服務(wù)-->
[root@centos01 ~]# chkconfig --level 35 httpd on <!--添加系統(tǒng)服務(wù)-->
[root@centos01 ~]# systemctl start httpd <!--啟動(dòng)Apache服務(wù)-->
[root@centos01 ~]# systemctl enable httpd <!--設(shè)置開(kāi)啟自動(dòng)啟動(dòng)-->
[root@centos01 ~]# netstat -anptu | grep 80 <!--監(jiān)聽(tīng)Apache端口號(hào)服務(wù)是否正常運(yùn)行-->
監(jiān)聽(tīng)80端口httpd服務(wù)在運(yùn)行狀態(tài)的話證明Apache服務(wù)搭建的沒(méi)有問(wèn)題,接下來(lái)開(kāi)始搭建MySQL數(shù)據(jù)庫(kù)
1)卸載光盤[root@centos01 ~]# umount /mnt/ <!--卸載當(dāng)前光盤-->
2)切換操作系統(tǒng)光盤
[root@centos01 ~]# mount /dev/cdrom /mnt/ <!--掛載操作系統(tǒng)光盤-->
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-* <!--刪除系統(tǒng)自動(dòng)yum源-->
[root@centos01 ~]# yum -y install ncurses-devel <!--安裝MySQL服務(wù)的依賴包-->
[root@centos01 ~]# cd /usr/src/cmake-2.8.6/ <!--進(jìn)入cmake目錄-->
[root@centos01 cmake-2.8.6]# ./configure <!--配置cmake-->
[root@centos01 cmake-2.8.6]# gmake && gmake install <!--編譯及安裝cmake-->
[root@centos01 ~]# groupadd mysql <!--創(chuàng)建管理mysql的組-->
[root@centos01 ~]# useradd -M -s /sbin/nologin mysql -g mysql
<!--創(chuàng)建管理MySQL數(shù)據(jù)庫(kù)的用戶,用戶加入到mysql組-->
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/ <!--進(jìn)入mysql目錄-->
[root@centos01 mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
-DSYSCONFDIR=/etc
<!--配置mysql程序-->
[root@centos01 mysql-5.5.22]# make && make install <!--編譯安裝mysql-->
[root@centos01 mysql-5.5.22]# chown -R mysql:mysql /usr/local/mysql/
<!--設(shè)置安裝目錄數(shù)據(jù)的所有者-->
[root@centos01 mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
<!--生成mysql服務(wù)配置文件-->
cp:是否覆蓋"/etc/my.cnf"? y <!--輸入Y確定覆蓋-->
[root@centos01 ~]# vim /etc/profile <!--優(yōu)化執(zhí)行名-->
# /etc/profile
PATH="$PATH:/usr/local/mysql/bin/" <!--設(shè)置環(huán)境變量-->
[root@centos01 ~]# source /etc/profile <!--立即生效-->
[root@centos01 mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld
<!--生成MySQL服務(wù)控制文件-->
[root@centos01 mysql-5.5.22]# chmod +x /etc/init.d/mysqld <!--設(shè)置服務(wù)的執(zhí)行權(quán)限-->
[root@centos01 ~]# chkconfig --add mysqld <!--添加系統(tǒng)服務(wù)-->
[root@centos01 ~]# chkconfig --level 35 mysqld on <!--添加系統(tǒng)服務(wù)-->
[root@centos01 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
<!--初始化管理數(shù)據(jù)的賬戶數(shù)據(jù)庫(kù)位置和數(shù)據(jù)庫(kù)位置-->
[root@centos01 ~]# systemctl start mysqld <!--啟動(dòng)mysql服務(wù)-->
[root@centos01 ~]# systemctl enable mysqld <!--設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng)-->
[root@centos01 ~]# netstat -anptu | grep 3306 <!--監(jiān)聽(tīng)mysql服務(wù)是否啟動(dòng)正常運(yùn)行-->
[root@centos01 ~]# mysqladmin -u root password <!--mysql數(shù)據(jù)庫(kù)root用戶設(shè)置密碼-->
New password: <!--輸入密碼-->
Confirm new password: <!--再次輸入密碼-->
[root@centos01 ~]# mysql -u root -p <!--測(cè)試登錄MySQL數(shù)據(jù)庫(kù)-->
Enter password: <!--輸入密碼-->
可以成功登錄MySQL數(shù)據(jù)庫(kù)證明MySQL數(shù)據(jù)庫(kù)搭建的沒(méi)有問(wèn)題,接下來(lái)開(kāi)始部署PHP。
在實(shí)際企業(yè)應(yīng)用中,一部分基于PHP開(kāi)發(fā)的Web應(yīng)用系統(tǒng)會(huì)需要額外的擴(kuò)展工具,如數(shù)據(jù)加密工具libmcrypt、mhash、mcrypt等(可以從http://sourceforge.net下載)。 安裝PHP軟件包之前,應(yīng)先安裝好這些擴(kuò)展工具程序。
[root@centos01 ~]# yum -y install gd libxml2-devel libjpeg-devel libpng-devel
<!--安裝依賴程序包-->
[root@centos01 ~]# umount /mnt/ <!--卸載光盤切換LAMP光盤-->
切換LAMP光盤
[root@centos01 ~]# mount /dev/cdrom /mnt/ <!--掛載LAMP光盤-->
[root@centos01 ~]# tar zxvf /mnt/mcrypt-2.6.8.tar.gz -C /usr/src/
<!--解壓縮mcrypt加密工具到/usr/src/目錄-->
[root@centos01 ~]# tar zxvf /mnt/mhash-0.9.9.9.tar.gz -C /usr/src/
<!--解壓縮mhash加密工具到/usr/src/目錄-->
[root@centos01 ~]# tar zxvf /mnt/libmcrypt-2.5.8.tar.gz -C /usr/src/
<!--解壓縮libmcrypt加密工具到/usr/src/目錄-->
[root@centos01 ~]# cd /usr/src/libmcrypt-2.5.8/ <!--進(jìn)入libmcrypt目錄-->
[root@centos01 libmcrypt-2.5.8]# ./configure <!--配置libmcrypt-->
[root@centos01 libmcrypt-2.5.8]# make && make install <!--編譯安裝-->
[root@centos01 libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib <!--創(chuàng)建系統(tǒng)加載連接->
[root@centos01 ~]# cd /usr/src/mhash-0.9.9.9/ <!--進(jìn)入mhash目錄-->
[root@centos01 mhash-0.9.9.9]# ./configure <!--配置mhash-->
[root@centos01 mhash-0.9.9.9]# make && make install <!--編譯安裝mhash-->
[root@centos01 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib <!--創(chuàng)建系統(tǒng)加載連接-->
[root@centos01 ~]# cd /usr/src/mcrypt-2.6.8/ <!--進(jìn)入mcrypt目錄-->
[root@centos01 mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib
<!--手動(dòng)指定變量-->
[root@centos01 mcrypt-2.6.8]# ./configure <!--配置mcrypt-->
[root@centos01 mcrypt-2.6.8]# make && make install <!--編譯安裝mcrypt-->
[root@centos01 php-5.3.28]# ./configure --prefix=/usr/local/php --with-mcrypt
--with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/
--with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php
--enable-mbstring <!--配置php-->
[root@centos01 php-5.3.28]# make && make install <!--安裝php-->
[root@centos01 php-5.3.28]# ls -ld /usr/local/php/ <!--查看PHP是否安裝成功-->
[root@centos01 ~]# cp /usr/src/php-5.3.28/php.ini-production /usr/local/php/php.ini
<!--生成php配置文件-->
[root@centos01 ~]# vim /usr/local/php/php.ini <!--修改php主配置文件-->
174 short_open_tag = On <!--允許識(shí)別PHP短語(yǔ)法標(biāo)記,即<?...?>-->
740 post_max_size = 8M <!--每次通過(guò)表單post提交的數(shù)據(jù)量限制-->
785 default_charset = "utf-8" <!--設(shè)置默認(rèn)字符集為utf-8-->
883 file_uploads = On <!--允許通過(guò)PHP網(wǎng)頁(yè)上傳文件-->
892 upload_max_filesize = 2M <!--允許上傳的文件大小限制-->
895 max_file_uploads = 20 <!--每個(gè)HTTP最多允許請(qǐng)求上傳的文件數(shù)-->
973 ;extension=php_mysqli.dll <!--添加MySQL支持-->
[root@centos01 ~]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/
<!--進(jìn)入Zend目錄-->
[root@centos01 php-5.3.x]# mv ZendGuardLoader.so /usr/local/php/lib/php/
<!--移動(dòng)zend模塊位置-->
[root@centos01 ~]# vim /usr/local/php/php.ini <!--修改php主配置文件加載zend-->
2 zend_extension=/usr/local/php/lib/php/ZendGuardLoader.so
<!--添加加載ZendGuardLoader.so模塊-->
3 zend_loader.enable=1 <!--啟用ZendGuardLoader.so模塊-->
[root@centos01 ~]# vim /usr/local/httpd/htdocs/index.php <!--apache網(wǎng)站根目錄編寫測(cè)試php文件-->
<?php <!--標(biāo)簽開(kāi)始-->
phpinfo(); <!--顯示PHP的環(huán)境信息-->
?> <!--標(biāo)簽結(jié)束-->
[root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf
<!--修改apache主配置文件支持主頁(yè)為index.php->
99 ServerName 192.168.100.10:80 <!--Web站點(diǎn)的IP地址-->
168 DirectoryIndex index.html index.php <!--網(wǎng)站主頁(yè)添加index.php文檔類型-->
299 AddType application/x-httpd-php .php <!--支持對(duì)以.php結(jié)尾的文件-->
[root@centos01 ~]# systemctl stop httpd
<!--停止apache服務(wù)(重啟不好使就停止在啟動(dòng)即可)-->
[root@centos01 ~]# systemctl start httpd <!--啟動(dòng)apache服務(wù)-->
上述配置命令中,各選項(xiàng)的含義如下:
- --prefix:指定將PHP程序安裝到那個(gè)目錄下。
- --with-pcrypt:加載數(shù)據(jù)加密等擴(kuò)展工具支持。
- --with-apxs2:設(shè)置Apache HTTP Server提供的apxs模塊支持程序的文件位置。
- --with-mysql:設(shè)置MySQL數(shù)據(jù)庫(kù)服務(wù)程序的安裝位置。
- --with-mysqli:添加mysqli擴(kuò)展支持。
- --with-config-file-path:設(shè)置PHP的配置文件php.ini將要存放的位置。
- --enable-mbstring:?jiǎn)⒂枚嘧止?jié)字符串功能,以便支持中文等代碼。
1)開(kāi)啟客戶端,設(shè)置和服務(wù)器同一塊網(wǎng)卡
2)客戶端配置IP地址
3)訪問(wèn)測(cè)試php
http://192.168.100.10/index.php
[root@centos01 ~]# vim /usr/local/httpd/htdocs/index1.php <!--編寫測(cè)試網(wǎng)頁(yè)-->
<?php
$Link=mysqli_connect('localhost','root','pwd@123'); <!--連接MySQL數(shù)據(jù)庫(kù)-->
if ($Link) echo "恭喜你,數(shù)據(jù)庫(kù)連接成功啦!"; <!--連接成功時(shí)的反饋信息-->
mysqli_close($Link); <!--關(guān)閉數(shù)據(jù)庫(kù)連接-->
?>
2) 訪問(wèn)測(cè)試
http://192.168.100.10/index1.php
phpMyAdmin是一個(gè)使用PHP語(yǔ)言編寫,用來(lái)管理MySQL數(shù)據(jù)庫(kù)的Web應(yīng)用系統(tǒng)。通過(guò)該套件提供的網(wǎng)頁(yè)界面,即便是對(duì)SQL語(yǔ)句不太熟悉的人,也能夠非常容易地對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行管理和維護(hù)。
[root@centos01 src]# mv phpMyAdmin-4.2.5-all-languages/
/usr/local/httpd/htdocs/phpMyadmin <!--將項(xiàng)目部署在apache網(wǎng)站根目錄-->
[root@centos01 ~]# cp /usr/local/httpd/htdocs/phpMyadmin/config.sample.inc.php
/usr/local/httpd/htdocs/phpMyadmin/config..inc.php <!--設(shè)置phpMyadmin主配置文件-->
2)訪問(wèn)phpMyAdmin系統(tǒng)
http://192.168.100.10/phpMyadmin/
3)創(chuàng)建新的庫(kù),數(shù)據(jù)庫(kù)名字為benet
4)新建數(shù)據(jù)表,表名字為student
5)表的第一列名字為姓名,第二列名字為性別,第三列名字為年齡,第四列名字為工號(hào)
6)student表插入數(shù)據(jù)
7)查看表中數(shù)據(jù)
[root@centos01 ~]# mysql -uroot -ppwd@123 <!--Linux登錄MySQL查看數(shù)據(jù)表-->
mysql> use benet; <!--切換到benet數(shù)據(jù)庫(kù)-->
mysql> select * from student; <!--查看student表中數(shù)據(jù)-->
+--------+--------+--------+----------+
| 姓名 | 性別 | 年齡 | 工號(hào) |
+--------+--------+--------+----------+
| 張三 | 男 | 20 | 11111111 |
+--------+--------+--------+----------+
1 row in set (0.00 sec)
—————— 本文至此結(jié)束,感謝閱讀 ——————
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。