阿里云部署SSM项目与SpringBoot项目超详细步骤(含JDK、Tomcat、MySQL、Redis、Nginx等)

日常记录:
1、在阿里云服务器上搭建程序执行环境,并在服务器上发布运行项目,遇到问题及解决措施。
2、从零开始部署项目,超详细步骤,干货满满,一步到位!
3、不过因为是整理回忆之前的笔记,难免有疏漏,但应该不会有哈哈哈。
ps:如有问题,还请大佬指点一二。

文章目录


前言

默认已经购买了阿里云服务器,学生认证有很大优惠。


一、执行环境介绍

所有安装包云盘如下:
链接:https://pan.baidu.com/s/1VzWFmxMrFbPru0PxKurFXg
提取码:agrt

1、阿里云服务器:CentOS 7.3

2、JDK 1.8

3、Tomcat 8.5

4、MySQL 5.7

5、Redis 4.0.2

6、Nginx 1.9

(1)将上面的软件都下载到本地,并上传到服务器。我是WIN故选择使用Xshell7进入服务器终端,并利用Xftp7可视化工具上传等操作(建议还是多练习Linux指令);

(2)提示:在服务器上部署了数据库之后,我这里是需要往数据库里面去补充数据,因为线上数据访问的是线上的数据库而非本地的数据库。

在这里插入图片描述

(3)图片等资源也需要上传到服务器并通过配置 server.xml 确保能读取到这些图片(前提是对应的配置上的路径已经在服务器上创建)。

mkdir -p /xx/xx  -p递归创建出来文件夹
<Context path="/xx" docBase="/home/xx"/>

在这里插入图片描述


二、服务器安装JDK与Tomcat

首先上传安装包至root:
在这里插入图片描述

2.1、JDK1.8安装

 官方下载地址为:

> http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
> 选择的是jdk-8u271-linux-x64.rpm
java程序需要运行在JRE里边,因此需要安装JDK,在软件路径里执行
1、添加可执行权限(tab键自动补齐名称):
chmod +x jdk-8u271-linux-x64.rpm
2、安装RPM软件包:
rpm -ivh jdk-8u271-linux-x64.rpm
3、查看java的版本信息,若出现版本信息则成功
java –version

2.2、Tomcat安装

这里选择apache-tomcat-8.5.60.tar.gz

1、 解压tomcat压缩包:

tar -zxvf apache-tomcat-8.0.46.tar.gz 	

2、启动tomcat:

./apache-tomcat-8.0.46/bin/startup.sh

3、查看Tomcat是否运行:

ps -ef | grep tomcat

三、服务器安装MySQL

提示:在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

(注意:必须切换到root用户下才可以用yum安装软件)

3.1、下载并安装MySQL官方的 Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

或者:

wget  http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

3.2、直接yum安装

使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

yum -y install mysql57-community-release-el7-10.noarch.rpm

或者:

rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

3.3、安装MySQL服务器

yum -y install mysql-community-server
yum -y install mysql mysql-server mysql-devel

安装完成后:
在这里插入图片描述

3.4、MySQL数据库设置

3.4.1 首先启动MySQL

systemctl start  mysqld.service

3.4.2 查看MySQL的运行状态

systemctl status  mysqld.service

运行状态如下图:
在这里插入图片描述

或者输入:ps -ef |grep mysqld

在这里插入图片描述

3.4.3 找出此时root用户的临时密码(mysql为用户随机生成的密码)

此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的临时密码(mysql为用户随机生成的密码),通过如下命令可以在日志文件中找出密码:

grep "password" /var/log/mysqld.log

在这里插入图片描述

3.4.4 进入数据库

 mysql -uroot -p

3.4.5 MySQL全局修改

输入初始密码之后,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库
此外MySQL的密码规则需要很复杂(各种要求),我们一般自己设置的密码不会设置成这样,所以全局修改一下:

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

3.4.6 设置密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

3.5、授权其他机器远程登陆,开启远程连接

3.5.1 开启防火墙添加端口

在阿里云服务器防火墙中选择添加规则来开放3306端口。
进入到规则配置页面之后,可以看到初始只有22端口和443端口支持远程访问。
还需要额外开通自己需要的端口:
如80端口(这个是我项目中使用到微信公众号时用),3306端口(mysql)以及6379端口(redis)等。
在这里插入图片描述

3.5.2 配置支持远程登录的帐号

//1、登录数据库
mysql -u root -p
use mysql;

//2、创建root帐号并授权,同时设置密码
flush privileges;//生效配置,一定要有这一步!

//2.1、开启远程操作数据库的所有权限:
GRANT ALL PRIVILEGES ON *.* TO '名称'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;//2.2、或者也可以自己设置给予哪些权限
grant SELECT,UPDATE,INSERT,DELETE on . to ‘名称’@’%’ identified by ‘密码‘;

//3之后便能本地通过调用mysql指令远程登录阿里云服务器上的mysql server中

//本机远程登录mysql指令
mysql -uroot -P3306 -IP地址 –p 

3.6、设置开机自动启动

先退出mysql命令行,然后输入以下命令:

systemctl enable mysqld
systemctl daemon-reload

3.7、设置MySQL

1、设置Mysql的字符集为UTF-8,令其支持中文,进入如下文件(当然为了方便的话可以直接在Xftp中打开)
vim /etc/my.cnf
2、在my.cnf中改成如下,然后保存:
[mysql]
default-character-set=utf8
 
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-storage-engine=INNODB

character_set_server=utf8
 
symbolic-links=0
 
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
3、然后重启MySQL,令配置生效。

3.8、防火墙开放3306端口

firewall-cmd --state
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

3.9、卸载MySQL仓库

一开始的时安装的yum,每次yum操作都会更新一次,耗费时间,卸载掉.
指令如下:
rpm -qa | grep mysql
yum -y remove mysql57-community-release-el7-10.noarch

3.10、数据库一些操作指令

查看mysql是否启动:service mysqld status

启动mysql:service mysqld start

停止mysql:service mysqld stop

重启mysql:service mysqld restart

查看临时密码:grep password /var/log/mysqld.log

四、服务器安装Redis

redis安装十分简单

4.1、解压Redis安装包

同样在/root下:

tar -zxvf redis-4.0.2.tar.gz

4.2、设置Redis以支持远程登录

进入配置文件:

vim redis-4.0.2/redis.conf

注意:将bind 127.0.0.1这句话用井号注释掉,这样就能支持远程连接了。
在这里插入图片描述

4.3、配置Redis作为守护进程

此外,还需要给redis.conf添加配置以支持redis作为守护进程一直在后台运行

需要加入『daemonize yes』

在这里插入图片描述

4.4、安装Redis

去到解压后的目录里之后,执行以下命令:
cd redis-4.0.2
//安装redis
make 
//启动redis服务
src/redis-server redis.conf

4.5、Redis连接测试

通过redis-cli连接到redis服务器
src/redis-cli
当输入ping 得到pong的回应之后,证明redis配置已经完成
在这里插入图片描述
另外CentOS7安装Redis4有一篇很详细的博客:
https://www.cnblogs.com/jepson6669/p/9092634.html

五、服务器安装Nginx与Nginx配置

5.1、安装所需插件

5.1.1 安装gcc

gcc是linux下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C++,Ada,Object,C和Java等语言。一般阿里云的centOS7里面是都有的,这里先确认一下服务器中有没有,没有安装的话会提示命令找不到。

安装命令:
yum -y install gcc
查看gcc版本命令: 
gcc -v

在这里插入图片描述

5.1.2 安装pcre、pcre-devel

pcre是一个perl库,包括perl兼容的正则表达式库
nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库.

安装命令:
yum install -y pcre pcre-devel

在这里插入图片描述

5.1.3 安装zlib

zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装.

安装命令:
yum install -y zlib zlib-devel

5.1.4 安装openssl

openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔

安装命令:
yum install -y openssl openssl-devel

5.2、安装Nginx

5.2.1 下载Nginx的安装包

(1)使用weget命令下载(推荐):
wget http://nginx.org/download/nginx-1.9.9.tar.gz
(2)自行下载后上传至服务器:

直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html

5.2.2 解压压缩包

把压缩包解压到 usr/local/java

tar -zxvf  nginx-1.9.9.tar.gz

5.2.3 切换至解压目录

切换至cd /usr/local/java/nginx-1.9.9/,执行下面三个命令:
./configure

make

make install

5.2.4 切换到安装目录

切换到 /usr/local/nginx 安装目录	

在这里插入图片描述

5.2.5 配置Nginx

配置nginx的配置文件nginx.conf文件,主要也就是端口
此处我是举个例子,例如用到微信时的端口规定为80。

在这里插入图片描述

注意: 按照自己服务器的端口具体需求来进行配置!

5.2.6 启动Nginx服务

切换目录到 sbin 下面
在这里插入图片描述

5.2.7 Nginx命令

注意:是在sbin目录下执行

启动
[root@centos7 sbin]# ./nginx
停止
[root@centos7 sbin]# ./nginx -s stop
重启
[root@centos7 sbin]# ./nginx -s reload

5.2.8 查看Nginx服务是否启动成功

ps -ef | grep nginx

在这里插入图片描述

访问服务器ip(地址栏直接输入即可),如下图所示时即安装成功同时配置生效。
在这里插入图片描述

六、SSM项目打包与部署

6.1、项目打包(war包)

在确认项目能在本地完美运行之后再打包上传至服务器。具体SSM项目打包步骤如下图所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

承接上步,这里注意一下,要删掉打包之后的包名多余名称,修改为自己最终想要的名称。之后 点击:apply——>ok

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

至此,在本地IDEA打包结束,利用Xftp将war包上传至tomcat安装目录下的webapps下,稍等便会自动解析出对应项目名的文件夹:

在这里插入图片描述

6.2、项目运行

注意以下几点即可:
1、确保Tomcat启动成功、数据库访问正常等其他所用到的执行环境均已启动;
2、检查防火墙、端口号等;
3、检查Linux服务器上的资源路径是否存在、资源是否上传成功;
4、很多软件有时会启动很慢如Tomcat会很慢,无法连接访问到项目时,或许可以耐心等待一会儿。

七、SpringBoot项目打包与部署

相信了解SpringBoot的小伙伴都知道它的“快捷”了,这里放几张图即可:

7.1、项目打包(war包)

注意:
打包项目时,jar包是默认不打包html页面的,简单做法打包为war包;打包为jar包时可以参考其他博客,也很简单。

在这里插入图片描述

7.2、项目部署

提前在服务器上创建自己存放项目的位置:如/root/springbootWebapps,随后直接上传至此。

运行项目时:要停止已经开启的Tomcat,否则8080端口占用(因为SpringBoot内置了Tomcat…)。

另外可以先kill掉正在运行的java进程,确保服务器上没有在跑java进程。

kill进程指令:kill -9 java
运行项目指令:java -jar xx.war

成功运行项目之后,然后耐心等待…再访问项目。

7.3、设置守护进程

项目虽然成功能运行,但如果一旦终端和服务器是去连接就gg了;如何让程序持续的运行下去,在项目存放目录下编写一个脚本即可:

vim startup.sh

具体步骤如下图片所示:

在这里插入图片描述

在startup.sh中进行编辑:
在这里插入图片描述

启动守护进程:
在这里插入图片描述

查看是否成功运行:
在这里插入图片描述
如果要终止项目运行,直接kill掉即可。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值