動態網站架構案例


1》動態網站架構:

     LAMP(Linux+Apache+Mysql+PHP/Python/perl)架構是一套強大的網站解決方案,LAMP是多個開源項目的首字母縮寫,LAMP網站架構主要應用於動態網站的WEB架構,          這種WEB框架具有通用,跨平台,高性能,高負載,穩定等特性,是目前企業部署 網站的首選平台,同時,我們也需要看到Nginx在國內的應用越來越成熟,相對Apache而言,        Nginx對於靜態文件的響應能力要遠遠高於Apache服務器,所以近幾年也興起了LNMP的架構,但對於負載PHP的網站而言,Apache仍然是目前的首選產品,我們將通過實際部          署兩個開源網站項目講解LAMP的實際應用,兩個開源項目均采用PHP代碼編寫,分別是Discuz!論壇以及WordPress博客系統,網站架構案例結構中通過基於域名的虛擬主機實          現在一台Apache服務器上運行兩個不同的網站平台,論壇的域名為bbs.example.com,博客的域名為blog.example.com;

2》論壇系統應用案例:

    Discuz!是目前國內應用最廣泛的社區論壇建站平台,使用Discuz!可以實現一站式建站服務,Discuz!從2001年發布至今已經經歷了16年的發展歷史,大量的應用案例證明了           該系統的成熟度,穩定性及負載能力都是值得信賴的;另外,由於Discuz!采用的是PHP語言開發,並且開放源代碼,所以Discuz!也是PHP編程人員學習PHP代碼的模板;

    部署Discuz!論壇所需軟件環境包括:WWW服務器(如,Apache,Nginx等),PHP軟件包(版本要求在4.3.0以上),MySQL數據庫(版本要求在3.23及以上),這里將采           用LAMP平台實現論壇系統的部署,具體步驟如下;

    1>下載軟件包:

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

         #wget  http://mirror.bit.edu.cn/apache/apr/apr-1.6.2.tar.gz

         #wget  http://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.gz

         #wget  http://cdn.mysql.com/Downloads/MySQL/mysql-5.6.31.tar.gz

         #wget  http://cn2.php.net/get/php-5.3.13.tar.gz

    2>部署AMP環境:

        1)將所有源碼包解壓到特定目錄下:            

            [root@chw ~]# tar -xvf httpd-2.4.27.tar.gz -C /usr/local/src/

            [root@chw ~]# tar -xvf apr-1.6.2.tar.gz -C /usr/local/src/

            [root@chw ~]# tar -xvf apr-util-1.6.1.tar.gz -C /usr/local/src/

            [root@chw ~]# tar -xvf mysql-5.6.31.tar.gz -C /usr/local/src/

            [root@chw ~]# tar -xvf php-5.3.13.tar.gz -C /usr/local/src/

        2)安裝依賴包:

              

        3)安裝Apache  HTTP Server軟件(具體安裝查看博主相關博客):            

          [root@chw ~]# cd /usr/local/src/
          [root@chw src]# cd apr-1.6.2
          [root@chw apr-1.6.2]# ./configure --prefix=/usr/local/apr         

          [root@chw apr-1.6.2]# make && make install

          [root@chw apr-1.6.2]# cd /usr/local/src/apr-util-1.6.1
          [root@chw apr-util-1.6.1]# ./configure  --prefix=/usr/local/apr-util   --with-apr=/usr/local/apr/

                                     [root@chw apr-util-1.6.1]# make && make install          

          [root@chw httpd-2.4.27]# ./configure --prefix=/usr/local/apache --enable-so --enable-ssl --enable-rewrite --with-mpm=worker --with-suexec-bin --with-                                                                                                     apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util          

          [root@chw httpd-2.4.27]# make && make install

        4)安裝mysql數據庫(具體安裝說明見博主相關博客):            

          [root@chw mysql-5.6.31]# cd mysql-5.6.31

          [root@chw mysql-5.6.31]# groupadd mysql

          [root@chw mysql-5.6.31]# useradd -r -s /sbin/nologin -g mysql mysql

          [root@chw mysql-5.6.31]# cmake . -DENABLE_DOWNLOADS=1

          [root@chw mysql-5.6.31]# make && make install

          [root@chw mysql-5.6.31]#chown -R mysql.mysql  /usr/local/mysql

          [root@chw mysql-5.6.31]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

          [root@chw mysql-5.6.31]# cp /usr/local/mysql/my.cnf /etc/my.cnf          

          [root@chw mysql-5.6.31]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld  

          [root@chw mysql-5.6.31]# service mysqld start
            Starting MySQL. [確定]

          [root@chw mysql-5.6.31]# chkconfig --add mysqld
          [root@chw mysql-5.6.31]# chkconfig mysqld on
          [root@chw mysql-5.6.31]# echo "/usr/local/mysql/lib/" >>/etc/ld.so.conf
          [root@chw mysql-5.6.31]# ldconfig

        5)創建論壇數據庫:

            Discuz是基於PHP的動態網站,很多數據都需要保存在數據庫中,因此我們需要在Mysql數據庫中為論壇創建數據庫,並創建數據庫管理賬戶及密                                                        碼:             

          [root@chw ~]# /usr/local/mysql/bin/mysql -u root

                  

        6)安裝PHP程序:            

          [root@chw ~]# cd /usr/local/src/php-5.3.13
          [root@chw php-5.3.13]# ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --enable-                                                                                   sockets          

          [root@chw php-5.3.13]# make && make install           

          [root@chw php-5.3.13]# cp php.ini-development /usr/local/php5/lib/php.ini

               修改Apache主配置文件httpd.conf以確保該文件中有如下兩條指令,這兩條指令的功能是加載模塊並設置文件類型:

              LoadModule  php5_module   modules/libphp5.so

              AddType    application/x-httpd-php   .php

        7)測試(服務器生成PHP測試頁面,客戶端通過IP地址訪問測試頁面):

            [root@chw php-5.3.13]# echo "<?php  phpinfo();?>" >/var/www/html/index.php            

            [root@chw php-5.3.13]# firefox http://172.31.16.234/index.php

3》初始化論壇系統:

    1> 首先修改Apache配置文件,通過DirectoryIndex index.php  index.html指令設置默認首頁為index.php,去除主配置文件Include conf/extra/httpd-vhosts.conf指令前的“#”符                         號,Include指令讀取httpd-vhosts.conf文件的內容作為主配置文件的一部分:                        

      [root@chw ~]#vim  /usr/local/apache/conf/extra/httpd-vhosts.conf

        <VirtualHost  *:80>

            ServerAdmin  root@gmail.com

            DocumentRoot  "/usr/local/apache/htdocs/bbs"

            ServerName    bbs.example.com

        ErrorLog  "logs/bbs.example..com-error_log"

        Customlog  "logs/bbs.example.com-access_log"  common

        </VirtualHost>      

      [root@chw ~]#mkdir  -p  /usr/local/apache/htdocs/bbs/logs

    2>接下來需要從http://download.comsenz.com/DiscuzX/2.5/Discuz_X2.5_SC_UTF8.zip中下載Discuz!軟件包,下載后解壓將upload中的文件上傳至bbs目                                                   錄:        

        [root@chw src]# mkdir /usr/local/src/discus 

        [root@chw src]# unzip Discuz_X2.5_SC_UTF8.zip -d /usr/local/src/discus/

         [root@chw src]# cp -r /usr/local/src/discus/upload/*  /usr/local/apache/htdocs/bbs 

        [root@chw src]# chmod -R 777 /usr/local/apache/htdocs/bbs/{config/,data} 

        [root@chw src]# chmod -R 777 /usr/local/apache/htdocs/bbs/uc_client/data/cache 

        [root@chw src]# chmod -R 777 /usr/local/apache/htdocs/bbs/uc_server/data/         

        [root@chw src]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
        [root@chw src]# service iptables save 

        [root@chw src]# /usr/local/apache/bin/apachectl restart

     3>最后客戶端通過瀏覽器訪問http://bbs.example.com/install,完成初始化操作,圖一至圖四展示了整個初始化的全部過程,其中圖二為安裝環境檢查,包括PHP版本,磁盤                       空間,文件及目錄權限,檢查沒有問題會顯示對勾,有問題的項目則被標記為叉號,只有修復了問題后才可以繼續完成下面的操作,圖四需要填寫數據庫信息,包括數據                     庫名稱,賬戶及密碼信息,因此,需要提前在mysql數據庫系統中創建相應的數據庫及賬戶密碼信息,管理員密碼為論壇管理員密碼;

         

          

                

                                     

 

        完成以上初始化操作后,一定要將/usr/local/apache/htdocs/bbs/install/index.php刪除,防止進行多次初始化操作,此時客戶端通過瀏覽器訪問論壇域名:                               http://bbs.example.com,即可登錄論壇首頁,首次登錄僅包含一個默認板塊;

 4》論壇系統設置:

      論壇初始化完成后,並沒有具體板塊的內容,管理員可以登錄后台進行一些全局,板塊,內容,用戶等設置,登錄論壇首頁后單擊右上角的管理中心輸入管理員賬戶及                密碼后即可進入后台管理界面;            

       全局菜單:包括站點信息,論壇注冊與訪問控制,站點功能,性能及SEO優化,用戶權限,論壇積分,防灌水,上傳及水印等設置;

       界面菜單:包括論壇首頁,導航欄,站點風格,論壇表情管理,提示消息及彈出消息等設置;

       內容菜單:包括發帖審核,論壇主題管理,批量刪帖,批量群組管理,語言過濾,帖子優化,日志管理,相冊與圖片管理等設置;

       用戶菜單:包括用戶組,管理組,禁止用戶,禁止IP,積分獎懲,審核用戶,推薦關注及好友等設置;

       論壇菜單:包括板塊管理,板塊合並及分類信息設置,板塊結構為分區加板塊的設計,一個分區下可以創建多個板塊內容;                  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM