在雲服務器上部署本身的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 ,不用管它,此時已經能夠遠程訪問了

服務器的代碼更新

       待續

相關文章
相關標籤/搜索