华为云 Flexus 云服务器 X 实例之 openEuler 系统下部署 Discuz 论坛网站

电子说

1.3w人已加入

描述

前言

华为云凭借其卓越的技术实力和稳定的服务质量,已成为众多企业和开发者构建云端应用的首选平台。随着 Flexus 云服务器 X 实例的推出,华为云再次展现了其对中小企业及个人开发者需求的深刻理解与支持。该实例不仅提供了灵活可扩展的计算资源,还特别优化了对于 openEuler 等开源操作系统的支持,确保用户能够享受到更加高效、安全且易于管理的云服务体验。在本文中,我们将探索如何在华为云 Flexus 云服务器 X 实例上基于 openEuler 系统部署 Discuz 论坛网站,为构建活跃的在线社区提供强有力的支持。

一、Flexus 云服务器 X 实例介绍

1.1 Flexus 云服务器 X 实例简介

· 官网地址:华为云Flexus云服务器X实例
 

华为云 Flexus 云服务器 X 实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X 实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。

Discuz

1.2 Flexus 云服务器 X 实例特点

· 提供丰富的公共镜像:Flexus 云服务器 X 实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。

· 可灵活自定义 vCPU 内存配比:用户可以根据自己的需要灵活调整虚拟 CPU 和内存的配比,以满足不同场景的需求。

· 智能感知业务动态升降配:Flexus 云服务器 X 实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。

· 负载范围更高:相对于 Flexus 应用服务器 L 实例,Flexus 云服务器 X 实例能够处理更高的负载,适用于更复杂和繁忙的场景。

1.3 Flexus 云服务器 X 实例使用场景

Flexus 云服务器 X 实例针对不同的使用场景展现出其独特的优势:

1. 电商直播:利用 X 实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。

2. 企业建站:面向博客、论坛和企业门户等应用场景,X 实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。

3. 个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过 X 实例便捷获取,不仅提高了搭建效率,而且降低了成本。

4. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。

二、Discuz 介绍

2.1 Discuz 简介

Discuz 是一种通用的社区论坛软件系统,是由 Discuz! 官方团队开发和维护的。它是中国最受欢迎和广泛使用的论坛软件之一,也是全球最重要的综合性社区平台之一。Discuz 提供了丰富的功能和灵活的扩展机制,使得用户能够轻松地创建和管理自己的论坛。它支持多种论坛模式,包括传统的主题讨论、分类讨论、问答、社交网络等。论坛管理员可以根据自己的需求选择不同的模式。

2.2 Discuz 主要特点

· 多功能性:Discuz! 支持多种论坛模式,包括传统的主题讨论、分类讨论、问答以及社交网络等,满足不同类型的社区需求。

· 易用性:界面友好且操作直观,无论是管理员还是普通用户都能快速上手。

· 高度可定制:通过模板系统和插件机制,用户可以自由地调整外观和添加新功能,以适应特定的品牌或业务需求。

· 强大的管理工具:提供全面的后台管理系统,涵盖用户管理、权限设置、内容审核等多个方面。

· SEO 优化:内置搜索引擎优化功能,有助于提高网站在搜索结果中的排名,增加流量。

· 安全性:定期发布安全更新,确保系统的稳定性和数据的安全性。

· 多语言支持:除了中文外,还支持英文等多种语言版本,便于国际化运营。

· 活跃的社区支持:拥有一个庞大而活跃的用户和开发者社区,提供了丰富的资源和技术支持。

2.3 Discuz 使用场景

· 兴趣爱好社区:为特定兴趣爱好的人群搭建交流平台,如摄影、音乐、旅行等爱好者论坛。

· 技术支持论坛:企业或软件开发商设立官方技术支持区,帮助用户解决技术问题。

· 地方性社区门户:围绕某一地理区域建立综合信息服务平台,提供当地新闻、活动及生活服务信息。

· 行业资讯分享:针对特定行业的最新动态、专业知识进行共享与讨论,促进业内交流。

· 教育培训领域:学校或教育机构利用其作为师生互动的教学辅助工具,增强学习体验。

· 电子商务配套:结合电商平台,加强买家与卖家之间的沟通交流,提升购物体验。

三、本次实践介绍

3.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;2.本次实践环境为华为云 Flexus 云服务器 X 实例,使用的操作系统为 openEuler 22.03 LTS;3.本次实践需要搭建 LAMP 环境,部署 Discuz 论坛网站。

3.2 本次环境规划

四、远程连接华为云 Flexus 云服务器 X 实例

4.1 购买 Flexus 云服务器 X 实例

进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。
 

Discuz

Discuz

· 镜像选择:本次实践使用 openEuler 作为公共镜像,请根据实际需求自定义选择合适的操作系统镜像。

· 镜像切换说明:参考的公共镜像原为 Huawei Cloud EulerOS,但本次实践中已切换至 openEuler。

· 基础配置参考:购买时可参考以下基础配置进行选择。

1.计费模式:包年/包月,这里选择此模式;2.区域:华北—北京四,可用区:随机即可;3.实例规格:关闭性能模式,选择自定义,4vCPUs | 12GiB;4.镜像:公共镜像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);5.应用加速:这里选择不加速;6.存储:系统盘,通用型 SSD100G;7.网络:选择默认即可;8.安全组:选择默认即可;9.弹性公网 IP:选择“现在购买”,全动态 BGP,带宽 3Mbit/s;10.云服务器名称:可自定义设置,这里选择默认的名称;11.登录凭证:自定义设置密码;12.云备份:暂不购买;其余配置默认即可。

· 确认配置及购买:在确认配置页面仔细检查 Flexus 云服务器 X 实例的各项设置,确保无误后点击“立即购买”,完成付款流程即可成功购买。

Discuz

4.2 查看 Flexus 云服务器 X 实例状态

进入华为云 Flexus 云服务的控制台,选择 Flexus 云服务器 X 实例,可以看到已经正在运行的 Flexus 云服务器 X 实例。

Discuz

4.3 检查系统环境

· 复制 Flexus 云服务器 X 实例的弹性公网 IP 地址

Discuz

· 主要填写 Flexus 云服务器 X 实例的弹性公网 IP 地址,输入其登录用户和密码,连接即可。

Discuz

Discuz

检查 Flexus 云服务器 X 实例的操作系统版本,本次实践选择的版本为 openEuler 22.03 LTS

[root@flexusx-51a1 ~]# cat /etc/os-releaseNAME="openEuler"VERSION="22.03 LTS"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 LTS"ANSI_COLOR="0;31"

检查当前操作系统的内核版本,当前内核版本为 5.10.0-60.109.0.136.oe2203.x86_64。

[root@flexusx-51a1 ~]# uname -r5.10.0-60.109.0.136.oe2203.x86_64

五、安装 php 和 httpd

5.1 检查当前 yum 仓库状态

在使用华为云 Flexus 云服务器 X 实例并且操作系统为 openEuler 的情况下,通常系统会预先配置好基础的 YUM 仓库,以便用户能够方便地安装软件包。

yum repolist all

Discuz

5.2 安装 php

执行以下命令,安装 PHP。

yum -y install php php-fpm php-mbstring  php-mysqlnd php-gd php-xml php-pdo php-pecl-zip php-mysqlnd

Discuz

5.3 检查 php 版本

执行以下命令,检查当前安装的 php 版本。

[root@flexusx-51a1 ~]# php -vPHP 8.0.30 (cli) (built: May  7 2024 20:11:27) ( NTS )Copyright (c) The PHP GroupZend Engine v4.0.30, Copyright (c) Zend Technologies

5.4 安装 httpd

执行以下命令,安装 httpd。

[root@flexusx-51a1 ~]# yum -y install httpdLast metadata expiration check: 2:16:04 ago on Sat 07 Sep 2024 08:18:00 AM CST.Package httpd-2.4.51-21.oe2203.x86_64 is already installed.Dependencies resolved.Nothing to do.Complete!

执行以下命令,启动 httpd 服务。

[root@flexusx-51a1 ~]# systemctl enable --now httpdCreated symlink /etc/systemd/system/multi-user.target.wants/httpd.service→/usr/lib/systemd/system/httpd.service.

5.5 检查 httpd 服务状态

检查 httpd 服务状态,可以看到 httpd 服务正常运行。

[root@flexusx-51a1 opencart]# systemctl status httpd●httpd.service - The Apache HTTP Server     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)    Drop-In: /usr/lib/systemd/system/httpd.service.d             └─php-fpm.conf     Active: active (running) since Thu 2024-09-12 15:57:20 CST; 1 week 3 days ago       Docs: man:httpd.service(8)    Process: 725822 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)   Main PID: 1086 (httpd)     Status: "Total requests: 12; Idle/Busy workers 100/0;Requests/sec: 1.35e-05; Bytes served/sec:   0 B/sec"      Tasks: 177 (limit: 73113)     Memory: 24.2M     CGroup: /system.slice/httpd.service             ├─   1086 /usr/sbin/httpd -DFOREGROUND             ├─725823 /usr/sbin/httpd -DFOREGROUND             ├─725824 /usr/sbin/httpd -DFOREGROUND             ├─725825 /usr/sbin/httpd -DFOREGROUND             └─725826 /usr/sbin/httpd -DFOREGROUND

六、测试 PHP 安装环境

6.1 修改 httpd.conf 文件

备份/etc/httpd/conf/httpd.conf 文件,备份文件命名为 httpd.conf.bak。

cp -a /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

修改 httpd.conf 配置文件,修改 httpd 监听端口为 8055.

Listen 8055

Discuz

6.2 安全配置工作

6.2.1 防火墙及 selinux 配置

执行以下命令,关闭防火墙。如果需要开启防火墙,则需放行相关服务端口。

systemctl stop firewalld && systemctl disable firewalld

依次执行以下命令,关闭 selinux。

setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

6.2.3 Flexus 云服务器 X 实例安全组配置

进入 Flexus 云服务器 X 实例控制台,进行安全组规则配置。在安全组入方向规则上,放行 8055 端口。

Discuz

6.3 编辑测试文件

我们直接在网站根目录上,生成一个 info.php 测试文件。

echo " " > /var/www/html/index.php

执行以下命令,重启 httpd 服务。

systemctl restart httpd

6.4 访问测试页内容

测试 PHP 是否安装成功,通过浏览器访问http://IP地址:8055/index.php,将IP替换为自己华为云Flexus云服务器X实例的弹性公网IP地址。判断PHP是否安装成功,当可以正常PHP信息的web界面,则表示PHP正常安装。
 

Discuz

七、安装 MySQL 数据库

7.1 配置 yum 仓库

执行以下命令,配置 mysql 数据库的 yum 仓库镜像源。

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -y

Discuz

· 取消 gpgcheck 验证

sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/mysql-community.repo

7.2 安装 mysql

执行以下命令,安装 mysql 数据库,当前安装的数据库版本为 5.7。

yum install mysql-community-server -y

Discuz

· 启动 mysql 数据库

systemctl enable --now mysqld

· 检查当前 mysql 数据库状态

[root@flexusx-51a1 ~]# systemctl status mysqld●mysqld.service - MySQL Server     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)     Active: active (running) since Sun 2024-09-22 22:04:57 CST; 42min ago       Docs: man:mysqld(8)             http://dev.mysql.com/doc/refman/en/using-systemd.html    Process: 948 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)    Process: 2253 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)   Main PID: 2275 (mysqld)      Tasks: 27 (limit: 73113)     Memory: 296.9M     CGroup: /system.slice/mysqld.service             └─2275 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pidSep 22 22:04:49 flexusx-51a1 systemd[1]: Starting MySQL Server...Sep 22 22:04:57 flexusx-51a1 systemd[1]: Started MySQL Server.

7.3 本地访问数据库

我们执行以下命令,查看 mysql 数据库的初始登录密码。

[root@flexusx-51a1 ~]#  grep 'temporary password' /var/log/mysqld.log2024-09-07T03:59:15.721911Z 1 [Note] A temporary password is generated for root@localhost: yyw>HaqLY2/+

使用刚才查询到初始登录密码,本地登录 mysql 数据库。

[root@flexusx-51a1 ~]# mysql -uroot -pEnter password:Welcome to the MySQL monitor.  Commands end with ; or g.Your MySQL connection id is 2Server version: 5.7.44Copyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.mysql>

Discuz

7.4 设置本地 root 密码

设置本地 root 密码,可以自定义设置。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@1234';flush privileges;

Discuz

7.5 新建数据库和用户

· 创建 discuz 数据库

create database discuz;

· 创建新用户 admin

create user "admin"@"localhost" identified by "Admin@1234";grant all on *.* to"admin"@"localhost" with GRANT OPTION;flush privileges;

7.6 测试连接数据库

本地测试使用新创建的 admin 用户连接 Mysql,可以看到刚才创建的 discuz 数据库。

[root@flexusx-51a1 ~]# mysql -uadmin -pAdmin@1234mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor.  Commands end with ; or g.Your MySQL connection id is 5Server version: 5.7.44 MySQL Community Server (GPL)Copyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || discuz             || mysql              || performance_schema || sys                || wordpress          |+--------------------+6 rows in set (0.00 sec)mysql>

Discuz

八、安装 Discuz 应用

8.1 下载 Discuz 安装包

创建下载目录,用于存放 Discuz 安装包。

[root@flexusx-51a1 ~]# mkdir -p /data/discuz[root@flexusx-51a1 ~]# cd /data/discuz/[root@flexusx-51a1 discuz]#

使用 wget 命令,我们下载 Discuz 软件包。本次使用的版本为:Discuz! X 官方开源版,简体中文 UTF8 编码。

· 下载地址:https://gitee.com/Discuz/DiscuzX/attach_files
 

[root@flexusx-51a1 discuz]# lsDiscuz_X3.5_SC_UTF8_20240520.zip

Discuz

8.2 解压 Discuz 软件

· 解压 Discuz 软件包。

unzip Discuz_X3.5_SC_UTF8_20240520.zip

· 将其中的“upload”目录拷贝到“/var/www/html”路径下

mv upload /var/www/html

· 查看/var/www/html/目录下内容

[root@flexusx-51a1 discuz]# ls /var/www/html/upload

8.3 设置网站目录权限

设置网站目录/var/www/html/目录权限,建议设置属主和属组的方式来保证安全性。

chown -R apache:apache /var/www/html/upload

8.4 重启 httpd 服务

执行以下命令,重启 httpd 服务。

systemctl restart httpd

启动 php-fpm 服务,并设置开机自启。

systemctl enable --now php-fpm.service

检查 php-fpm 服务状态,确保 php-fpm 服务正常启动

[root@flexusx-51a1 discuz]# systemctl status php-fpm●php-fpm.service - The PHP FastCGI Process Manager     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)     Active: active (running) since Sun 2024-09-22 22:04:49 CST; 1h 20min ago   Main PID: 949 (php-fpm)     Status: "Processes active: 0, idle: 5, Requests: 1, slow: 0, Traffic: 0req/sec"      Tasks: 6 (limit: 73113)     Memory: 21.3M     CGroup: /system.slice/php-fpm.service             ├─  949 "php-fpm: master process (/etc/php-fpm.conf)"             ├─1028 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" ""             ├─1029 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" ""             ├─1030 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" ""             ├─1032 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" ""             └─1033 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" ""Sep 22 22:04:49 flexusx-51a1 systemd[1]: Starting The PHP FastCGI Process Manager...Sep 22 22:04:49 flexusx-51a1 systemd[1]: Started The PHP FastCGI Process Manager.

九、Discuz 初始配置工作

9.1 进入 Discuz 初始页

浏览器地址:http://IP地址:8055/uplodad/install,将IP替换为自己华为云Flexus云服务器X实例的弹性公网IP地址。浏览器打开地址后,进入Discuz初始页。
 

Discuz

9.2 同意协议

浏览完授权协议,点击同意。

Discuz

9.3 检查安装环境

检查安装环境:确认所有检查项都通过后,可选择“下一步”。

Discuz

9.4 设置运行环境

选择默认的“全新安装 Discuz! X 与 UCenter Server”方式,选择“下一步”。

Discuz

9.5 配置数据库信息

填写以下数据库信息,其中数据库用户和密码为之前自定义设置。①数据库主机:127.0.0.1;②数据库名:discuz ;③用户名:admin;④密码:Admin@1234⑤表前缀:pre_;⑥邮箱配置:admin@admin.com。提交数据库连接信息,确认配置即可。

Discuz

9.6 设置管理员信息

自定义填写登录管理员账号和密码登信息,如下图所示:

Discuz

9.7 安装成功

当初始化完成后,会出现以下安装成功提示。

Discuz

十、访问 Discuz 论坛网站

10.1 访问 Discuz 主页

访问地址:http://IP地址:8055/upload/,将IP替换为自己云服务器的弹性公网IP地址,进入到Discuz站点主页。
 

Discuz

10.2 进入 Discuz 后台管理

点击右上角的“管理中心”,进入 Discuz 后台管理页面。

Discuz

Discuz

十一、使用体验与总结

通过在华为云 Flexus 云服务器 X 实例上基于 openEuler 系统成功部署 Discuz 论坛网站,我们深刻体验到了华为云平台的卓越性能与稳定性。整个部署过程流畅简便,得益于华为云提供的详尽文档和强大的技术支持,即使是技术背景较浅的用户也能轻松完成配置。此外,Flexus 云服务器 X 实例展现出的强大柔性算力确保了论坛即使在高并发访问下依然能够保持快速响应和稳定运行。这次实践不仅验证了华为云解决方案对于开源软件的良好兼容性,也进一步证明了其作为中小企业及开发者首选云服务提供商的地位。

借着华为云 828 B2B 企业节的东风,此时不妨深入探寻 Flexus X 实例带来的丰厚优惠,亲身感受技术与创新的完美融合。无论是强劲的计算能力,还是智能化的监控系统,每一处细节都彰显着华为云对高品质服务的不懈追求。加入华为云,不单是技术上的重大飞跃,更是迈向未来科技前沿的关键之举。让我们携手共进,翻开云端崭新篇章,共同铸就更加辉煌的未来!

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分