柚子快報(bào)邀請(qǐng)碼778899分享:LAMP與LNMP架構(gòu)
柚子快報(bào)邀請(qǐng)碼778899分享:LAMP與LNMP架構(gòu)
目錄
一、概述
二、各組件的主要作用
一. 編譯安裝Apache httpd服務(wù)
二. 編譯安裝mysqld 服務(wù)
三. 編譯安裝PHP 解析環(huán)境
四. 安裝論壇
LNMP架構(gòu)
一、編譯安裝Nginx
二、編譯安裝MySQL服務(wù)
三、安裝配置php文件
四、部署論壇
擴(kuò)展
fpm參數(shù)優(yōu)化
一、概述
LAMP架構(gòu)是目前成熟的企業(yè)網(wǎng)站應(yīng)用模式之一,指的是協(xié)同工作的一整套系統(tǒng)和相關(guān)軟件,能夠提供動(dòng)態(tài)Web站點(diǎn)服務(wù)及其應(yīng)用開(kāi)發(fā)環(huán)境。LAMP是一個(gè)縮寫(xiě)詞,具體包括Linux操作系統(tǒng)、Apache網(wǎng)站服務(wù)器、MySQL數(shù)據(jù)庫(kù)服務(wù)器、PHP(或Perl、Python)網(wǎng)頁(yè)編程語(yǔ)言。
二、各組件的主要作用
(平臺(tái))Linux:作為L(zhǎng)AMP架構(gòu)的基礎(chǔ),提供用于支撐Web站點(diǎn)的操作系統(tǒng),能夠與其他三個(gè)組件提供更好的穩(wěn)定性,兼容性(AMP組件也支持Windows、UNIX等平臺(tái)) 。
(前臺(tái))Apache:作為L(zhǎng)AMP架構(gòu)的前端,是一款功能強(qiáng)大,穩(wěn)定性好的Web服務(wù)器程序,該服務(wù)器直接面向用戶提供網(wǎng)站訪問(wèn),發(fā)送網(wǎng)頁(yè),圖片等文件內(nèi)容。
(后臺(tái))MySQL:作為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)查詢,更改這些信息。
(中間連接)PHP/Perl/Python:作為三種開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)的編程語(yǔ)言,負(fù)責(zé)解釋動(dòng)態(tài)網(wǎng)頁(yè)文件,負(fù)責(zé)溝通Web服務(wù)器和數(shù)據(jù)庫(kù)系統(tǒng)以協(xié)同工作,并提供Web應(yīng)用程序的開(kāi)發(fā)和運(yùn)行環(huán)境。其中PHP是一種被廣泛應(yīng)用的開(kāi)放源代碼的多用途腳本語(yǔ)言,它可以嵌入到HTML中,尤其適合于Web應(yīng)用開(kāi)發(fā)。
在構(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é)同工作。
需要準(zhǔn)備的安裝包:
一. 編譯安裝Apache httpd服務(wù)
1.關(guān)閉防火墻,將安裝Apache所需軟件包傳到/opt目錄下
systemctl stop firewalld
#關(guān)閉防火墻
systemctl disable firewalld
#永久關(guān)閉防火墻
setenforce 0
#禁用安全機(jī)制
vim /etc/selinux/config
#永久禁用安全機(jī)制
disabled
2.安裝環(huán)境依賴包
yum -y install \
gcc \ #C語(yǔ)言的編譯器
gcc-c++ \ #C++的編譯器
make \ #源代碼編譯器(源代碼轉(zhuǎn)換成二進(jìn)制文件)
pcre \ #pcre是一個(gè)Perl函數(shù)庫(kù),包括perl 兼容的正則表達(dá)式庫(kù)
pcre-devel \ #perl的接口開(kāi)發(fā)包
expat-devel \ #用于支持網(wǎng)站解析HTML、XML文件
perl #perl語(yǔ)言編譯器
-----------------------------------------------------------
yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl
-----------------------------------------------------------
3.配置軟件模塊
cd /opt/
tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf httpd-2.4.29.tar.bz2
##復(fù)制軟件包到當(dāng)前目錄下
mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \ #指定將 httpd 服務(wù)程序的安裝路徑
--enable-so \ #啟用動(dòng)態(tài)加載模塊支持,使 httpd 具備進(jìn)一步擴(kuò)展功能的能力
--enable-rewrite \ #啟用網(wǎng)頁(yè)地址重寫(xiě)功能,用于網(wǎng)站優(yōu)化、防盜鏈及目錄遷移維護(hù)
--enable-charset-lite \ #啟動(dòng)字符集支持,以便支持使用各種字符集編碼的頁(yè)面
--enable-cgi #啟用CGI(通用網(wǎng)關(guān)接口)腳本程序支持,便于網(wǎng)站的外部擴(kuò)展應(yīng)用訪問(wèn)能力
-----------------------------------------------------------
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
----------------------------------------------------------
4.編譯及安裝
make -j2 && make install #make -j 2 表示開(kāi)2核同時(shí)進(jìn)行編譯,速度會(huì)更快
5.優(yōu)化配置文件路徑,并把httpd服務(wù)的可執(zhí)行程序文件放入路徑環(huán)境變量的目錄中便于系統(tǒng)識(shí)別
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
.添加httpd系統(tǒng)服務(wù)
方法一:
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #用于service服務(wù)管理
chmod +x /etc/init.d/httpd
vi /etc/init.d/httpd
#!/bin/bash #在第一行前插入新行,添加此三行內(nèi)容
chkconfig: 35 85 21 #35級(jí)別自動(dòng)運(yùn)行 第85個(gè)啟動(dòng) 第21個(gè)關(guān)閉
description: Apache is a World Wide Web server
chkconfig --add httpd #將httpd服務(wù)加入到service管理器
systemctl start httpd.service
或
service httpd start
方法二:
vim /lib/systemd/system/httpd.service
[Unit] #服務(wù)的說(shuō)明
Description=The Apache HTTP Server #描述服務(wù)
After=network.target #依賴,當(dāng)依賴的服務(wù)啟動(dòng)之后再啟動(dòng)自定義的服務(wù)
[Service] #服務(wù)運(yùn)行參數(shù)的設(shè)置
Type=forking #后臺(tái)運(yùn)行方式
PIDFile=/usr/local/httpd/logs/httpd.pid #PID文件位置
ExecStart=/usr/local/bin/apachectl $OPTIONS #服務(wù)的運(yùn)行命令
ExecReload=/bin/kill -HUP $MAINPID #根據(jù)PID重載配置
[Install] #服務(wù)安裝的相關(guān)設(shè)置
WantedBy=multi-user.target #設(shè)置為多用戶
-----------------------------------------------------------
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
-----------------------------------------------------------
systemctl start httpd.service
#啟動(dòng)http服務(wù)
systemctl enable httpd.service
#開(kāi)機(jī)自啟http服務(wù)
7.修改httpd 服務(wù)配置文件
vim /etc/httpd.conf
--52行--修改
Listen 192.168.134.10:80
--197行--取消注釋?zhuān)薷?/p>
ServerName www.kgc.com:80
--221行--默認(rèn)首頁(yè)存放路徑
DocumentRoot "/usr/local/httpd/htdocs"
--255行--默認(rèn)首頁(yè)文件名設(shè)置
DirectoryIndex index.html
httpd -t 或 apachectl -t :wq#檢查配置文件的配置項(xiàng)是否有誤
cat /usr/local/httpd/htdocs/index.html
systemctl restart httpd.service
8.瀏覽器訪問(wèn)驗(yàn)證
netstat -anpt | grep 80
echo "192.168.134.10 www.kgc.com" >> /etc/hosts
http://192.168.134.10
http://www.xyl.com
二. 編譯安裝mysqld 服務(wù)
1.將安裝mysql 所需軟件包傳到/opt目錄下
mysql-5.7.20.tar.gz
boost_1_59_0.tar.gz #支持c++的運(yùn)行庫(kù)
2.安裝環(huán)境依賴包
yum -y install \
gcc \
gcc-c++ \
ncurses \ #字符終端下圖形互動(dòng)功能的動(dòng)態(tài)庫(kù)
ncurses-devel \ #ncurses開(kāi)發(fā)包
bison \ #語(yǔ)法分析器
cmake #mysql需要用cmake編譯安裝
---------------------------------------------------------
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake openssl-devel
-----------------------------------------------------------
柚子快報(bào)邀請(qǐng)碼778899分享:LAMP與LNMP架構(gòu)
推薦鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。