在云服务器上部署本身的SpringBoot项目

在云服务器上部署本身的SpringBoot项目


       由于正在开发一个我的的微信小程序项目,因此开始学习如何部署SpringBoot服务器,以前彻底没有接触过部署服务器相关,只能从0开始摸索,网上各类文章杂乱得很,并且大多都语焉不详,彻底跟不上做者的脑回路,因此摸索得很是痛苦!
       所幸最后成功了,记录一下完整的步骤,造福后来的跟我同样的小白们。html

部署步骤java

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

云服务器的购买和配置

1. 云服务器的选择

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

2. 操做系统的选择

       因为咱们是从 0 配置,选择 CentOS 7.4 64位纯净系统就能够了,不须要安装其余镜像。
       链接到实例以后,先关闭防火墙和它的自启动服务
       systemctl stop firewalld.service
       systemctl disable firewalld.servicelinux

安装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/profilegit

进入vi后,按 i 能够进行输入,编辑完之后按 Esc ,而后输入 :wq 便可保存并退出github

       在文件结尾插入如下代码:web

#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来确认是否配置成功spring

安装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 处位置的内容按照下面修改sql

注意这个文件默认状况下有很是多的注释,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 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_171@' /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 ,不用管它,此时已经能够远程访问了

服务器的代码更新

       待续

相关文章
相关标签/搜索