溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

LAMP(Apache+Nginx+Php)

發(fā)布時間:2020-06-22 10:42:18 來源:網(wǎng)絡(luò) 閱讀:1406 作者:macbok 欄目:系統(tǒng)運(yùn)維

一、LAMP應(yīng)用平臺概述:

1.概述:LAMP是目前最成熟的一種企業(yè)網(wǎng)站應(yīng)用模式,可以提供動態(tài)web站點(diǎn)應(yīng)用及開發(fā)環(huán)境,其構(gòu)成linux、apache、mysql、php或python或perl等語言,優(yōu)勢:成本低、易于開發(fā)、方便易用、安全穩(wěn)定;
2.網(wǎng)站分類:
靜態(tài):有純html標(biāo)簽語言編寫而成的頁面,無論在什么環(huán)境,什么身份訪問都不會發(fā)生變化;
動態(tài):由網(wǎng)頁的編程語言編寫,例:java、php、.net、python語言,的動態(tài)頁面,動態(tài)頁面是由動態(tài)頁面和html組成為一個網(wǎng)頁頁面,可以與數(shù)據(jù)庫進(jìn)行交互,可以通過動態(tài)頁面對服務(wù)器構(gòu)成操作;
3.php(超文本預(yù)處理語言):是一種服務(wù)器端html嵌入式語言,支持windows、linux、unix等多平臺;

二、LAMP工作原理:

1.LAMP的處理流程:
apache:提供web的訪問,客戶端和服務(wù)器之間網(wǎng)頁的傳輸;
php:提供.php頁面的運(yùn)行環(huán)境;
mysql:提供.php頁面或者用戶數(shù)據(jù)存放和寫入位置;

三、案例:部署LAMP應(yīng)用平臺;

案列環(huán)境

1.apache安裝

apache 組件
httpd-2.4.29.tar.gzt apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz (跨平臺工具組件包)

1.準(zhǔn)備apache安裝包

tar xf /mnt/apr-1.6.2.tar.gz -C /opt #將跨平臺組件包解壓到/opt目錄下
tar xf /mnt/apr-util-1.6.0.tar.gz -C /opt #將跨平臺組件包解壓到/opt目錄下
tar xf /mnt/httpd-2.4.29.tar.bz2 -C /opt #解壓apache安裝包
mv /opt/apr-1.6.2 /opt/httpd-2.4.29/srclib/apr #將跨平臺組件包剪切到 /httpd-2.4.29/srclib目錄并且更名為 apr
mv /opt/apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util 

2.裝備環(huán)境包

yum -y install \
gcc \  #C語言編譯器
gcc-c++ \ #C++編譯器
make \ #make工具(把源代碼文件轉(zhuǎn)換成二進(jìn)制可執(zhí)行文件)
pcre-devel \ #pcre語言的開發(fā)
expat-devel \  #解析html文件
perl #pace編輯器

3.配置apache

cd /opt/httpd-2.4.29 #cd到httpd-2.4.29目錄
./configure \
--prefix=/usr/local/httpd \ #--prefix 自定將httpd服務(wù)程序安裝到哪個目錄
--enable-so \  #--enable-so 啟用動態(tài)模塊支持,使httpd具備進(jìn)一步擴(kuò)展功能的能力
--enable-rewrite \ #--enable-rewrite 啟用網(wǎng)頁地址重寫功能,用于網(wǎng)站優(yōu)化及目錄遷移維護(hù)
--enable-charset-lite \ #--enable-chaset-lite 啟用字符支持 以便使用各種字符集編碼的網(wǎng)頁
--enable-cgi #啟用CGI腳本程序支持,便于擴(kuò)展網(wǎng)站的應(yīng)的應(yīng)用訪問能力

4.編譯與安裝

[root@hui httpd-2.4.29]# make #將源代碼轉(zhuǎn)換為可執(zhí)行的程序
[root@hui httpd-2.4.29]# make install #安裝

5.添加httpd系統(tǒng)服務(wù)(配置啟動腳本,建立可以控制住的服務(wù)腳本)

[root@hui ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd  #將apachetcl(啟動腳本)復(fù)制為/etc/init.d/httpd
`[root@hui ~]# sed -i -e '1 a# chkconfig: 35 85 21 ' -e '2 i # description: Apache is a World Wide Web server' /etc/init.d/httpd`  #在文件開頭添加chkconfig 識別配置, chkconfig:35 85 21 //服務(wù)識別參數(shù),在級別3,5中啟動;啟動和關(guān)閉的順序分別85、21 
[root@hui ~]# chkconfig --add httpd  #將httpd添加為系統(tǒng)服務(wù)

6.確定網(wǎng)站名稱、IP地址,配置httpd服務(wù)

[root@hui ~]sed -i '/#ServerName www.example.com.com:80/s/example/yum/ '/usr/local/httpd/conf/httpd.conf #修改網(wǎng)站名稱

[root@hui ~]sed -i -e '/Listen 80/s/^/#/' -e  '/#Listen 12.34.56.78:80/s/#Listen 12.34.56.78:80/Listen 192.168.242.157/' /usr/local/httpd/conf/httpd.conf #修改web主機(jī)的IP地址

7.優(yōu)化執(zhí)行路徑--通過源碼編譯安裝的httpd服務(wù),程序路徑并不在默認(rèn)的搜索路徑中,為了是該服務(wù)在使用時更加方便,可以為相關(guān)程序怎加符號鏈接。

[root@hui ~]ln -s /usr/local/httpd/conf/httpd.conf /etc/  #
[root@hui ~]ln -s /usr/local/httpd/bin/* /usr/local/bin/

8.關(guān)閉防火墻,啟動服務(wù)
systemctl stop firewalld.service
setenforce 0
service httpd start

二.安裝Mysql

1.安裝環(huán)境包
[root@hui ~]# yum install -y ncurses-devel autoconf cmake
2.源碼編譯以及安裝
(1)解包

[root@hui mnt]# tar /mnt/mysql-5.6.26.tar.gz -C /opt

(2)配置
[root@hui mysql-5.6.26]# cd /opt/mysql-5.6.26/

[root@hui mysql-5.6.26]cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定將mysql數(shù)據(jù)庫程序安裝到目錄下
-DDEFAULT_CHARSET=utf8 \  #指定默認(rèn)使用的字符集編碼
-DDEFAULT_COLLATION=utf8_general_ci \ #指定默認(rèn)使用的字符集校驗(yàn)對規(guī)則
-DEXTRA_CHARSETS=all \ #拓展字符集
-DSYSCONFIDIR=/etc \ #指定初始化參數(shù)文件目錄
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock  #連接數(shù)據(jù)庫文件

(3)編譯安裝
<br/>[root@hui mysql-5.6.26]# make && make install

3.添加系統(tǒng)服務(wù)和建立配置文件(添加mysql系統(tǒng)服務(wù),以便通過chkconfig進(jìn)行管理,可以直接使用源碼包中提供的服務(wù)腳本。找到support-files文件夾下的mysql.server 腳本文件,將其復(fù)制到/etc/init.d/目錄下,改名為mysqld)

[root@hui mysql-5.6.26]#cp -f support-files/my-default.cnf /etc/my.cnf # 把配置文件復(fù)制到/etc/目錄下,并且改名為my.cnf
[root@hui mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld #把啟動文件復(fù)制到/etc/init.d/目錄下 ,并且改名為mysqld。
[root@hui mysql-5.6.26]# chmod 755 /etc/init.d/mysqld     #設(shè)置可執(zhí)行權(quán)限
[root@hui mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld #通過chkconfig命令將其添加為mysqld系統(tǒng)服務(wù),這樣可以用service工具控制mysql數(shù)據(jù)庫服務(wù)
[root@hui mysql-5.6.26]#chkconfig  mysqld --level 235 on

4.設(shè)置環(huán)境變量--為了方便在任何目錄下使用mysql命令,需要在/etc/profile 設(shè)置環(huán)境變量。

[root@hui mysql-5.6.26]#echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile #設(shè)置mysql命令的環(huán)境變量
[root@hui mysql-5.6.26]#source /etc/profile #立即執(zhí)行

5.關(guān)鍵運(yùn)行用戶--為了加強(qiáng)數(shù)據(jù)庫服務(wù)的權(quán)限控制,建議使用專門的運(yùn)行用戶,如mysql。此用戶不需要直接登錄到系統(tǒng)
[root@hui mysql-5.6.26]# useradd -s /sbin/nologin mysql #創(chuàng)建mysql用戶
[root@hui mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysq 對數(shù)據(jù)庫目錄進(jìn)行權(quán)限設(shè)置
6.初始化數(shù)據(jù)庫--為了能夠正常時候用mysql數(shù)據(jù)庫系統(tǒng),應(yīng)以運(yùn)行用戶mysql的身份執(zhí)行初始化腳本mysql_install_db,指定數(shù)據(jù)存放目錄等

/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql

7.

[root@hui mysql-5.6.26]# ln -s /var/lib/mysql/mysql.sock  /home/mysql/mysql.sock
[root@hui mysql-5.6.26]# sed -i -e '/basedir=/c basedir=/usr/local/mysql' -e 'datadir=/c datadir=/home/mysql' /etc/init.d/mysqld

[root@hui mysql-5.6.26]#service mysqld start
[root@hui mysql-5.6.26]#mysqladmin -u root -p password "abc123" //給root賬號設(shè)置密碼

三.安裝PHP

1.裝備環(huán)境

[root@localhost ~]yum -y install \
gd \   #圖像化處理庫
libpng \ #支持png圖片
libpng-devel \
pcre \ #支持正則表達(dá)式
pcre-devel \ #支持正則表達(dá)式
libxml2-devel \ #支持解析html語言
libjpeg-devel #支持jpeg圖片

2.編譯安裝PHP
(1).解壓


[root@localhost ~]tar xf php-5.6.11.tar.bz2 -C /opt
[root@localhost opt]# cd /opt/php-5.6.11/

(2).配置

[root@localhost php-5.6.11]#./configure \
--prefix=/usr/local/php5 \ #指定安裝路徑
--with-gd \ #gd庫
--with-zlib \ #壓縮
--with-apxs2=/usr/local/httpd/bin/apxs \ #設(shè)置Apache HTTPServer 提供的apxs模塊支持程序的文件位置
--with-mysql=/usr/local/mysql \ #設(shè)置Mysql數(shù)據(jù)庫服務(wù)程序的安裝位置
--with-config-file-path=/usr/local/php5 \ #設(shè)置PHP的配置文件php.ini將要存放的位置
--enable-mbstring #啟用多字節(jié)字符串功能,以便支持中文代碼

(3)編譯與安裝

[root@localhost php-5.6.11]# make
[root@localhost php-5.6.11]# make install

3.設(shè)置LAMP組件環(huán)境
設(shè)置LAMP組件環(huán)境,主要包括對PHP的配置文件php.ini、Apche的配置文件httpd.conf的調(diào)整。前者用來確定PHP的運(yùn)行參數(shù),后者用來加載libphp5.so模塊,以便支持php網(wǎng)頁。
(1)調(diào)整配置文件

[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini #復(fù)制配置文件到 /usr/local/php5/ 目錄下并且取名為:php.ini
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/  #對/usr/local/php5/bin/*  命令做軟連接,便于系統(tǒng)識別

(2).調(diào)整httpd.conf配置
要使httpd服務(wù)器支持PHP網(wǎng)頁解析功能,需要通過LoadModule配置加載PHP程序的模塊文件,并通過AddType配置項(xiàng)添加對“.php”類型網(wǎng)頁文件的支持。

[root@localhost ~]#sed -i '/DirectoryIndex index.html/ c  DirectoryIndex index.html index.php' /etc/httpd.conf # 修改**DirectroryIndex**配置行 ,添加index.php,來識別常見的PHP首頁文件
[root@localhost ~]# sed -i '393 a AddType application/x-httpd-php .php' /etc/httpd.conf  #設(shè)置對.PHP文件的支持

[root@localhost ~]# sed -i '394 a AddType application/x-httpd-php-source .phps' /etc/httpd.conf #
[root@localhost ~]cat >>/usr/local/httpd/htdocs/index.php <<-EOF
> <?php
> phpinfo();
> ?>
> EOF

[root@localhost ~]# sed -i '394 a AddType application/x-httpd-php-source .phps' /etc/httpd.conf #
[root@localhost ~]cat >>/usr/local/httpd/htdocs/index.php <<-EOF

<?php
phpinfo();
?>
EOF

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI