是什么
提示:了解原理才能輕松搭建
- L:表示Linux系統
- A:表示apache
- M:表示資料庫
- P:表示PHP、python、perl等等編程語言
如圖:

學習內容:

提示:把原始碼包和依賴包,統一存在一個檔案夾,若虛擬機則做成鏡像掛載到/mnt目錄下,如果之前安裝mariadb-5.5.52-1.el7.x86_64
需要卸載再安裝,
1)用命令掛載目錄,
vim /dev/cdrom /mnt
2)編輯腳本內容如下:
#(一)安裝Apache
#安裝依賴包
echo "老鐵!部署Apache,請稍等..."
rpm -q httpd
if [ $? -eq 0 ];then rpm -e httpd--nodeps ;fi
rpm -ivh /mnt/apr-1.4.8-3.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/apr-devel-1.4.8-3.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/cyrus-sasl-devel-2.1.26-20.el7_2.x86_64.rpm &>/dev/null
rpm -ivh /mnt/expat-devel-2.1.0-8.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/libdb-devel-5.3.21-19.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/openldap-devel-2.4.40-13.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/apr-util-devel-1.5.2-6.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/pcre-devel-8.32-15.el7_2.1.x86_64.rpm &>/dev/null
#解壓、配置安裝路徑及安裝
tar zxf /mnt/httpd-2.4.25.tar.gz -C /usr/src
cd /usr/src/httpd-2.4.25/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
make &>/dev/null
make install &>/dev/null
ln -s /usr//local/httpd/bin/* /usr/local/bin
#添加系統服務
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
sed -i '1c #!/bin/bash' /etc/init.d/httpd
sed -i '1a #chkconfig: 35 85 15' /etc/init.d/httpd
sed -i '2a #description: hahha' /etc/init.d/httpd
chkconfig --add httpd
echo "老鐵!Apache安裝完畢,可以嗨了!"
#(二)安裝MySql
#(1)解壓安裝cmake
echo "老鐵!部署Cmake,請稍等..."
rpm -ivh /mnt/ncurses-devel-5.9-13.20130511.el7.x86_64.rpm &>/dev/null
tar zxf /mnt/cmake-2.8.6.tar.gz -C /usr/src
cd /usr/src/cmake-2.8.6/
./configure &>/dev/null
gmake &>/dev/null
gmake install &>/dev/null
echo "老鐵!Cmake安裝完畢"
#原始碼編譯及安裝mysql
#創建運行用戶
groupadd mysql
useradd -M -s /sbin/nologin mysql -g mysql
#部署MySql
#(2)安裝MySql
echo "老鐵!部署MySql,請稍等..."
tar zxf /mnt/mysql-5.6.36.tar.gz -C /usr/src
cd /usr/src/mysql-5.6.36/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all &>/dev/null
make &>/dev/null
make install &>/dev/null
#(3)優化服務
chown -R mysql:mysql /usr/local/mysql
rm -rf /etc/my.cnf
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cd /usr/local/mysql/scripts/
#注意:下面這行必須輸入在同一行,否則報錯!!!
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ &>/dev/null
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
. /etc/profile
#添加系統服務
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
systemctl start mysqld
echo "==========老鐵!mysql干完了!==========="
#(三)安裝PHP
echo "==========老鐵!開始部署PHP!==========="
#(1)安裝依賴包
rpm -ivh /mnt/zlib-devel-1.2.7-17.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/xz-devel-5.2.2-1.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm &>/dev/null
#(2)安裝擴展工具庫
tar zxf /mnt/libmcrypt-2.5.8.tar.gz -C /usr/src
cd /usr/src/libmcrypt-2.5.8/
./configure &>/dev/null
make &>/dev/null
make install &>/dev/null
tar zxf /mnt/mhash-0.9.9.9.tar.gz -C /usr/src
cd /usr/src/mhash-0.9.9.9/
./configure &>/dev/null
make &>/dev/null
make install &>/dev/null
tar zxf /mnt/mhash-0.9.9.9.tar.gz -C /usr/src
cd /usr/src/mhash-0.9.9.9/
./configure &>/dev/null
make &>/dev/null
make install &>/dev/null
tar zxf /mnt/mcrypt-2.6.8.tar.gz -C /usr/src
cd /usr/src/mcrypt-2.6.8/
#解決configure報錯
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./configure &>/dev/null
make &>/dev/null
make install &>/dev/null
#(3)編譯安裝PHP
tar zxf /mnt/php-5.5.38.tar.gz -C /usr/src
cd /usr/src/php-5.5.38/
./configure --prefix=/usr/local/php5 --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/php5 --enable-mbstring &>/dev/null
make &>/dev/null
make install &>/dev/null
#(4)優化
#為Apache添加php支持
sed -i '$aAddType application/x-httpd-php .php' /usr/local/httpd/conf/httpd.conf
sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php index.html/' /usr/local/httpd/conf/httpd.conf
systemctl start httpd
#測驗PHP網頁能否顯示
echo "<?php" >>/usr/local/httpd/htdocs/test1.php
echo "phpinfo();" >>/usr/local/httpd/htdocs/test1.php
echo "?>" >>/usr/local/httpd/htdocs/test1.php
echo "==========老鐵!部署PHP完畢!==========="
#測驗PHP網頁能否訪問mysql資料庫
echo "<?php" >>/usr/local/httpd/htdocs/test2.php
text2='$link=mysqli_connect'
text3="('localhost','root','123456');"
echo "${text2}$text3" >>/usr/local/httpd/htdocs/test2.php
sed -i '2a if($link) echo "Congratulations, database connection is successful!!";' /usr/local/httpd/htdocs/test2.php
echo 'mysqli_close($link);' >> /usr/local/httpd/htdocs/test2.php
echo "?>" >> /usr/local/httpd/htdocs/test2.php
echo "==========老鐵!部署完畢可以測驗啦!==========="
3)執行腳本,可以約妹去啦!

4)回頭看到如下提示,表示部署LAMP成功:

注意:版本必須和教程的一致,安裝路徑存放路徑也要一致,否則,需要調整腳本內容,才能運行成功!方法有很多種,但是語法不要有錯誤!!!
測驗PHP:

測驗PHP網頁能否訪問MYSQL資料庫

如對您有幫助,請在評論區留言,感謝您的支持!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/271308.html
標籤:其他
上一篇:MHA資料庫高可用架構
下一篇:架構設計思維原則
