阿里云服务器部署SpringBoot项目(mysql安装、服务部署)

左手的ㄟ右手 2021-11-19 14:50 581阅读 0赞

最近在阿里云购买了一台轻量级云服务器,开始了自主服务之旅,下面记录步骤以及采坑过程。

首先拿到服务器的第一步我进入了控制台-远程连接中设置了连接密码,然后通过securt客户端工具连接。

1.jdk1.8安装

自行下载jdk1.8然后cd到/usr/local目录下创建java目录,将jdk解压(解压命令tar -xvf 文件);最后进入/etc/profile中设置环境变量

  1. #set java environment
  2. JAVA_HOME=/usr/local/java/jdk1.8
  3. CLASSPATH=.:$JAVA_HOME/lib.tools.jar
  4. PATH=$JAVA_HOME/bin:$PATH
  5. export JAVA_HOME CLASSPATH PATH

最后记得执行source /ect/profile命令使其生效

2.安装mysql

centos7默认自带mariadb。当然我们不用这个玩意,所以我们去mysql官网下载mysql5.6.45 (选择redhat操作系统版本),下载到/usr/local下新建目录mysql,将mysql tar包解压入其中(解压命令tar -xvf 文件);

(1)我们首先卸载mariadb:

执行命令(查询已安装的mariadb)

  1. rpm -qa|grep mariadb

然后执行命令 (进行卸载 )

  1. rpm -e --nodeps 文件名

(2)安装mysql

解压mysql tar包后里面有好几个文件(server、client、devel等)

首先执行命令安装mysql-server:

  1. rpm -ivh MySQL-server-5.6.45-l.el7.x86_64.rpm

如果出现错误:

error:Failed dependencies:libaio.so.l()(64bit) is need by MySQL-server-5.6.45-l.el7.x86_64.rpm

不要着急这是缺少依赖。执行yum install libaio命令安装依赖即可。

另外还有可能遇到的坑:

  1. 警告:Percona-Server-server-56-5.6.27-rel76.0.el6.x86_64.rpm: V4 DSA/SHA1 Signature, 密钥 ID cd2efd2a: NOKEY
  2. 错误:依赖检测失败:
  3. perl(Data::Dumper) Percona-Server-server-56-5.6.27-rel76.0.el6.x86_64 需要

咋一看又是缺少依赖,执行 yum install perl 安装依赖,继续安装mysql,然后依然抛出上述错误,这时就一脸懵逼了,明明已经安装了呀;一顿搜索,发现需要安装的其实是 autoconf 这个依赖,然后执行 yum -y install autoconf 即可(真是有点坑爹)。

然后依次执行如下命令安装mysql-client 和mysql-devel

  1. rpm -ivh MySQL-client-5.6.37-1.el7.x86_64.rpm
  2. rpm -ivh MySQL-devel-5.6.37-1.el7.x86_64.rpm

(3)启动mysql

最后如果顺利的话就可以执行命令启动mysql了

  1. service mysql start

(4)登陆mysql

执行命令:mysql -uroot -p

一般来说首次安装mysql是没有密码的,所以直接回车即可(如果登不进去,提示一定需要 密码也别着急看我下面的操作);

注:我在此处遇到了一个坑,怎么都登不进去,提示要输入密码,回车也不行,所以我做了一个操作 跳过密码登陆

2019072722023115.png

执行命令:

  1. mysqld_safe --user=root --skip-grant-tables --skip-networking & (绕过密码登录,mysql未启动前设置)

然后正常执行如下命令,修改密码;

  1. service mysql start //启动mysql
  2. mysql -u root -p //登录
  3. use mysql //切换数据库
  4. UPDATE user SET password=password("123456") WHERE user='root'; //修改密码
  5. quit //退出

(5)赋予任何主机访问数据库的权限(远程访问)

  1. grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
  2. flush privileges;//刷新权限
  3. quit //退出
  4. mysql service mysql restart //重启mysql

(6)设置防火墙开放3306端口(不然无法远程访问,通过工具连接)

  1. 查看firewall状态(runing:运行,not runing:没有运行),如果没有运行,用systemctl start firewalld启动
  2. firewall-cmd --state
  3. firewall-cmd --permanent --zone=public --add-port=3306/tcp //添加3306端口
  4. firewall-cmd --reload //重新加载firewall

执行完上述操作后千万不要以为就完了,这个时候你们通过客户端工具navcat去连接可能会报错

10038错误,显示2003 can’t connect to MySQL server on ‘localhost’(10038).

20190727220417341.png

别急一般来说这个错误一般就是如下几个原因:

1.限制了远程登陆,即没有授权(我们在上一步已经操作了赋予任何主机访问数据库的权限)

2.查看3306端口是否开放(我们也操作了设置防火墙开放3306端口)

3.在阿里云控制台的防火墙规则里添加端口

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3p3eDE5OTIxMjE1_size_16_color_FFFFFF_t_70

很明显我们缺少的就是这一步,没有添加防火墙规则。

最后再用工具连接就OK了。

3.部署springboot服务

进入/home目录创建任意文件夹用来存放项目jar (mkdir project )

上传项目到project文件夹中,nohup java -Xms512m -Xmx512m -jar xx-0.0.1-SNAPSHOT.jar > xx.log 2>&1 &

然后通过ip或者映射的域名访问即可:192.168.0.2:8080

是不是发现访问不了,哈哈哈,其实还没完,登陆服务器控制台继续添加端口规则,将你设置的端口(我这里是8080端口)添加到规则中后就可以了。

发表评论

表情:
评论列表 (有 0 条评论,581人围观)

还没有评论,来说两句吧...

相关阅读