828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署Discuz论坛网站
前言
华为云凭借其卓越的技术实力和稳定的服务质量,已成为众多企业和开发者构建云端应用的首选平台。随着
Flexus云服务器X实例
的推出,华为云再次展现了其对中小企业及个人开发者需求的深刻理解与支持。该实例不仅提供了灵活可扩展的计算资源,还特别优化了对于openEuler等开源操作系统的支持,确保用户能够享受到更加高效、安全且易于管理的云服务体验。在本文中,我们将探索如何在华为云Flexus云服务器X实例上基于openEuler系统部署Discuz论坛网站,为构建活跃的在线社区提供强有力的支持。
一、Flexus云服务器X实例介绍
1.1 Flexus云服务器X实例简介
- 官网地址: 华为云Flexus云服务器X实例
华为云
Flexus云服务器X实例
是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。
1.2 Flexus云服务器X实例特点
-
提供丰富的公共镜像:Flexus云服务器X实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。
-
可灵活自定义vCPU内存配比:用户可以根据自己的需要灵活调整虚拟CPU和内存的配比,以满足不同场景的需求。
-
智能感知业务动态升降配:Flexus云服务器X实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。
-
负载范围更高:相对于Flexus应用服务器L实例,Flexus云服务器X实例能够处理更高的负载,适用于更复杂和繁忙的场景。
1.3 Flexus云服务器X实例使用场景
Flexus云服务器X实例针对不同的使用场景展现出其独特的优势:
-
电商直播:利用X实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。
-
企业建站:面向博客、论坛和企业门户等应用场景,X实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。
-
个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过X实例便捷获取,不仅提高了搭建效率,而且降低了成本。
-
游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。
二、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 本次环境规划
服务器类别 | 公共镜像选择 | 内网IP地址 | Docker | 操作系统版本 | PHP版本 | MySQL版本 |
---|---|---|---|---|---|---|
华为云Flexus云服务器X实例 | openEuler | 192.168.0.169 | 26.1.3 | openEuler 22.03 LTS | 8.0.30 | 5.7 |
四、远程连接华为云Flexus云服务器X实例
4.1 购买Flexus云服务器X实例
进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。
- 镜像选择:本次实践使用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实例的各项设置,确保无误后点击“立即购买”,完成付款流程即可成功购买。
4.2 查看Flexus云服务器X实例状态
进入华为云Flexus云服务的控制台,选择Flexus云服务器X实例,可以看到已经正在运行的Flexus云服务器X实例。
4.3 检查系统环境
- 复制Flexus云服务器X实例的弹性公网IP地址
- 主要填写Flexus云服务器X实例的弹性公网IP地址,输入其登录用户和密码,连接即可。
检查Flexus云服务器X实例的操作系统版本,本次实践选择的版本为
openEuler 22.03 LTS
[root@flexusx-51a1 ~]# cat /etc/os-release
NAME="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 -r
5.10.0-60.109.0.136.oe2203.x86_64
五、安装php和httpd
5.1 检查当前yum仓库状态
在使用华为云Flexus云服务器X实例并且操作系统为openEuler的情况下,通常系统会预先配置好基础的YUM仓库,以便用户能够方便地安装软件包。
yum repolist all
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
5.3 检查php版本
执行以下命令,检查当前安装的php版本。
[root@flexusx-51a1 ~]# php -v
PHP 8.0.30 (cli) (built: May 7 2024 20:11:27) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
5.4 安装httpd
执行以下命令,安装httpd。
[root@flexusx-51a1 ~]# yum -y install httpd
Last 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 httpd
Created 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
6.2 安全配置工作
6.2.1 防火墙及selinux配置
执行以下命令,关闭防火墙。如果需要开启防火墙,则需放行相关服务端口。
systemctl stop firewalld && systemctl disable firewalld
依次执行以下命令,关闭selinux。
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
6.2.3 Flexus云服务器X实例安全组配置
进入Flexus云服务器X实例控制台,进行安全组规则配置。在安全组入方向规则上,放行8055端口。
6.3 编辑测试文件
我们直接在网站根目录上,生成一个info.php测试文件。
echo "<?php phpinfo(); ?>" > /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正常安装。
七、安装MySQL数据库
7.1 配置yum仓库
执行以下命令,配置mysql数据库的yum仓库镜像源。
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -y
- 取消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
- 启动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.pid
Sep 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.log
2024-09-07T03:59:15.721911Z 1 [Note] A temporary password is generated for root@localhost: yyw>HaqLY2/+
使用刚才查询到初始登录密码,本地登录mysql数据库。
[root@flexusx-51a1 ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.44
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
7.4 设置本地root密码
设置本地root密码,可以自定义设置。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@1234';
flush privileges;
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@1234
mysql: [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 5
Server 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 its
affiliates. Other names may be trademarks of their respective
owners.
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应用
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]# ls
Discuz_X3.5_SC_UTF8_20240520.zip
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初始页。
9.2 同意协议
浏览完授权协议,点击同意。
9.3 检查安装环境
检查安装环境:确认所有检查项都通过后,可选择“下一步”。
9.4 设置运行环境
选择默认的“全新安装 Discuz! X 与 UCenter Server”方式,选择“下一步”。
9.5 配置数据库信息
填写以下数据库信息,其中数据库用户和密码为之前自定义设置。
①数据库主机:127.0.0.1;
②数据库名:discuz ;
③用户名:admin;
④密码:Admin@1234
⑤表前缀:pre_;
⑥邮箱配置:admin@admin.com。
提交数据库连接信息,确认配置即可。
9.6 设置管理员信息
自定义填写登录管理员账号和密码登信息,如下图所示:
9.7 安装成功
当初始化完成后,会出现以下安装成功提示。
十、访问Discuz论坛网站
10.1 访问Discuz主页
访问地址:http://IP地址:8055/upload/,将IP替换为自己云服务器的弹性公网IP地址,进入到Discuz站点主页。
10.2 进入Discuz后台管理
点击右上角的“管理中心”,进入Discuz后台管理页面。
十一、使用体验与总结
通过在华为云Flexus云服务器X实例上基于openEuler系统成功部署Discuz论坛网站,我们深刻体验到了华为云平台的卓越性能与稳定性。整个部署过程流畅简便,得益于华为云提供的详尽文档和强大的技术支持,即使是技术背景较浅的用户也能轻松完成配置。此外,
Flexus云服务器X实例
展现出的强大柔性算力确保了论坛即使在高并发访问下依然能够保持快速响应和稳定运行。这次实践不仅验证了华为云解决方案对于开源软件的良好兼容性,也进一步证明了其作为中小企业及开发者首选云服务提供商的地位。
借着华为云 828 B2B 企业节的东风,此时不妨深入探寻 Flexus X 实例带来的丰厚优惠,亲身感受技术与创新的完美融合。无论是强劲的计算能力,还是智能化的监控系统,每一处细节都彰显着华为云对高品质服务的不懈追求。加入华为云,不单是技术上的重大飞跃,更是迈向未来科技前沿的关键之举。让我们携手共进,翻开云端崭新篇章,共同铸就更加辉煌的未来!