zoukankan      html  css  js  c++  java
  • 动态网站架构案例

    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,积分奖惩,审核用户,推荐关注及好友等设置;

           论坛菜单:包括板块管理,板块合并及分类信息设置,板块结构为分区加板块的设计,一个分区下可以创建多个板块内容;                  

  • 相关阅读:
    深入理解Java中停止线程
    浅入浅出JDBC————1分钟了解JDBC
    Java多线程入门中几个常用的方法
    创建Java多线程的两种方式和线程异常
    小白学习前端---第二天 HTML的基本属性————1
    Info类
    Control类
    demo 代码
    防作弊原理
    状态类
  • 原文地址:https://www.cnblogs.com/xiaocheche/p/7739145.html
Copyright © 2011-2022 走看看