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

2023-11-02

腾讯云技术社区-博客主页持续为大家呈现云计算技术文章,欢迎大家关注!


作者:魏豪

项目背景

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。
 # chmod -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)


此文已由作者授权腾讯云技术社区发布,转载请注明文章出处
原文链接:https://www.qcloud.com/community/article/139622001490856409
获取更多腾讯海量技术实践干货,欢迎大家前往腾讯云技术社区

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 通过 AJP 将 REMOTE_USER 转发到 tomcat(例如用于 shibboleth)

    今天我刚刚遇到了以下问题 1 我将apache配置为基本身份验证 需要有效用户 这有效 2 我进一步配置 apache 将某些路径 在我的例子中为 idp 的请求转发到 tomcat servlet shibboleth IDP 结果是 s
  • 如何让Apache服务index.php而不是index.html?

    如果我将以下行放入index html文件 使 Apache 包含index php file 参观index html页面向我显示了这个 这是为什么 为什么它实际上不包含 PHP 文件 正如其他人指出的那样 您很可能没有 html设置为处
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 如何更改 Apache 服务器的根目录? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何更改 Apache 服务器的文档根目录 我基本上想要localhost从 来 users spencer projects目录而不是
  • Win 8.1 上的 XAMPP 安装带有 UAC 警告

    我正在尝试在 Windows 8 1 上安装 Xampp win32 1 8 2 我收到一条消息说 由于系统上激活的用户帐户用户帐户 XAMPP 的某些功能可能会受到限制 我尝试更改用户帐户控制设置 但警告仍然存在 并且APACHE无法启动
  • CodeIgniter 项目给出 303/压缩错误

    尝试设置一个基于 CodeIgniter 的项目进行本地开发 LAMP 堆栈 并且一旦更新了所有配置文件 这意味着我成功地为 CodeIgniter 生成了有意义的引导错误 我在浏览器中收到此错误 Chrome Error 330 net
  • 从 SSLv3 迁移到 TLSv1

    对于 POODLE SSLv3 现已在服务器上禁用 客户端软件是在 NET 2 0 中开发的 并提供 TLSv1 作为唯一的替代方案 我有权并有能力更改客户端应用程序和服务器配置 ServicePointManager SecurityPr
  • PHP Github Pull 脚本错误“权限被拒绝(公钥)”

    我已经设置了一个 PHP 脚本来执行 GitHub 拉取 这包含在我的 Github 文件夹中 home mysite public html github github pull php 我的服务器已经有 SSH 公钥 就像我执行git
  • 使用 ConcurrentUpdateSolrServer 需要哪些 jar?

    目前使用 solrServer new CommonsHttpSolrServer serverUrl 和这些罐子 apache solr core 3 6 0 apache solr solrj 3 6 0 commons codec 1
  • 无法在 Java/Apache HttpClient 中处理带有垂直/管道栏的 url

    例如 如果我想处理这个网址 post new HttpPost http testurl com lists lprocess action LoadList 401814 1 Java Apache 不允许我这么做 因为它说竖线 是非法的
  • Centos 与 Plesk11.x

    我正在使用 Centos 和 Plesk 11 x 以及这篇文章如何获取 RHL 的 Apache mod jk 连接器 https stackoverflow com questions 33381933 how to obtain ap
  • CodeIgniter 删除 index.php 和 .htaccess

    我已经为此工作了一个小时 所以我想我不妨问一下 我正在尝试从 CodeIgniter 应用程序的 URL 中删除 index php 但无法执行此操作 该应用程序在我办公室的专用服务器上运行 我通过 url 访问该应用程序http smr
  • Apache HttpClient TCP Keep-Alive(套接字保持活动)

    我的 http 请求需要太多时间才能被服务器处理 大约 5 分钟 由于连接闲置 5 分钟 代理服务器将关闭连接 我正在尝试在 Apache DefaultHttpClient 中使用 TCP Keep Alive 来使连接长时间处于活动状态
  • 编辑/更改服务器上的 300 多项选择

    我编辑了所有服务器 http 状态消息 当我输入错误的地址时 300 个多项选择仍然显示 所以它向我显示选项 你知道我怎样才能摆脱它吗 我不希望用户有选择 我想重定向到 index html 或者我想显示自己创建的带有 gt 返回 的消息页
  • mod_rewrite 可以转换任意数量、任意名称的参数吗?

    我对 mod rewrite 完全是个新手 我想做的事情听起来很简单 我不想拥有domain com script php a 1 b 2 c 3 我想要 domain com script a 1 b 2 c 3 问题是我的脚本采用各种组
  • 在浏览器中读取wsdl文件

    当我尝试在浏览器中打开 WSDL 文件 http localhost something file wsdl 时 我被提议下载该文件 但我希望能够在浏览器中以 XML 字符串 形式查看 而不是下载 谢谢 如果您的服务器未发送 WSDL 文件
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误
  • PHP 中的异步数据库/服务调用:Gearman 与 pthreads

    在我们的 LAMP 站点上 我们遇到一些服务必须多次调用数据库才能提取数据的问题 通常在 PHP 中完成此操作的方式 至少我的经验 是串行的 这显然是低效的 我们可以通过使用缓存和聚合一些查询来缓解一些低效率的问题 但在某些情况下我们仍然需
  • 使用 .htaccess 启用 PHP 短标签

    我在自己的 Centos 服务器上设置了 Apache 并具有多个虚拟 Web 服务器 并且我希望仅为位于以下位置的其中一个 Web 服务器启用 PHP 短标记 var www ostickets html 我可以通过添加成功启用短标签sh
  • htaccess 301 重定向 - 删除查询字符串 (QSA)

    我一直在努力处理一些 htaccess 重定向 我只是花了一些时间在堆栈上阅读和搜索 但无法获得适合我的场景的答案 我正在将旧客户端网站的 301 重定向到新客户端 旧页面有参数查询 我想从网址中删除它 menu php idCategor

随机推荐

  • 探究|Go JSON 三方包哪家强?

    引言 为了小伙伴理解 汇总了一下文章中会提及的术语名词解释 请放心品读 欢迎一起讨论交流 图片 你真的了解 Go 标准库吗 问题一 标准库可以反序列化普通的字符串吗 执行下面的代码会报错吗 var s string err json Unm
  • C语言sort函数如何使用

    https zhidao baidu com question 1754076342544723828 html c语言和c 中 对于sort函数的使用 不同 c语言中没有预置的sort函数 如果在c语言中 要调用sort函数 就需要自定义
  • BP神经网络实现简单数据二分类实战(matlab实现)

    题目 企业到金融商业机构贷款 金融商业机构需要对企业进行评估 评估结果为0和1两种形式 0表示企业两年后破产 将拒绝贷款 而1表示企业2年后具备还款能力 可以贷款 表5 9中 已知前20家企业的三项评价指标值和评估结果 试建立神经网络 决策
  • 有哪些比较基础的优质计算机书籍?

    不废话 推荐6本书 不是直接罗列6本书 而是有一个看书顺序 按我说的顺序看 学计算机基础事半功倍 1 C程序设计语言典藏版套装 首先 由于很多经典书籍大部分是用 C 语言或者类 C 语言实现 所以 C 语言本身应该作为计算机学习前的任何前置
  • canvas实现刮刮卡

    效果图如下 实现思路 1 定位实现布局 把文字放在画布下面 2 使用键盘的按下 弹起 离开 移动事件来实现刮开效果 代码如下
  • lol显示服务器正忙请稍后再试,LOL客户端报错崩溃怎么办_无法进入队列及服务器正忙提示解决方法一览_3DM网游...

    LOL作为一款较为火热的电子竞技游戏 同时在线人数非常多 因此会突发各种游戏状况 例如匹配不能进入队列 无法登陆游戏大厅 游戏经常出现报错等问题 那么这些问题有办法解决吗 下面小编将带来LOL客户端常见问题解决方法 有兴趣的小伙伴们一起来看
  • 1. CUDA编程手册中文版---CUDA简介

    1 CUDA简介 1 1 我们为什么要使用GPU 更多精彩内容 请扫描下方二维码或者访问https developer nvidia com zh cn developer program 来加入NVIDIA开发者计划 GPU Graphi
  • [附源码]JAVA+ssm计算机毕业设计个性化大学生图书推荐系统(程序+Lw)

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • 【Android】RecyclerView实现列表中的Item之间设置间距的一种方式

    前言 RecyclerView 的 Item 默认没有间距是因为 RecyclerView 是一个高度自定义的控件 它的目标是提供一个高效灵活的列表展示 并且适应各种不同的布局需求 为了让开发者能够充分自定义列表项的布局和样式 Recycl
  • ESP32基于Arduino驱动GY30光照传感器程序

    连线 vcc 3 3v 5v gnd gnd scl 22 sda 21 效果 include
  • [Python从零到壹] 四十二.图像处理基础篇之图像金字塔向上取样和向下取样

    欢迎大家来到 Python从零到壹 在这里我将分享约200篇Python系列文章 带大家一起去学习和玩耍 看看Python这个有趣的世界 所有文章都将结合案例 代码和作者的经验讲解 真心想把自己近十年的编程经验分享给大家 希望对您有所帮助
  • this is incompatible with sql_mode=only_full_group_by

    5分钟学会MySQL this is incompatible with sql mode only full group by 错误解决方案 前言 一 原理层面 这个错误发生在mysql 5 7 版本及以上版本会出现的问题 mysql 5
  • Qt样式表

    一 QT样式表简介 1 QT样式表简介 QSS的主要功能是使界面的表现与界面的元素分离 使得设计皮肤与界面控件分离的软件成为可能 QT样式表是允许用户定制widgets组件外观的强大机制 此外 子类化QStyle也可以定制widgets组件
  • 基于stm32 的简单的智慧农业系统, 有上位机,有下位机

    1 实现的功能 1 下位机 stm32 keil 5 1 按键key1 中断控制 LED 3 的亮灭 2 按键key2 中断控制 温湿度的获取 数据通过串口发送给 上位机 3 智能检测温湿度是否超标 超标 开启警报 开启风扇 4 OLED
  • Unity接入苹果内购(IAP)

    Unity接入苹果内购 IAP Unity接入苹果内购 IAP 苹果支付流程 配置App 配置商品 协议 税务和银行业务 沙盒测试账号 Unity IAP 测试 苹果支付流程 在接苹果支付前我们需要先来大体了解下苹果支付的流程是怎样的 大体
  • 运动控制(部分)

    第二章 直流PWM调速系统 不可控整流器 大电容滤波 H桥式PWM变换器 泵升电压 在可逆系统进入制动状态时 PWM功率变换器把机器能变成电能回馈到直流侧 但由于二极管整流器到单向导电作用 不能回馈到交流电网 只能向滤波电容充电 使电容两端
  • RabbitMQ系列(四)RabbitMQ进阶-Queue队列特性 (二)工作队列 Work模式

    RabbitMQ进阶 Queue队列特性 二 工作队列 Work模式 文章目录 RabbitMQ进阶 Queue队列特性 二 工作队列 Work模式 1 work 工作队列 工作模式 2 代码实战 2 1 生产者 2 2 新建2个消费者 2
  • 关于 APP 隐私政策文本中个人敏感信息的规范使用声明

    前言 这两年国家对于互联网个人隐私保护非常重视 针对互联网产品对于个人信息的使用 四部委出台了一系列的规范 从去年开始 根据国家出台的相关规范 我们在不断地对我司的 APP 进行优化 包括两个方面 1 APP 中用户隐私政策的内容 2 AP
  • 《MySQL实战45讲》读后感 02

    说明 本来是打算写一些个人心得的 后来发现文中大量高质量的QA都非常精典 所以粘过来了 如有侵权请联系我删除哈 收获到的知识点 当一个表有更新的时候 跟这个表相关的所有缓存都会失效 所以这条语句就会把表T上所有缓存结果清空 MySQL8 版
  • 【腾讯云的1001种玩法】LAMP架构实现动态网站论坛系统

    腾讯云技术社区 博客主页持续为大家呈现云计算技术文章 欢迎大家关注 作者 魏豪 项目背景 LAMP架构 全称为Linux Apache Mariadb PHP 是一种强大的网站解决方案 LAMP是多个开源项目的首字母缩写 LAMP网站架构主