『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛

『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛

提示:授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道

文章目录

  • 『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛
  • 前言
  • 一、AWS EC2是什么?
  • 二、创建EC2实例
  • 三、连接EC2实例
    • 设置root密码
    • 修改sshd_config
  • 三、搭建LAMP环境
    • 3.1 shell一键搭建lamp
    • 3.2 安装mysql
    • 3.3 启动服务
    • 3.4连接数据库
    • 3.5 验证环境配置
    • 安装Discuz!
  • 总结


前言

Discuz! 是一个成熟度比较高、覆盖率挺大大的论坛网站软件系统之一,可以快速帮我们搭建一个论坛社区。这篇文章就介绍在AWS EC2上搭建 Discuz! 论坛及其所需的 LAMP(Linux + Apache + Mysql+ PHP)环境。

过程全部手动,大家在跟着实践的时候要注意实践顺序,实践要求比较简单,需要熟悉 Linux 命令,例如 CentOS 环境下通过 YUM 安装软件 等常用命令,并对所安装软件的使用及版本兼容性比较了解。

并且我们整个环境是基于 LAMP 的,所以如果懂LAMP是最好的,不懂的话跟着文章顺序来也可以完成搭建!

一、AWS EC2是什么?

EC2 是亚马逊网络服务(AWS)云中提供的一项关键服务,它为用户提供了按需的、可扩展的计算容量。我们通过使用EC2,无需投入大量资金购买和维护硬件设备,降低了硬件成本,从而可以专注于应用程序的开发和部署。

我们为了搭建一个公共的、可用的、全球的论坛,所以选择了 AWS EC2,AWS有丰富的海外基础设施,众多的可用区域,基于构建出来的服务就是全球性的,所以为了让我们这个论坛能够面向更多人群,我直接部署在 aws ec2上,接下来跟着我的文章往下进行部署吧!

二、创建EC2实例

『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛_第1张图片
『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛_第2张图片
给我们的实例起一个名称,然后选择一个操作系统,这里操作系统我直接选择默认的 Amazon Linux

『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛_第3张图片
然后创建一个密钥启动实例即可

三、连接EC2实例

先通过web console连接到 ec2
『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛_第4张图片
但是如果我们希望能够通过其他ssh客户端连接的话,就需要设置一下密码和打开sshd

设置root密码

这里用户名我们选择root登录,然后修改密码:

passwd root

输入你要修改成的密码

『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛_第5张图片

修改sshd_config

cd /etc/ssh
vi sshd_config

将 PasswordAuthentication 改为  yes
# 允许root登录
PermitRootLogin yes
#重启sshd
systemctl restart sshd

『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛_第6张图片

重启sshd后就可以通过其他ssh客户端连接到ec2实例了,比如我使用的 finalshell

『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛_第7张图片

三、搭建LAMP环境

3.1 shell一键搭建lamp

yum install httpd php php-fpm git -y
yum install openssl-devel

3.2 安装mysql

wget https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
yum -y install mysql mysql-server mysql-devel

3.3 启动服务

systemctl start httpd
systemctl start mysqld
systemctl start php-fpm

3.4连接数据库

mysql -u root -p

找到mysql的默认密码

 cat /var/log/mysqld.log
 
2023-11-14T08:11:17.020885Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.35) initializing of server in progress as process 97441
2023-11-14T08:11:17.031214Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-11-14T08:11:17.849751Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-11-14T08:11:19.666233Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rGz8ekUOmq-f
2023-11-14T08:11:24.007017Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.35) starting as process 97796
2023-11-14T08:11:24.017227Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-11-14T08:11:24.513084Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-11-14T08:11:24.920288Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2023-11-14T08:11:24.920333Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-11-14T08:11:24.961215Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2023-11-14T08:11:24.961400Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.35'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server - GPL.

密码为: rGz8ekUOmq-f

连接mysql

mysql -u root -p

输入找到的默认密码

3.5 验证环境配置

为了保证php环境的正常,我们写一个脚本看看 phpinfo 的情况

vi vim /var/www/html/1.php

写入以下内容:

Test Page";
phpinfo()
?>

在浏览器中,访问该1.php文件,查看环境配置是否成功。

『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛_第8张图片
可以看到 php是正常的

安装Discuz!

通过 gitee 获取 Discuz! 源码,然后放入到 apache 的httpd服务下

git clone https://gitee.com/Discuz/DiscuzX.git
cd DiscuzX
cp -r upload/* /var/www/html/
chmod -R 777 /var/www/html

访问我们的IP地址进入安装向导

『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛_第9张图片
其他就一步一步跟着安装向导就可以完成了,最后就能看到论坛首页了

『亚马逊云科技产品测评』活动征文|手动搭建 Discuz! 论坛_第10张图片

总结

到这一个论坛就已经搭建好了,我们也可以给论坛搞一个域名,通过AWS可以直接购买,然后进行DNS记录解析,这样一个面向全球的论坛就可以通过域名访问到了,其实操作起来还是很方便的,文章若有问题,欢迎指出!

你可能感兴趣的:(科技)