搭建LAMP

LAMP概念
php

(1)LAMP是主流的web架構,Linux+Apache+MySQL|Mariadb+PHP|Perl | Python 組合成的html


 (2) Linux開源免費的操做系統,Centos6.8 ,Centos7.3開源,方便維護mysql


 (3) Apache開源的web服務器,使用量最多的web服務器,基於Http協議發佈web靜態網頁,linux

      並且只能發佈靜態頁面。c++


 (4) MySQL是關係型數據庫系統,存儲用戶信息,銀行卡號,訂單信息,論壇用戶信息等web


 (5) PHP是一門解釋型的腳本動態語言,基於PHP頁面開發PHP網頁代碼sql


 (6) LAMP聯合組成主流的web架構,能夠發佈門戶網站,以PHP爲表明的動態網頁+HTML爲表明的數據庫

     靜態網頁apache


LAMP架構原理windows

 (1) 用戶在瀏覽器上輸入,www.jfedu.net域名回車,瀏覽器會檢查域名對應的ip地址


 (2) 瀏覽器會檢查本地主機的host文件,c:\windows\system32\drivers\etc\hosts,查找hosts

     文件中是否有www.jfedu.net對應的ip地址


 (3) 若是hosts文件中,有域名對應的ip地址,瀏覽器會直接開始HTTP請求


 (4) 若是hosts文件中,沒有域名對應的ip,瀏覽器會向DNS服務請求


 (5) 此時Apache web收到瀏覽器發送的HTTP請求,會檢查用戶請求的具體文件,默認請求index.php,

    Apache檢查httpd.conf配置文件的ADDTYPE的php後綴


(6) Apache檢查到用戶請求的文件是以.php結尾的文件,會從硬盤,內存上讀取該文件,將文件傳遞給PHP模塊(PHP解釋器)PHP解釋器會解析以.php結尾的文件,若是須要調用數據庫的數據,PHP會鏈接MySQL驅動,去調用MySQL數據庫中的數據,解析成靜態文件


(7) 用戶瀏覽器收到該頁面,經過MIME類型,調用本地插件來解析和渲染內容,最終瀏覽器會把界面展現給用戶


LAMP源碼實戰(LAMP部署在一臺服務器上)


 Discuz論壇安裝

   Apache 安裝

 (1) 下載wget

    yum install wget -y


 (2) 下載Apache安裝包

wget  http://mirror.bit.edu.cn/apache//httpd/httpd-2.2.34.tar.gz


 (3) 解壓Apache

   tar -xjvf  httpd -2.2.34.tar.gz


 (4) 進入Apache安裝目錄,執行預編譯,編譯,安裝

    cd  httpd -2.2.34  

預編譯:

   ./configure --prefix=/usr/local/apache2/ --enable-rewrite  --enable-so  --enable-ssl


預編譯報錯解決方案:

    configure:error: in `/usr/local/src/httpd-2.2.21/srclib/apr':

   configure:error:  no acceptable C compiler found in $PATH

解決辦法是安裝:yum  install gcc -y

 

  no SSL-C headers found  configure: error: ...No recognized SSL/TLS toolkit detected

解決辦法是安裝:  yum install  openssl-devel   -y


make(編譯)


make install (安裝)


(5) Apache配置前,記得關閉防火牆和selinux

 關閉selinux  setenforce 0

 防火牆: service iptables  stop


(6) 在httpd.conf 配置文件中去掉#註釋行,Include conf/extra/httpd-vhosts.conf


(7)  在httpd-vhosts.conf 配置虛擬主機

 

<VirtualHost*:80>

    ServerAdmin daqi@eastmoney.com

    DocumentRoot"/usr/local/apache2/htdocs/discuz"

    ServerName www.discuz.com

    ErrorLog"logs/www.discuz.com-error_log"

    CustomLog"logs/www.discuz.com-access_log" common

</VirtualHost>

 

<VirtualHost*:80>

    ServerAdmin daqi@eastmoney.com

    DocumentRoot"/usr/local/apache2/htdocs/wordpress"

    ServerName www.wordpress.com

    ErrorLog"logs/www.wordpress.com-error_log"

    CustomLog"logs/www.wordpress.com-access_log" common

</VirtualHost>


(8)    hosts文件路徑c:\\windows\System32\drivers\etc   hosts文件中,把域名和ip一一對應


(9)   /usr/local/apache2/bin/httpd-k start   啓動apache web服務器


(10) 測試www.wordpress.com     www.discuz.com訪問是否成功


MySQL安裝



 (1) 下載MySQ軟件包

   wget http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz


(2) 解壓MySQL

   tar -xzvf  mysql -5.5.20.tar.gz


(3) 安裝MySQL必備環境  

   yum install  ncurses-devel perl gcc gcc-c++ wget cmake nurses  make


(4) 進入MySQL安裝目錄,執行cmake  make   make install

 

cmake .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock\

-DMYSQL_DATADIR=/data/mysql/\

-DSYSCONFDIR=/etc\

-DMYSQL_USER=mysql\

-DMYSQL_TCP_PORT=3306\

-DWITH_XTRADB_STORAGE_ENGINE=1\

-DWITH_INNOBASE_STORAGE_ENGINE=1\

-DWITH_PARTITION_STORAGE_ENGINE=1\

-DWITH_BLACKHOLE_STORAGE_ENGINE=1\

-DWITH_MYISAM_STORAGE_ENGINE=1\

-DWITH_READLINE=1\

-DENABLED_LOCAL_INFILE=1\

-DWITH_EXTRA_CHARSETS=1\

-DDEFAULT_CHARSET=utf8\

-DDEFAULT_COLLATION=utf8_general_ci\

-DEXTRA_CHARSETS=all\

-DWITH_BIG_TABLES=1\

-DWITH_DEBUG=0

make

make install



(5) 將MySQL設置爲系統服務

 

cd  /usr/local/mysql

cp support-files/my-large.cnf  /etc/my.cnf

cp mysql.server  /etc/init.d/mysqld

useradd mysql

mkdir -p /data/mysql

/usr/local/mysql/scripts/mysql_install_db --user=mysql--datadir=/data/mysql/--basedir=/usr/local/mysql/    對mysql進行初始化



 (6)啓動MySQL

   /etc/init.d/mysqld start


  PHP安裝


(1) 下載PHP軟件包

    wget     http://mirrors.sohu.com/php/php-5.3.28.tar.bz2


(2) 解壓PHP軟件包

   tar  -xjvf  php-5.3.28.tar.bz2


(3) 進入PHP安裝目錄,執行.configure/  make   make install

 

 ./configure--prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc   --with-apxs2=/usr/local/apache2/bin/apxs  --with-mysql=/usr/local/mysql/


 make


 make  install


 報錯內容:

      configure:error: xml2-config not found. Please check your libxml2 installation


  解決辦法:    

      yum install libxml2-devel –y


(4)Apache+ PHP整合

  

 LoadModule         php5_module modules/libphp5.so  


   這句內容是PHP和Apache整合後,在httpd.conf文件中自動添加的


AddType        application/x-httpd-php  .php   Apache 識別.php文件


DirectoryIndex     index.php index.htmlindex.htm



   Discuz安裝

(1) 下載Discuz軟件包

 wget  http://download.comsenz.com/DiscuzX/3.1/Discuz_X3.1_SC_UTF8.zip


(2) 解壓Discuz軟件包

unzip Discuz_X3.1_SC_UTF8.zip


(3) 進入upload目錄,把php文件拷貝到/usr/local/apache2/htdocs/discus


(4) 重啓Apache網站是否成功

 1748c0f6f0cb2ee7b89d6a0784c10e5b.jpg-wh_


(5)受權apache用戶,能夠訪問data/  config/   uc_* 目錄有寫的權限

       chmod o+w -Rdata/ config/ uc_*


 (6)  受權數據庫

    grant all on ultrax.* to jfedu@'192.168.2.107' identified by "jf123456";


 註釋:

           受權192.168.2.107這個機器能夠訪問ultrax數據庫


(7) 搭建成功的截圖

 f659e9b8bcd25b2135a1308ab6262c8b.jpg-wh_

相關文章
相關標籤/搜索