在云服务器上部署自己的SpringBoot项目

在云服务器上部署自己的SpringBoot项目



因为正在开发一个个人的微信小程序项目,所以开始学习如何部署SpringBoot服务器,之前完全没有接触过部署服务器相关,只能从0开始摸索,网上各种文章杂乱得很,而且大多都语焉不详,完全跟不上作者的脑回路,所以摸索得非常痛苦!

所幸最后成功了,记录一下完整的步骤,造福后来的跟我一样的小白们。

部署步骤

  • 云服务器的购买和配置
  • 安装JDK
  • 安装Tomcat
  • 安装svn
  • 安装Maven
  • 打包SpringBoot项目
  • 设置安全组
  • 安装MySQL
  • 服务器的代码更新

云服务器的购买和配置

1. 云服务器的选择

我选择的是阿里云服务器(产品选择为弹性计算 > 云服务器ECS),新注册用户有1个月的免费试用最低套餐的优惠,足够用来做部署实验。

2. 操作系统的选择

由于我们是从 0 配置,选择 CentOS 7.4 64位纯净系统就可以了,不需要安装其他镜像。

连接到实例之后,先关闭防火墙和它的自启动服务

systemctl stop firewalld.service

systemctl disable firewalld.service

安装JDK

我在网上没找到镜像,只能到 oracle 官网下载,需要注意的是这个 url 应该是每个人不一样的,所以最好你自己去获取这个 url ,然后替换到下面的命令里

wget -O jdk-8u171-linux-x64.tar.gz http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz?AuthParam=1528361342_930e23cd80acb666184698646f076dc6

解压

mkdir /usr/java

tar xzf jdk-8u171-linux-x64.tar.gz -C /usr/java

配置环境变量

vi /etc/profile

进入vi后,按 i 可以进行输入,编辑完以后按 Esc ,然后输入 :wq 即可保存并退出

在文件结尾插入以下代码:

#set java environment
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

保存退出后,运行以下命令以使更改生效

source /etc/profile

此时可以运行java -version来确认是否配置成功

安装Tomcat

下载 Tomcat

wget https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz

解压

tar xzf apache-tomcat-8.5.31.tar.gz

mv apache-tomcat-8.5.31 /usr/local/tomcat/

编辑配置文件

cd /usr/local/tomcat/conf/

vi server.xml

将文件相应 2 处位置的内容按照下面修改

注意这个文件默认情况下有非常多的注释,vi如果没有高亮很容易改到注释里,我就改错过orz

  • Connector port="80" 处原本为 Connector port="8080"
  • 其中 Host name="xx.xx.xx.xx" 处替换成你的云服务器的外网ip或域名
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               address="0.0.0.0" />

<Host name="xx.xx.xx.xx"  appBase="/home/project/webapps"
            unpackWARs="true" autoDeploy="true">

创建项目及部署目录

mkdir /home/project

mkdir /home/project/webapps

设置 JVM 内存参数

vi /usr/local/tomcat/bin/setenv.sh

 JAVA_OPTS=’-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8’

设置 Tomcat 自启动脚本

wget https://github.com/lj2007331/oneinstack/raw/master/init.d/Tomcat-init

mv Tomcat-init /etc/init.d/tomcat

chmod +x /etc/init.d/tomcat

sed -i ‘[email protected]^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/[email protected]‘ /etc/init.d/tomcat

chkconfig --add tomcat

chkconfig tomcat on

service tomcat start

依次运行完以上命令以后,应该就可以看到 Tomcat 启动的信息了

以上设置我是在 阿里云帮助文档 学到的,但是有不同,感兴趣的同学可以点开原文查看详情

安装svn

下载 svn 并安装

yum -y install subversion

可以检查 svn 是否安装成功

svnserve --version

移动到之前创建的项目目录下

cd /home/project

此时我用 svn 拉取代码时产生了 error ,百度告诉我要再安装一个认证服务

sudo yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-ldap

现在可以拉取代码了

***处替换为你的代码库地址

svn checkout svn://***

安装Maven

下载、安装、解压

wget https://mirrors.aliyun.com/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz

mkdir /usr/local/maven

tar -zxvf apache-maven-3.5.3-bin.tar.gz -C /usr/local/maven/

同 JDK,配置环境变量

vim /etc/profile

export M2_HOME=/usr/local/maven/apache-maven-3.5.3
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$M2_HOME/bin:$PATH

使新的环境变量生效

source /etc/profile

打包SpringBoot项目

进入项目目录

cd /home/project/***

使用 Maven 打包可执行文件

mvn clean package

将可执行 war 移动到部署文件夹中并命名为 ROOT.war

这是为了使访问项目时可以直接使用 域名 或者 ip:端口 ,如果不用 ROOT 作为名字,就必须用 域名/项目名 或者 ip:端口/项目名 来访问

cd target

mv nrserver-0.0.1-SNAPSHOT.war /home/project/webapps/ROOT.war

重启 Tomcat

service tomcat restart

设置安全组

虽然已经部署好服务器,但是目前还并不能访问,这是因为阿里云为了服务器的安全,默认禁止了几乎所有TCP端口访问,我们需要在 控制台 > 云服务器ECS > 安全组 > 网络和安全 中放行需要的几个端口,包括:TCP:80/80(HTTP)、TCP:3306/3306(MySQL)、TCP:3690/3690(svn)

此时在浏览器中访问云服务器的公网ip,如一切顺利且你的SpringBoot中添加了index.html,就可以看到网页打开成功了!

安装MySQL

下载、安装

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

yum -y install mysql-community-server

启动MySQL服务

systemctl enable mysqld

systemctl start mysqld

配置MySQL,考验你的英语能力的时候到了,这里除了设置root用户名和密码以外,还有一个很重要的设置就是问你是否要禁止远程访问,如果你要远程连接这个数据库的话,一定要选

mysql_secure_installation

如果你要远程连接数据库的话,那就要依次运行以下命令

mysql -u root -p

use mysql;

update user set host = ‘%‘ where user = ‘root‘;

FLUSH PRIVILEGES;

第三句运行后会显示 error ,不用管它,此时已经可以远程访问了

服务器的代码更新

待续

原文地址:https://www.cnblogs.com/cncul/p/9156490.html

时间: 2024-10-05 23:26:45

在云服务器上部署自己的SpringBoot项目的相关文章

PHP--腾讯云服务器上部署LNMP环境

本文参考 云服务器上部署Laravel的实例教程 腾讯云 创建 Laravel5.4 项目 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的 前言 最近在学Laravel,同参考文章,本来只是在虚拟机上运行,但现在正好因为手上有腾讯云的服务器,所以就直接拿来部署Laravel. 首先做下准备工作 sudo apt update 下面不是必要的,但是如果有开着apache2服务器的话,是必须做的 sudo service apac

使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识

一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserver:这是一款适合开发阶段使用的服务器,不能对大量请求进行同时处理,不适合运行在真实的生产环境中,在实际生产环境中使用WSGI作为接口,连接web和python代码(也就是django项目): 2.WSGI:Web服务器网关接口,英文为Python Web Server Gateway Interface,缩写为WSGI,是

记一些云服务器上部署koa2项目遇到的问题

云服务器系统版本centos7.2,部署的项目koa2,node版本: 10.16.0 一.pm2的一些问题 1.安装pm2: npm install -g pm2 2.建立软链接,使pm2能全局使用 ln -s 软件安装的路径 目标路径 例子: ln -s /usr/local/node/bin/pm2 /usr/bin/pm2 3.进入到koa2项目中,使用pm2命令启动项目 pm2 start npm --watch --name koa2-test -- run start --watc

阿里云服务器上部署java项目(安装mysql)

安装mysql步骤如下: 1.安装MySQL官方的yum repository: wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 2.下载rpm包: yum -y install mysql57-community-release-el7-10.noarch.rpm 3.安装MySQL服务,最后会出现个complete yum -y install mysql-community-se

在阿里云服务器上安装redis流程及常见错误

在阿里云服务器上部署redis,首先需要登陆远程登陆自己购买的阿里云服务器,购买及认证的过程就不说了,当时也是一个新手,啥都不懂,也不懂服务器,一步步按照说明才完成的,现在需要在阿里云服务器上安装redis,具体过程如下: 1,找到redis官网https://redis.io/的下载页面 复制链接地址,这里我下载的是最新的稳定版,然后进入服务器,在你想要放文件的目录下,使用wget命令进行下载 wget http://download.redis.io/releases/redis-4.0.9

将web项目部署到阿里云服务器上

将web项目部署到阿里云服务器(ubantu14.0.14)上的一般流程: 1.下载putty.在host name栏输入远程服务器ip地址,端口默认为22.阿里云服务器可以通过控制台查看公网ip地址,点击open进行连接 2.输入用户名和密码后进入dos界面,用apt-get update 命令更新,否则很多东西安装不了 3.安装vsftpd服务,通过命令apt-get vsftpd安装,注意 这里的ftp和之后的Tomcat.MySQL数据库端口在阿里云服务器中是默认关闭的,需要进入阿里云控

在阿里云ECS服务器上部署Java环境实现域名访问

事实证明,善于利用网络搜索是一项非常重要的能力. 在很多时候,借用别人的经验和成果能够帮助我们拓宽思维和眼界,以高效率解决问题. 一味地自己埋头钻研,很可能会局限在角落里,甚至走进死胡同.从来,努力都不是要求自行其是.在绝大多时候,都是用成果来衡量努力的程度的,而善于借用现成的结果可以帮助我们解决问题. 今天找到了一篇很好的文章,讲述了如何在阿里云ECS服务器上部署Java环境实现域名访问. 链接 在之前我已经购买了域名和空间,并配置了映射,导入wordprss建立个人博客网站,实现了在线编辑和

在Ubuntu云服务上部署jenkins

环境准备: jenkins的部署使用的tomcat流,因此需要tomcat的支持,而tomacat则需要java环境的支持 1.安装java环境 2.安装tomcat 3.把jenkins.jar包放到tomcat的webapps下面 java环境的安装不在赘述,主要是配置环境,在这里只说一下我安装过程中碰到的一些奇葩的问题. 问题1:java解压的目录,目录不能随意的乱放,我当时就是自己随便在一个文件下建了一个usr目录来放java,然后最后导致的结果是tomcat启动的时候找不到配置的jav

在腾讯CentOS7.4云服务器上安装Docker并安装MySQL和Tomcat应用

提示:以下是在腾讯CentOS7.4云服务器上操作. Docker的基本操作:https://www.cnblogs.com/opsprobe/p/10963098.html 一.安装Docker # 使用yum命令在线安装 yum install docker # 安装后查看Docker版本 docker -v # 启动与停止Docker systemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合. 启动docker:systemctl start