在雲服務器上部署自己的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 '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 ,不用管它,此時已經可以遠程訪問了

服務器的代碼更新

       待續


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM