1.概述:LAMP是目前最成熟的一種企業網站應用模式,能夠提供動態web站點應用及開發環境,其構成linux、apache、mysql、php或python或perl等語言,優點:成本低、易於開發、方便易用、安全穩定;
2.網站分類:
靜態:有純html標籤語言編寫而成的頁面,不管在什麼環境,什麼身份訪問都不會發生變化;
動態:由網頁的編程語言編寫,例:java、php、.net、python語言,的動態頁面,動態頁面是由動態頁面和html組成爲一個網頁頁面,能夠與數據庫進行交互,能夠經過動態頁面對服務器構成操做;
3.php(超文本預處理語言):是一種服務器端html嵌入式語言,支持windows、linux、unix等多平臺;php
1.LAMP的處理流程:
apache:提供web的訪問,客戶端和服務器之間網頁的傳輸;
php:提供.php頁面的運行環境;
mysql:提供.php頁面或者用戶數據存放和寫入位置;
html
案列環境java
apache | 組件 |
---|---|
httpd-2.4.29.tar.gzt | apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz (跨平臺工具組件包) |
1.準備apache安裝包python
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.裝備環境包mysql
yum -y install \ gcc \ #C語言編譯器 gcc-c++ \ #C++編譯器 make \ #make工具(把源代碼文件轉換成二進制可執行文件) pcre-devel \ #pcre語言的開發 expat-devel \ #解析html文件 perl #pace編輯器
3.配置apachelinux
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.編譯與安裝c++
[root@hui httpd-2.4.29]# make #將源代碼轉換爲可執行的程序 [root@hui httpd-2.4.29]# make install #安裝
5.添加httpd系統服務(配置啓動腳本,創建能夠控制住的服務腳本)web
[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中啓動;啓動和關閉的順序分別8五、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服務,程序路徑並不在默認的搜索路徑中,爲了是該服務在使用時更加方便,能夠爲相關程序怎加符號連接。sql
[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
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帳號設置密碼
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