LAMP(Apache+Nginx+Php)

一、LAMP應用平臺概述:

1.概述:LAMP是目前最成熟的一種企業網站應用模式,可以提供動態web站點應用及開發環境,其構成linux、apache、mysql、php或python或perl等語言,優勢:成本低、易於開發、方便易用、安全穩定;
2.網站分類:
靜態:有純html標籤語言編寫而成的頁面,無論在什麼環境,什麼身份訪問都不會發生變化;
動態:由網頁的編程語言編寫,例:java、php、.net、python語言,的動態頁面,動態頁面是由動態頁面和html組成爲一個網頁頁面,可以與數據庫進行交互,可以通過動態頁面對服務器構成操作;
3.php(超文本預處理語言):是一種服務器端html嵌入式語言,支持windows、linux、unix等多平臺;

二、LAMP工作原理:

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

三、案例:部署LAMP應用平臺;

案列環境

1.apache安裝

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

1.準備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.裝備環境包

yum -y install \
gcc \  #C語言編譯器
gcc-c++ \ #C++編譯器
make \ #make工具(把源代碼文件轉換成二進制可執行文件)
pcre-devel \ #pcre語言的開發
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服務程序安裝到哪個目錄
--enable-so \  #--enable-so 啓用動態模塊支持,使httpd具備進一步擴展功能的能力
--enable-rewrite \ #--enable-rewrite 啓用網頁地址重寫功能,用於網站優化及目錄遷移維護
--enable-charset-lite \ #--enable-chaset-lite 啓用字符支持 以便使用各種字符集編碼的網頁
--enable-cgi #啓用CGI腳本程序支持,便於擴展網站的應的應用訪問能力

4.編譯與安裝

[root@hui httpd-2.4.29]# make #將源代碼轉換爲可執行的程序
[root@hui httpd-2.4.29]# make install #安裝

5.添加httpd系統服務(配置啓動腳本,建立可以控制住的服務腳本)

[root@hui ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd  #將apachetcl(啓動腳本)複製爲/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 //服務識別參數,在級別3,5中啓動;啓動和關閉的順序分別85、21 
[root@hui ~]# chkconfig --add httpd  #將httpd添加爲系統服務

6.確定網站名稱、IP地址,配置httpd服務

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

[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主機的IP地址

7.優化執行路徑--通過源碼編譯安裝的httpd服務,程序路徑並不在默認的搜索路徑中,爲了是該服務在使用時更加方便,可以爲相關程序怎加符號鏈接。

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

8.關閉防火牆,啓動服務
systemctl stop firewalld.service
setenforce 0
service httpd start

二.安裝Mysql

1.安裝環境包
[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數據庫程序安裝到目錄下
-DDEFAULT_CHARSET=utf8 \  #指定默認使用的字符集編碼
-DDEFAULT_COLLATION=utf8_general_ci \ #指定默認使用的字符集校驗對規則
-DEXTRA_CHARSETS=all \ #拓展字符集
-DSYSCONFIDIR=/etc \ #指定初始化參數文件目錄
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock  #連接數據庫文件

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

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

[root@hui mysql-5.6.26]#cp -f support-files/my-default.cnf /etc/my.cnf # 把配置文件複製到/etc/目錄下,並且改名爲my.cnf
[root@hui mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld #把啓動文件複製到/etc/init.d/目錄下 ,並且改名爲mysqld。
[root@hui mysql-5.6.26]# chmod 755 /etc/init.d/mysqld     #設置可執行權限
[root@hui mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld #通過chkconfig命令將其添加爲mysqld系統服務,這樣可以用service工具控制mysql數據庫服務
[root@hui mysql-5.6.26]#chkconfig  mysqld --level 235 on

4.設置環境變量--爲了方便在任何目錄下使用mysql命令,需要在/etc/profile 設置環境變量。

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

5.關鍵運行用戶--爲了加強數據庫服務的權限控制,建議使用專門的運行用戶,如mysql。此用戶不需要直接登錄到系統
[root@hui mysql-5.6.26]# useradd -s /sbin/nologin mysql #創建mysql用戶
[root@hui mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysq 對數據庫目錄進行權限設置
6.初始化數據庫--爲了能夠正常時候用mysql數據庫系統,應以運行用戶mysql的身份執行初始化腳本mysql_install_db,指定數據存放目錄等

/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賬號設置密碼

三.安裝PHP

1.裝備環境

[root@localhost ~]yum -y install \
gd \   #圖像化處理庫
libpng \ #支持png圖片
libpng-devel \
pcre \ #支持正則表達式
pcre-devel \ #支持正則表達式
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 \ #設置Apache HTTPServer 提供的apxs模塊支持程序的文件位置
--with-mysql=/usr/local/mysql \ #設置Mysql數據庫服務程序的安裝位置
--with-config-file-path=/usr/local/php5 \ #設置PHP的配置文件php.ini將要存放的位置
--enable-mbstring #啓用多字節字符串功能,以便支持中文代碼

(3)編譯與安裝

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

3.設置LAMP組件環境
設置LAMP組件環境,主要包括對PHP的配置文件php.ini、Apche的配置文件httpd.conf的調整。前者用來確定PHP的運行參數,後者用來加載libphp5.so模塊,以便支持php網頁。
(1)調整配置文件

[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini #複製配置文件到 /usr/local/php5/ 目錄下並且取名爲:php.ini
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/  #對/usr/local/php5/bin/*  命令做軟連接,便於系統識別

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

[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  #設置對.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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章