上线项目踩坑

关于作者

现就读于深圳信息职业技术学院,21级, 大数据专业

准备工作

项目所需要的环境:一台centos7.6以上版本的服务器(我用的是7.6) ,nginx,mysql,redis,jdk,rabbitmq
对于nginx mysql redis,jdk的安装有多种方式
可以通过yum apt 等包管理器安装
可以通过压缩包的方式

最简单方式:
通过宝塔快速安装(傻瓜式操作)
img.png
怎么样是不是非常简单
rabbitmq的安装我推荐:https://blog.csdn.net/qq_45173404/article/details/116429302 多种安装方式都有讲
当我把这些软件都安装好了:以为环境没有问题了
直接就开始上传项目:

前端部署:先将前端项目通过:npm run build 打包成dist文件夹

img.png
拖拽式上传,简单易用
img.png

后端部署:在后端项目里面通过 通过命令或者右侧导航栏进行打包

img.png
将jar上传到服务器上
img.png
这样前后端项目就都启动了
我们还通过右侧导航栏设置去查看项目的启动情况
img.png

前面讲到了我们把所有的软件都装好了,但是里面的有一些软件默认只支持本地环境,我们到了线上了是需要开启远程访问的如(mysql,redis,rabbitmq)
不然项目是启动不了的,这就是我踩的全部坑:接下来就介绍怎么去解决
忘记一件事:我们上线项目所用到的端口,全部都要在服务器上去开放,比如我用的是腾讯云服务器,我就需要去腾讯控制台上去开放端口

Mysql

MySQL是一款开源的关系型数据库管理系统,它的用户界面比较简单,但是它的主要应用程序还是在后台运行的。因此,在实际工作中,我们需要开启MySQL的远程访问功能,以便从其他地方访问和管理MySQL数据库。下面,我们来详细了解一下如何开启MySQL的远程访问。

一、设置MySQL访问权限

在MySQL中,要实现远程访问,首先需要在MySQL服务端上开启相应的权限。我们可以登录到MySQL服务端的控制台,执行以下命令:

mysql>grant all privileges on . to ‘root‘@’%’identified by ‘youpassword’ with grant option;

在上面的命令中,’root’代表MySQL管理员用户的名称,’%’代表允许任意IP地址访问MySQL服务器。我们还可以设置一个特定的IP地址访问MySQL服务端,如:

mysql>grant all privileges on . to ‘root‘@’192.168.1.1’identified by ‘youpassword’ with grant option;

在设置完访问权限之后,我们需要在MySQL命令行中执行flush privileges命令来刷新权限设置。

二、查看用户表

通过查看MySQL用户表,我们可以看到’host’为’%’,说明root用户登录MySQL的时候,可以允许任意的IP地址访问MySQL服务端。我们可以使用以下命令来查看MySQL用户表:

mysql> select user,host from mysql.user;

如果查看到的’user’和’host’都是’root’和’%’,说明我们已经成功地开启了MySQL的远程访问功能。

三、更改MySQL配置文件

在上面的步骤中,我们已经开启了MySQL的远程访问功能,但是,如果使用MySQL管理工具navicat连接MySQL服务端时,还是可能会出现连接失败的情况。这是因为MySQL默认只允许本地访问。为了解决这个问题,我们需要更改MySQL配置文件my.conf。

使用vi 命令打开my.conf文件:

vi /etc/mysql/my.conf

在my.conf文件中,我们需要找到bind-address=127.0.0.1这一行,并把它改为bind-address=0.0.0.0。然后,我们需要重启MySQL服务端:

service mysql restart

这样就可以实现外部IP地址对MySQL服务端的访问了。

总结

通过以上步骤,我们可以成功地开启MySQL的远程访问功能。在实际工作中,如果我们需要从其他地方访问和管理MySQL数据库,就需要开启MySQL的远程访问功能并设置相应的权限。这对于我们的工作效率和数据安全都有很大的帮助。

Redis

redis最好去设置一下密码:可以通过宝塔快速配置,配置文件也可以在宝塔上去改
img.png
img.png
1.修改redis.conf文件
Redis的配置文件是redis.conf,可以通过修改配置文件来开启远程访问。具体操作如下:
找到redis.conf文件并打开。
找到bind选项,并将其注释掉或修改为0.0.0.0,表示接受来自任何IP地址的连接。
找到protected-mode选项,并将其修改为no,表示关闭保护模式,允许外部访问。
修改完成后,重启Redis服务即可生效。但是需要注意的是,这种方式会暴露Redis服务于外网,存在一定的安全风险,建议在内网环境下使用。
2.使用SSH隧道
使用SSH隧道可以在本地与远程主机之间建立一条安全的加密通道,实现数据传输加密和远程访问。具体操作如下:
在本地电脑上使用SSH命令连接到远程主机:ssh-L6379:localhost:6379user@remote_host。其中,6379是Redis默认端口,可以根据实际情况进行修改。
在本地电脑上打开redis-cli,并连接到本地主机:redis-cli-hlocalhost-p6379。
在本地主机上操作Redis服务。
这种方式需要在远程主机上开启SSH服务,并且需要提供用户名和密码进行连接,安全性较高。

Rabbitmq

根据上面Rabbitmq的教程,相信都有管理员的账户了
要配置 RabbitMQ 进行远程访问,需要进行以下步骤:

  1. 修改 RabbitMQ 配置文件

在 RabbitMQ 安装目录下找到 rabbitmq.config 文件,如果不存在则创建一个。在文件中添加以下内容:

[
{rabbit, [
{tcp_listeners, [{“0.0.0.0”, 5672}]},
{loopback_users, []}
]}
].
这将允许任何 IP 地址的客户端连接到 RabbitMQ 服务器。
将这些坑踩完,我的项目就正是上线了
img8.png