前后端系统部署——后端篇

98 阅读5分钟

华为云耀云服务器L实例提供可靠的基础设施和稳定性,并通过使用分布式存储和备份机制,确保数据的安全性和可靠性。其采用弹性架构,可以根据项目需求动态扩展或缩减资源,允许根据实际需求灵活调整服务器规格、性能和数量,以适应流量和用户数量的变化。这使得项目后端具备良好的扩展能力,能够应对不同规模和负载的需求。

华为云耀云服务器L实例提供了一套完善的管理和监控工具,能够在主机上轻松管理和监控云服务器的性能、资源使用情况和运行状况。这些工具提供了实时的性能指标、日志分析和报警功能,帮助用户及时发现并解决潜在的问题,保证项目后端的稳定运行。

要将项目后端部署到华为云耀云服务器L实例上,需要遵循以下步骤:

选择合适的云服务器规格:根据项目需求和预算,选择适当的华为云耀云服务器L实例规格。考虑到计算能力、内存、存储和网络等因素进行选择。

可以在华为云耀云官网界面获取适当的华为云耀云服务器L实例:

www.huaweicloud.com/product/hec…

创建云服务器实例:登录到华为云控制台,选择合适的云服务器服务,按照相关指引创建一个新的云服务器实例。填写实例配置信息,包括地域、镜像、安全组等。

配置安全组:根据项目需求,设置安全组规则以允许项目后端的入站和出站流量,并保障服务器的安全。

部署项目代码:通过SSH或其他远程登录方式,连接到云服务器,并将项目后端的代码文件传输到服务器上。确保项目代码与服务器上的目录结构和配置文件相匹配。

配置运行环境:根据项目所需,配置服务器上的运行环境。包括设置环境变量、安装运行时依赖库等。确保项目后端代码能够顺利运行。

启动项目后端:通过命令行或其他方式启动项目后端。监控日志输出,确保项目后端能够正常启动并对外提供服务。

监控和管理:使用华为云提供的监控和管理工具,监测云服务器的性能和资源使用情况。根据需要进行扩展或调整服务器资源配置,以确保项目后端的稳定运行。

要实现后端交互,就要实现数据库与servlet类的交互。

首先,要修改mysql的配置,使其能够在远程被连接:

输入指令 mysql -uroot -p

注意,在linux系统中password被隐藏并不代表不用输入,需要正确输入密码才能进入。

4370f49f27792d785a4d2b3e146b293d_AgAACqYyBu9_STJMVqJLh5e4064Y9Fd7_w=1123&h=389.png

输入指令use mysql,进入指定数据库。

7581eb805719e78fb5d550967cea547e_AgAACqYyBu-SA6KxTRtNUICszzlOSSvs_w=1005&h=153.png

下面开启远程连接权限:

update user set Host='%' where User='root';

97aeaf01e95154279ca9a52205c248b3_AgAACqYyBu9ULuAbIHRFo4m0OqVsBXth_w=918&h=105.png

出现该界面即表明权限修改成功。

刷新权限,输入指令:

flush privileges;

69d8d75c800fcec9d9e6e4b63d8c41c9_AgAACqYyBu826jzFmzVGKL_7_TgT_h_A_w=618&h=81.png

完成后退出mysql环境:

输入指令exit

86b3ac8b9ffb2afcd6054f0fa3781c66_AgAACqYyBu8D6n6j5_NL_ZQVnpMnen4I_w=411&h=97.png

对mysql环境的修改完成。

现在,为了确保远程服务器的连接正常,我们还需要对配置文件进行调整:

首先,查找配置文件的位置:

sudo find / -name "my.cnf" -o -name "my.cnf.d"

f741e96bf704b245ff5ce5472ec71756_AgAACqYyBu9MEWy6SLpNXqGKewawqVWU_w=1006&h=148.png

可以看到/etc/mysql/my.cnf即为我们所要找的配置文件目录

输入指令:sudo vi /etc/mysql/mysql.conf.d

3aabb7a0125226f2fa4740e3f4660ff6_AgAACqYyBu_kHS-_EQhMnpZHmJmICgjz_w=774&h=32.png

54378fedea24ee10cd91ef6cdee0c37e_AgAACqYyBu_3NxkCee1NjI9Hypge8KSO_w=1264&h=1279.png

输入后进入界面如图

移动光标至mysql.conf.d行,按回车

将会出现如图界面

e954f11bfc918d7f3d87ef81a4f70d14_AgAACqYyBu9Pfkkd3lVED5LhtZH37M4L_w=1505&h=1293.png

光标移至bind-address,按i并修改127.0.0.1为0.0.0.0

d2e66005725c2696e3b08da90e22e8ca_AgAACqYyBu9mU4FyGCFH76uBwX9KzAaM_w=1452&h=1284.png

如图。

按esc,输入:wq即可保存并退出。

重新启动mysql:

6f17019a717b5dfe8f20b5769b4655f7_AgAACqYyBu_wyMtx-kpMs5pjxIk4Fxse_w=746&h=68.png

现在,sql端应当配置完毕。

先登录本地的项目,将url修改为: url= "jdbc:mysql://121.36.108.102:3306/Demo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC";

其中121.36.108.102为公网ip,Demo为数据库名称。

在DB类中设断点调试文件,报错如下:

a3536d198379e621b8fa77efb0d71a85_AgAACqYyBu9XVCx4SiZAQoihlno6ox5e_w=1816&h=239.png

java.sql.SQLException: Access denied for user 'root'@'116.246.2.251'

即访问被拒绝。

经检查密码正确无误,权限也无问题,则寻找mysql本身的配置问题

输入指令:select user,host,plugin from mysql.user;

出现表格,root的host是%是正确的,但plugin为auth_socket存在一定问题。

7ec81eab4fdc06bcf699ca05e0d5ead5_AgAACqYyBu_RrBPzKTJCNpLVxqbmAZC6_w=897&h=585.png

输入指令:UPDATE user SET plugin='mysql_native_password' WHERE User='root';

cbc1d02a5f3b1f6d9acb0b1dd444ceaa_AgAACqYyBu_aTIcbRsVM5ZYw-Zq_BTDC_w=864&h=133.png

刷新权限:

6dedb143b1ddaba08d902268a342464f_AgAACqYyBu92PctGRD1BZrlSspGJigCF_w=539&h=99.png

修改后项目的数据库应当能够正常运行

输入指令:./startup.sh

97db027e3b95484f584d173e0cbe52cf_AgAACqYyBu-QWc6QZBRF_YR-Ti2Larb-_w=917&h=31.png

在浏览器输入公网ip:8080/liuyan

注意,这里的liuyan是我的项目名。

f3946555f15aaecc1fc79510e3ed5449_AgAACqYyBu8bukjfLoZL5ohGWA_5l1Ao_w=2560&h=1540.png

前端没有出现问题,选择“我是学生”进行登录来测试数据库连接:

dc4d8828e48c155c441622c0289f8ec4_AgAACqYyBu96GLJ9L1dLGZT0fvQl9IR5_w=2560&h=1540.png

如图,正确地输入账号密码后点击登录

26360b8c8eb3a41ff0210c30892394ee_AgAACqYyBu_1-vOTT6FFqJv9oEgifso__w=2560&h=1540.png

可以看到正确地进入了主页,说明数据库验证成功。

这表明数据库的导入与连接都成功了,即后端部署成功。

简单的试用几个功能以验证数据库查询功能无虞

41780da320f57fed552e849907ce7266_AgAACqYyBu9J366ErgVCTJ2KLkTmgg-o_w=2560&h=1540.png

05749e39b5837f1583df4183880735fa_AgAACqYyBu8joE9yIp5PLZvRVYm9xRPY_w=2560&h=1540.png

c7f05b80576259f2f8b5a359e8cb8765_AgAACqYyBu_dw7NXXPBE-50ZjNrwzSyf_w=1878&h=442.png

至此,项目后端部署完成。

在华为云耀云服务器L实例上部署项目后端可以充分利用云服务器的优势和功能,确保项目能够以高性能、高可靠性和高安全性的方式运行,提供优质的服务体验。