【腾讯云的1001种玩法】LAMP架构实现动态网站论坛系统

项目背景

LAMP架构,全称为Linux + Apache + Mariadb + PHP,是一种强大的网站解决方案。LAMP是多个开源项目的首字母缩写。LAMP网站架构主要应用于动态网站的Web架构,这种Web架构具有通用性,跨平台,高性能,高负载,稳定等特性,是目前企业部署网站的首选平台。

同时,我们也看到了Nginx在国内的应用越来越成熟,相对于Apache而言,Nginx对于静态文件的响应能力要远远高于Apache服务器,所以近几年也兴起了LNMP架构。但是对于负载PHP的网站而言,Apache仍然是目前的首选平台。下图为网站架构案例结构图,通过基于域名的虚拟主机实现在一台Apache服务器上运行论坛系统,论坛域名为bbs.cc.cn

项目目标

  1. 搭建DNS服务器以提供域名bbs.cc.com对应ip地址192.168.4.7的解析记录
  2. 搭建Linux + Apache + Mariadb + PHP动态网站平台
  3. 部署“云计算技术交流论坛“

项目分析

  1. 在服务器搭建DNS域名解析。安装BIND软件包以提供DNS服务
  2. 服务器搭建LAMP动态网站平台。在Linux服务器上安装http,mariadb,php,Discuz! 等软件包。
  3. 在LAMP架构上部署bbs.cc.com论坛。

项目实现过程

搭建DNS服务器

  1. 安装提供DNS服务的软件包
# yum -y install bind bind-chroot
  1. 编写主配置文件
# vim /etc/named.conf
#
# options {
#        directory "/var/named"; 
#        };
#
# zone "cc.com" IN {
#        type master;
#        file "cc.com.zone";
#        };
#

3.编写地址库文件

# vim cc.com.zone
# $TTL 1D
@       IN   SOA  @ rname.invalid. (
                0       ; seria
                1D      ; refresh
                1H      ; retry
                1W      ; expire
                3H )    ; minimum
#
# @      IN      NS            bbs.cc.com.
# bbs    IN      A             192.168.4.2

4.重启服务

# systemctl restart named

5.测试DNS服务

# host bbs.cc.com

搭建Linux + Apache + Mariadb + PHP动态网站平台

  1. 给服务器安装Linux操作系统,此处不再赘述。可参考本人PXE+kickstart自动安装操作系统技术博客。
  2. Apache:使用中最受欢迎的一个开放源码的WEB服务器软件。软件包:http;服务:httpd

安装软件包:

# yum -y install http

重启服务:

# systemctl restart httpd

搭建虚拟web主机并配置虚拟站点bbs.cc.com

# mkdir /var/www/bbs                     //创建虚拟站点网页根目录bbs
# vim /etc/httpd/conf.d/00-default.conf  //部署虚拟站点的主配置文件
# <VirtualHost *:80>                     //固定格式以及监听端口
#     ServerName    bbs.cc.com           //指定虚拟站点名
#     DocumentRoot  /var/www/bbs         //指定虚拟站点网页根目录
# </VirtualHost>                         //固定格式
  1. Mariadb:多线程,多用户的SQL数据库管理系统。软件包:mariadbmariadb-server;服务:mariadb

安装软件包:

    # yum -y install mariadb mariadb-server

重启服务

# systemctl restart mariadb

创建论坛管理员账户

# mysqladmin -uroot -p123456             //创建root用户管理数据库
# mysql -uroot -p123456                  //进入数据库
# create databases bbsdb;                //创建bbsdb数据库
# grant all on bbsdb.* to mayweis@localhost identified by 'mayweis';  
#                                        //授权mayweis为bbsdb数据库以及论坛管理员
  1. PHP:一种编程语言,最初用于设计生产动态网站。与PERL,PYTHON类似。软件包:php php-mysql

安装软件包:

# yum -y install php php-mysql

部署"云计算技术交流论坛"

  1. 解压Discuz!_X3.3_SC_UTF8.zip
# unzip Discuz!_X3.3_SC_UTF8.zip -d /var/www/bbs/
  1. 网页访问http://bbs.cc.com/upload, 项目展示结果如下:

点击我同意进行安装。

  • 开始安装以及安装过程,如图:
  • 显示目录不存在,由于/var/www/bbs/upload/下的data,config,uc_server,uc_client目录不属于apache用户。将这些目录属主改为apache。
 # chown -R apache /var/www/bbs/upload/{data/,config/,uc_*}
  • 安装数据库过程如图:
  • 初始化论坛系统及完善信息如图:
  • 输入数据库名:bbsdb
  • 数据库用户名:mayweis
  • 数据库密码:mayweis
  • 设置管理员帐号和管理员密码
  • 安装完成后的论坛结果展示如下图:

注意事项

  1. 注意需要安装的软件包不可少
  2. 需要将/var/www/bbs/upload/{data/,config/,uc_*}目录属主改为apache。
  3. 注意填写数据库信息时不可出错。

阁主点评:云主机CVM的玩法很多,本文作者在这里至少演示了两种:用于DNS解析,和Discuz!论坛部署。其中后者对于想搭建个人站点(包括博客、论坛)的人参考意义可能更大。我们梳理汇总了一系列的文章,制作了《如何从0到1搭建个人站点》专题,希望能够帮助朋友们快速地上线自己的第一个网站。

相关推荐

CentOS6.5系统yum安装LAMP环境 CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hbbliyong

Handsontable Dropdown with key-value pair

1263
来自专栏魏艾斯博客www.vpsss.net

宝塔 Linux 面板 4.X 版本安装教程

1584
来自专栏浮生的专栏

关于腾讯云建站主机相关文档的问题的补充拓展(一)

首先说下为何写这个文档,目前腾讯云的文档虽然有,但是体验不是太好,可能也缺少专员去维护

63114
来自专栏Jerry的SAP技术分享

微信程序开发系列教程(三)使用微信API给微信用户发文本消息

这个系列的第二篇教程,介绍的实际是被动方式给微信用户发文本消息,即微信用户关注您的公众号时,微信平台将这个关注事件通过一个HTTP post发送到您的微信消息服...

1232
来自专栏开源项目

打包巨慢怎么办?这些工具让你爱不释手 | 码云周刊第 58 期

测试小妹 程序测试不通过,已经打回重审啦,你重新再做下单元测试哦… OS : 每次修改一个问题,我都要重新 clean -> 编译打包 -> 上传 fir,最后...

3585
来自专栏编程

我把Linux系统上误删的数据找回来了

信息安全公益宣传,信息安全知识启蒙。 ? 突发事件,应用上传的数据被程序自动删掉了,可悲的是还没有数据备份,数据是放在系统的 /data/webapps/xxx...

2038
来自专栏腾讯移动品质中心TMQ的专栏

让你相见恨晚的android权限业务实践

在上一篇Android权限中,我们介绍了一些权限相关的知识,也简述了新的Android M带来的权限变化,我们如何应对这种变化?是摆着我们面前的紧要问题。 现在...

2299
来自专栏向治洪

关于Android的UI测试

Android 测试主要分为3个类型: 单元测试(Unit Test) 区分UI代码和功能代码在Android开发中尤其困难。因为有时Activity既有Con...

1885
来自专栏魏艾斯博客www.vpsss.net

宝塔 Linux 面板发布 3.6 版本

1934
来自专栏听雨堂

Nunit使用心得

测试中,遇到问题,修改完后,无论当前在哪个位置,都可以用Repeat Test Run运行刚才的测试,很方便。 如果多个测试共用一个关键资源,如数据库的连接,监...

1769

扫码关注云+社区