博文目錄
一、LAMP平臺(tái)概述
二、部署LAMP架構(gòu)
三、部署phpMyAdmin系統(tǒng)成都創(chuàng)新互聯(lián)公司為客戶提供專業(yè)的網(wǎng)站建設(shè)、做網(wǎng)站、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、成都做手機(jī)網(wǎng)站等網(wǎng)站方面業(yè)務(wù)。
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)過十幾年的發(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)站訪問,發(fā)生網(wǎng)頁(yè)、圖片等文件內(nèi)容。
MySQL數(shù)據(jù)庫(kù)服務(wù)器:作為L(zhǎng)AMP架構(gòu)的后端,是一款流行的開源關(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ù),其他程序可以通過SQL語(yǔ)句來(lái)查詢、更改這些信息。
成本低廉:構(gòu)成組件都是開放源代碼的軟件,可以自由獲得和免費(fèi)使用,在技術(shù)上和許可證方面沒有太嚴(yán)格的限制,大大降低了企業(yè)的實(shí)施成本。
可定制:擁有大量的額外組件和可擴(kuò)展功能的模塊,能夠滿足大部分企業(yè)應(yīng)用的定制需求,甚至可以自行開發(fā)、添加新的功能。
易于開發(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ǔ)言,開發(fā)的各種Web程序不需要編譯,方便進(jìn)行移植使用。整套的網(wǎng)站項(xiàng)目程序,通常只要復(fù)制到網(wǎng)站目錄中,就可以直接訪問。
在構(gòu)建LAMP平臺(tái)時(shí),各組件的安裝順序依次為L(zhǎng)inux、Apache、MySQL、PHP。其中APache和MySQL的安裝并沒有嚴(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/
[root@centos01 ~]# tar zxvf /mnt/httpd-2.2.17.tar.gz -C /usr/src/
[root@centos01 ~]# tar zxvf /mnt/cmake-2.8.6.tar.gz -C /usr/src/
[root@centos01 ~]# tar zxvf /mnt/mysql-5.5.22.tar.gz -C /usr/src/
[root@centos01 ~]# tar zxvf /mnt/php-5.3.28.tar.gz -C /usr/src/
[root@centos01 ~]# tar zxvf /mnt/phpMyAdmin-4.2.5-all-languages.tar.gz -C /usr/src/
[root@centos01 ~]# tar zxvf /mnt/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
-C /usr/src/
[root@centos01 ~]# cd /usr/src/httpd-2.2.17/
[root@centos01 httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite
--enable-charset-lite --enable-cgi
[root@centos01 httpd-2.2.17]# make && make install
[root@centos01 httpd-2.2.17]# ls -ld /usr/local/httpd/
[root@centos01 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@centos01 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@centos01 ~]# chmod +x /etc/init.d/httpd
[root@centos01 ~]# vim /etc/init.d/httpd
#!/bin/sh
#chkconfig: 35 80 20
#description:apache server
[root@centos01 ~]# chkconfig --add httpd
[root@centos01 ~]# chkconfig --level 35 httpd on
[root@centos01 ~]# systemctl start httpd
[root@centos01 ~]# systemctl enable httpd
[root@centos01 ~]# netstat -anptu | grep 80
監(jiān)聽80端口httpd服務(wù)在運(yùn)行狀態(tài)的話證明Apache服務(wù)搭建的沒有問題,接下來(lái)開始搭建MySQL數(shù)據(jù)庫(kù)
1)卸載光盤[root@centos01 ~]# umount /mnt/ <!--卸載當(dāng)前光盤-->
2)切換操作系統(tǒng)光盤
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos01 ~]# yum -y install ncurses-devel
[root@centos01 ~]# cd /usr/src/cmake-2.8.6/
[root@centos01 cmake-2.8.6]# ./configure
[root@centos01 cmake-2.8.6]# gmake && gmake install
[root@centos01 ~]# groupadd mysql
[root@centos01 ~]# useradd -M -s /sbin/nologin mysql -g mysql
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/
[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
[root@centos01 mysql-5.5.22]# make && make install
[root@centos01 mysql-5.5.22]# chown -R mysql:mysql /usr/local/mysql/
[root@centos01 mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆蓋"/etc/my.cnf"? y
[root@centos01 ~]# vim /etc/profile
# /etc/profile
PATH="$PATH:/usr/local/mysql/bin/"
[root@centos01 ~]# source /etc/profile
[root@centos01 mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos01 mysql-5.5.22]# chmod +x /etc/init.d/mysqld
[root@centos01 ~]# chkconfig --add mysqld
[root@centos01 ~]# chkconfig --level 35 mysqld on
[root@centos01 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@centos01 ~]# systemctl start mysqld
[root@centos01 ~]# systemctl enable mysqld
[root@centos01 ~]# netstat -anptu | grep 3306
[root@centos01 ~]# mysqladmin -u root password
New password:
Confirm new password:
[root@centos01 ~]# mysql -u root -p
Enter password:
可以成功登錄MySQL數(shù)據(jù)庫(kù)證明MySQL數(shù)據(jù)庫(kù)搭建的沒有問題,接下來(lái)開始部署PHP。
在實(shí)際企業(yè)應(yīng)用中,一部分基于PHP開發(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光盤
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# tar zxvf /mnt/mcrypt-2.6.8.tar.gz -C /usr/src/
[root@centos01 ~]# tar zxvf /mnt/mhash-0.9.9.9.tar.gz -C /usr/src/
[root@centos01 ~]# tar zxvf /mnt/libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/libmcrypt-2.5.8/
[root@centos01 libmcrypt-2.5.8]# ./configure
[root@centos01 libmcrypt-2.5.8]# make && make install
[root@centos01 libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib
[root@centos01 mhash-0.9.9.9]# ./configure
[root@centos01 mhash-0.9.9.9]# make && make install
[root@centos01 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib
[root@centos01 ~]# cd /usr/src/mcrypt-2.6.8/
[root@centos01 mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib
[root@centos01 mcrypt-2.6.8]# ./configure
[root@centos01 mcrypt-2.6.8]# make && make install
[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
[root@centos01 php-5.3.28]# make && make install
[root@centos01 php-5.3.28]# ls -ld /usr/local/php/
[root@centos01 ~]# cp /usr/src/php-5.3.28/php.ini-production /usr/local/php/php.ini
[root@centos01 ~]# vim /usr/local/php/php.ini
174 short_open_tag = On
740 post_max_size = 8M
785 default_charset = "utf-8"
883 file_uploads = On
892 upload_max_filesize = 2M
895 max_file_uploads = 20
973 ;extension=php_mysqli.dll
[root@centos01 ~]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/
[root@centos01 php-5.3.x]# mv ZendGuardLoader.so /usr/local/php/lib/php/
[root@centos01 ~]# vim /usr/local/php/php.ini
2 zend_extension=/usr/local/php/lib/php/ZendGuardLoader.so
3 zend_loader.enable=1
[root@centos01 ~]# vim /usr/local/httpd/htdocs/index.php
phpinfo();
?>
[root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf
168 DirectoryIndex index.html index.php
299 AddType application/x-httpd-php .php
[root@centos01 ~]# systemctl stop httpd
[root@centos01 ~]# systemctl start httpd
上述配置命令中,各選項(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)開啟客戶端,設(shè)置和服務(wù)器同一塊網(wǎng)卡
2)客戶端配置IP地址
3)訪問測(cè)試php
http://192.168.100.10/index.php
[root@centos01 ~]# vim /usr/local/httpd/htdocs/index1.php
if ($Link) echo "恭喜你,數(shù)據(jù)庫(kù)連接成功啦!";
mysqli_close($Link);
?>
2) 訪問測(cè)試
http://192.168.100.10/index1.php
phpMyAdmin是一個(gè)使用PHP語(yǔ)言編寫,用來(lái)管理MySQL數(shù)據(jù)庫(kù)的Web應(yīng)用系統(tǒng)。通過該套件提供的網(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
[root@centos01 ~]# cp /usr/local/httpd/htdocs/phpMyadmin/config.sample.inc.php
/usr/local/httpd/htdocs/phpMyadmin/config..inc.php
2)訪問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
mysql> use benet;
mysql> select * from student;
+--------+--------+--------+----------+
| 姓名 | 性別 | 年齡 | 工號(hào) |
+--------+--------+--------+----------+
| 張三 | 男 | 20 | 11111111 |
+--------+--------+--------+----------+
1 row in set (0.00 sec)
—————— 本文至此結(jié)束,感謝閱讀 ——————