【腾讯云的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 条评论
登录 后参与评论

相关文章

来自专栏编程

嵌入式Linux系统在线升级策略

由于市面上大多数嵌入式设备的分散、数量庞大、部署地点情况复杂,因此对于这些设备进行个体、本地升级的实施非常费时费力。针对这种现状,本文提供一种对基于 Linux...

1829
来自专栏kangvcar

Cobbler 快速入门指南

1323
来自专栏進无尽的文章

推送-推送原理性说明

我们在实现推送功能的时候,更需要了解下推送的原理机制,这样我们在发现问题时候才好定位到问题的解决办法。

872
来自专栏编程坑太多

『中级篇』docker企业版本地安装之UCP(57)

PS:详细不介绍,就是一个图形化的,没啥介绍的。下次在阿里平台是建立下用云端玩玩。

562
来自专栏格子的个人博客

基于XenServer7.3创建虚拟机和安装系统

惯例唠嗑,既然搭建了虚拟平台,目的肯定是为了安装虚拟机和整合系统服务,XenServer的虚拟机创建和系统安装并不像vSphere来得那么简单(个人觉得),但也...

673
来自专栏工科狗和生物喵

SSR移动免流尝试

在网上找到了大神的SSR一键搭建免流教程,然后自己试了试,移动曾经免流成功了一天,然后貌似就被发现了,扣了劳资340M。之后我就没有继续测试了,这个应该是地域原...

3.1K10
来自专栏云计算教程系列

如何使用ntopng监控您的网络

ntop 是最好的网络监控工具之一。ntop是一个网络探测器,它以与top显示进程般类似的方式显示网络使用率。在交互模式中,它显示了用户终端上的网络状态。在网页...

974
来自专栏EAWorld

容器云之K8s自动化安装方式的选择

目前kubernetes 已经发展到1.5的时代,但在这之前学习和使用kubernetes还是走了不少弯路,第一个问题就是安装,也许你会说安装很简单。照着官网或...

2759
来自专栏Laoqi's Linux运维专列

jumpserver基础搭建及配置

1073
来自专栏大魏分享(微信公众号:david-share)

Ansible Tower实战大全:第一篇

1.前言     Ansible是一个开源的配置管理和业务流程工具。它可以自动化和标准化的配置远程主机和虚拟机。它的编排功能允许Ansible并列的启动和正常关...

4206

扫码关注云+社区