阿里云CentOS7安装JDK8+MySQL5.7+Redis5+Nginx+部署SpringBoot项目

600 阅读7分钟

1.我的服务器配置


2.准备工作

①下载压缩包

②下载 Xftp6

Xftp6 是一款功能强大,主要用于 SFTP、FTP 文件传输的软件,能够帮助用户安全地在 UNIX/Linux 和 Windows PC 之间传输文件。
我们需要使用此软件,将压缩包上传至阿里云服务器。

  • 请自行搜索安装包,下载并安装。

③添加安全组规则

服务器的安全组默认未设置任何自定义放行规则,这将会导致无法访问实例端口,若需访问需要添加安全组规则放行对应的端口。

  • 我们需要放行常用的端口号:8080、3306、22、6379、80等。
  • 添加安全组规则:

④上传压缩包至服务器

  • 打开 Xftp6 工具,点击 文件 —— 新建
  • 按下图填写信息并连接服务器。

  • 然后在 /usr/local/ 目录下新建 javaweb 文件夹,将压缩包上传到此文件夹中。

⑤设置防火墙

防火墙是系统的第一道防线,其作用是防止非法用户的进入。
服务器的防火墙默认未设置任何自定义放行规则,这将会导致无法访问实例端口,若需访问需要防火墙放行对应的端口。
注意:CentOS7 默认使用 firewalld 作为防火墙。
firewalld 默认是关闭 http 服务的。

firewall-cmd --state # 查看防火墙状态
systemctl start firewalld.service # 开启防火墙
systemctl stop firewalld.service # 关闭防火墙
systemctl enable firewalld.service # 打开防火墙的开机自启
systemctl disable firewalld.service # 关闭防火墙的开机自启
firewall-cmd --permanent --zone=public --add-port=8080/tcp # 让防火墙永久开放8080端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp # 让防火墙永久开放3306端口
firewall-cmd --permanent --zone=public --add-port=22/tcp # 让防火墙永久开放22端口
firewall-cmd --permanent --zone=public --add-port=6379/tcp # 让防火墙永久开放6379端口
firewall-cmd --permanent --zone=public --add-port=80/tcp # 让防火墙永久开放80端口
firewall-cmd --reload # 加载配置 使得修改有效
firewall-cmd --permanent --zone=public --list-ports # 查看开放的端口号
firewall-cmd --permanent --zone=public --add-service=http # 让防火墙永久打开http服务
firewall-cmd --reload # 加载配置 使得修改有效
firewall-cmd --permanent --zone=public --list-service # 查看开放的服务


3.安装 JDK8

注意:若服务器版本是 CentOS7 系列,尽量不要安装系统自带的 openJDK (会有坑)!

①解压安装包

cd /usr/local/javaweb # 进入该目录
tar -zxvf jdk-8u201-linux-x64.tar.gz # 解压压缩包
mv jdk1.8.0_201 jdk8 # 重命名文件夹

②配置环境

  • 使用 vim 命令打开文件。
vim /etc/profile # 配置环境变量
  • 然后按 i 进入编辑模式,插入以下文字。
export JAVA_HOME=/usr/local/javaweb/jdk8 # jdk所在位置的绝对路径
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
  • 最后按 Esc 并输入 :wq 回车退出。
source /etc/profile # 使脚本文件生效

③验证配置

javac
java -version

  • 如果出现上图内容,说明配置成功。

4.安装 MySQL5.7

①下载和安装

rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm # 下载安装包
yum install -y mysql-server # 安装MySQL
systemctl enable mysqld.service # 设置开机自启动MySQL
systemctl start mysqld.service # 启动MySQL
grep 'temporary password' /var/log/mysqld.log # 查看MySQL默认密码

②登录 MySQL

mysql -uroot -p # 登录MySQL 然后输入默认密码(系统自动生成)
SET PASSWORD = PASSWORD('Zxcvbnm10!_'); # 修改默认密码 新密码必须包含大小写字母、数字、下划线和感叹号
eixt # 退出MySQL 用新密码重新登录

ps:如果觉得新密码太复杂,可以修改以下两个字段来降低默认的密码安全级别。

set global validate_password_policy=0; 设置密码安全级别为LOW
set global validate_password_length=6; 设置密码最短长度为6

ps:在项目正式上线后,最好不用使用过于简单的密码,否则服务器很可能被攻击。

③远程连接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION; # 开启root用户的远程访问权限
flush privileges; # 使命令执行生效

  • 使用 Navicat 远程访问数据库。

  • 连接后可以通过 Navicat 管理远程数据库。


5.安装 Redis5

①解压安装包

cd /usr/local/javaweb # 进入该目录
tar -zxvf redis-5.0.4.tar.gz # 解压压缩包
mv redis-5.0.4 redis5 # 重命名文件夹

②配置环境

cd /usr/local/javaweb/redis5 # 进入解压后的目录
make # 编译
mkdir -p /usr/local/javaweb/redis # 新创建目录存储redis
cp /usr/local/javaweb/redis5/src/redis-server /usr/local/javaweb/redis/ # 复制redis-server到新目录
cp /usr/local/javaweb/redis5/src/redis-cli /usr/local/javaweb/redis/ # 复制redis-cli到新目录
cp /usr/local/javaweb/redis5/redis.conf /usr/local/javaweb/redis/ # 复制redis.conf到新目录
cd /usr/local/javaweb/redis/ # 进入新目录
  • 使用 vim 命令打开文件。
vim /usr/local/javaweb/redis/redis.conf # 编辑配置文件
  • 然后按 i 进入编辑模式,编辑以下字段。
bind 127.0.0.1 ——> # bind 127.0.0.1 # 将此行注释掉
protected-mode yes ——> protected-mode no
daemonize no ——> daemonize yes
# requirepass foobared ——> requirepass 123456 # 设置密码为123456
  • 最后按 Esc 并输入 :wq 回车退出。
  • 使用 vim 命令打开文件。
vim /etc/init.d/redis #编辑redis开机启动脚本
  • 然后按 i 进入编辑模式,插入以下文字。
#!/bin/sh
 # chkconfig: 2345 80 90
 # description: Start and Stop redis
 #PATH=/usr/local/bin:/sbin:/usr/bin:/bin
 REDISPORT=6379
 EXEC=/usr/local/javaweb/redis/redis-server 
 REDIS_CLI=/usr/local/javaweb/redis/redis-cli 
 PIDFILE=/var/run/redis_6379.pid
 CONF="/usr/local/javaweb/redis/redis.conf" 
 AUTH="123456"
case "$1" in
 start)
 if [ -f $PIDFILE ]
 then
 echo "$PIDFILE exists, process is already running or crashed"
 else
 echo "Starting Redis server..."
 $EXEC $CONF
 fi
 if [ "$?"="0" ] 
 then 
 echo "Redis is running..."
 fi 
 ;;
 stop)
 if [ ! -f $PIDFILE ]
 then
 echo "$PIDFILE does not exist, process is not running"
 else
 PID=$(cat $PIDFILE)
 echo "Stopping ..."
 $REDIS_CLI -p $REDISPORT SHUTDOWN
 while [ -x ${PIDFILE} ]
 do
 echo "Waiting for Redis to shutdown ..."
 sleep 1
 done
 echo "Redis stopped"
 fi
 ;;
 restart|force-reload)
 ${0} stop
 ${0} start
 ;;
 *)
 echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
 exit 1
esac
  • 最后按 Esc 并输入 :wq 回车退出。
  • 使用 vim 命令打开文件。
vim /etc/rc.local # 添加开机启动服务
  • 然后按 i 进入编辑模式,插入以下文字。
service redis start
  • 最后按 Esc 并输入 :wq 回车退出。

③登录 redis

chmod 755 /etc/init.d/redis # 设置权限
chkconfig --add redis # 注册系统服务
service redis start # 启动redis服务
ps -ef|grep redis # 查看当前状态
ln -s /usr/local/javaweb/redis/redis-cli /usr/bin/redis # 创建redis命令软连接
cd /
redis # 进入redis
auth 123456 # 密码验证
set name wiy # 增加用户
get name

④验证配置

  • 如果上图命令没有报错,说明配置成功。

⑤远程连接

  • 使用 Redis Desktop Manager 远程访问数据库。

  • 连接后可以通过 Redis Desktop Manager 管理远程数据库。

⑥参考博客


6.安装 Nginx

Nginx 是一个高性能的 HTTP 和反向代理服务器。

①下载和安装

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm # 将nginx添加到yum源的repo中
yum repolist # 查看yum源的repo
yum install nginx # yum源安装nginx

②启动

systemctl enable nginx # 设置开机启动
systemctl start nginx # 启动nginx
systemctl reload nginx # 重新加载nginx
systemctl status nginx # 查看nginx启动状态

③验证配置

  • 访问 公网ip:80

  • 如果出现上图内容,说明配置成功。

④安装后的目录结构

查看刚安装的所有目录:rpm -ql nginx
启动nginx:/usr/sbin/nginx
主配置文件:/etc/nginx/nginx.conf    
首页的html网页所在路径:/usr/share/nginx/html
缓存目录:/var/cache/nginx/fastcgi_temp
代理目录:/var/cache/nginx/proxy_temp
...


7.部署 Springboot 项目

①打包项目

本地命令行中: 
cd 项目根目录 # 进入该目录
mvn package # 将项目打包

②上传 jar 包

  • 使用 Xftp6 工具上传 jar 包至服务器。

③运行 jar 包

  • 方式一:在当前窗口运行 jar 包。
cd /usr/local/javaweb/springboot # 进入该目录
java -jar luckymoney-0.0.1-SNAPSHOT.jar # 运行此jar包

  • 方式二:使 jar 包一直处于后台执行。
cd /usr/local/javaweb/springboot # 进入该目录
nohup java -jar luckymoney-0.0.1-SNAPSHOT.jar & # 运行此jar包
cat nohup.out # 此文件存放控制台的实时输出内容

④验证配置

  • 如上图内容,说明我们成功地访问了这个 springboot 项目,间接说明了配置的正确性!
  • Ctrl + v:停止运行项目。

附录