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

相关文章

来自专栏Golang语言社区

golang基于redis lua封装的优先级去重队列

作者: 峰云 博客: http://xiaorui.cc 前言: 前两天由于某几个厂商的api出问题,导致后台任务大量堆积,又因为我这边任务流系统会重试超时任务...

4159
来自专栏木头编程 - moTzxx

微信小程序 转发功能实例讲解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

6023
来自专栏Golang语言社区

golang基于redis lua封装的优先级去重队列

前言: 前两天由于某几个厂商的api出问题,导致后台任务大量堆积,又因为我这边任务流系统会重试超时任务,所以导致队列中有大量的重复任务。这时候我们要临时解决两个...

35611
来自专栏我与狸奴不出门

基于CentOS搭建微信小程序--响应错误502

在腾讯云开发者实验室的搭建微信小程序中  ,遇到了在完成实验二会话部署失败后,实验一http访问测试也显示失败并且表示响应错误-错误码:502。(域名是可以正常...

2973
来自专栏葡萄城控件技术团队

如何通过预加载器提升网页加载速度

预加载器(Pre-loader)可以说是提高浏览器性能最重要的举措。Mozilla 官方发布数据,通过预加载器技术网页的加载性能提升了19%,Chrome测试了...

20410
来自专栏云服务试衣间

三步瘦身,做名副其实的「小程序」

手把手教你使用微信小程序瘦身方案 WeCOS。腾讯云为小程序量身打造了小程序相关解决方案,帮助开发者解决小程序包超过大小限制的问题。仅需三步,即可快速使用 We...

1.3K0
来自专栏北京马哥教育

Python微信后台开发--环境搭建与接入指南

0x00 背景及介绍 申请一个微信公众平台订阅号,将后台接入到服务器上,验证服务器地址的有效性,实现简单的业务逻辑,根据用户发送不同类型的消息做出不同的反应。 ...

4336
来自专栏Youngxj

emlog侧边栏添加微博秀

2037
来自专栏zaking's

走进webpack(3)-- 小结

  写这一系列的文章,本意是想要梳理一下自己凌乱的webpack知识,只是使用过vue-cli,修改过其中的一部分代码,但是对于一个简单项目从0开始搭建webp...

3607
来自专栏Golang语言社区

golang基于redis lua封装的优先级去重队列

前言: 前两天由于某几个厂商的api出问题,导致后台任务大量堆积,又因为我这边任务流系统会重试超时任务,所以导致队列中有大量的重复任务。这时候我们要临时解决两个...

4059

扫码关注云+社区

领取腾讯云代金券