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