1. 程式人生 > >SpringBoot專案打包釋出Linux環境

SpringBoot專案打包釋出Linux環境

環境

Linux機器環境:CentOS 7.4 64位 + JDK8 + MySql5.6.41 + Nginx-1.1.10

框架:Spring Boot v2.0.4.RELEASE, Spring v5.0.8.RELEASE

安裝JDK

yum install java-1.8.0-openjdk* -y

執行這條命令後若無報錯,則jdk就下載並安裝完成,到這裡一般沒什麼問題。

安裝Mysql

這裡選擇的是mysql5.6.41,可以在這裡自己選擇對應版本mysql,另外我這裡把軟體都安裝在/usr/app目錄下,方便管理。

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server

安裝過程中會讓你確認兩次,輸入‘y’就好,如下圖
這裡寫圖片描述

重啟Mysql服務

service mysqld restart

進入Mysql

mysql -u root

修改Mysql密碼

這裡修改為root

set password for 'root'@'localhost' =password('root');

到這裡Mysql就安裝完成了,但是不能遠端連線資料庫的,下面設定mysql資料庫遠端連線許可權

設定mysql資料庫遠端連線許可權

grant all privileges on *.* to [email protected]'%'identified by 'root';

安裝Nginx

安裝C++環境

yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++

安裝Nginx依賴pcre庫

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz 
tar -zxvf pcre-8.39
.tar.gz cd pcre-8.39 ./configure make & make install

安裝Nginx依賴zlib庫

wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make & make install

安裝openssl

cd ..
wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
tar -zxvf openssl-1.0.1t.tar.gz

安裝nginx

wget http://nginx.org/download/nginx-1.1.10.tar.gz
tar -zxvf nginx-1.1.10.tar.gz
cd nginx-1.1.10
./configure
make & make install

配置nginx

在/usr/local/nginx/conf/nginx.conf檔案中增加應用的反向代理配置,server_name 配置你要代理的域名,proxy_pass 配置本地應用訪問地址

    server {
        listen        80;
        server_name   www.yizhuxiaozhan.club;
        index index.jsp index.html index.html index.shtml;
        location / {
                proxy_pass http://localhost:8081;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
        }

nginx 相關命令:

啟動nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

查詢nginx PID

ps -ef|grep nginx

nginx服務完當前任務停止服務

kill -QUIT 23205

打包釋出

首先,將原生代碼打包成jar,然後將jar上傳至伺服器,最後用指令碼啟動

IDEA打包配置

這裡寫圖片描述

上傳打包完成的jar

rz -y

若報錯-bash: rz: command not found,則需要安裝rz命令,安裝好之後則可正常使用rz系列命令了

yum -y install lrzsz

在彈出視窗中選擇打包好的jar包應用
這裡寫圖片描述

重啟應用指令碼

#!/bin/sh
RESOURCE_NAME=my-blog-*.jar

tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi

tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'App is running.'
else
    echo 'App is NOT running.'
fi

rm -f tpid
nohup java -jar ./$RESOURCE_NAME >/dev/null 2>&1 &
echo $! > tpid
echo Start Success!

執行指令碼的時候執行的時候如果報錯,應該是檔案格式轉換的問題

bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory

yum -y install dos2unix
dos2unix start.sh

重啟服務

注意:第一次執行的時候獲取一下超級管理員許可權

chmod +x start.sh
./start.sh

相關推薦

SpringBoot專案打包釋出Linux環境

環境 Linux機器環境:CentOS 7.4 64位 + JDK8 + MySql5.6.41 + Nginx-1.1.10 框架:Spring Boot v2.0.4.RELEASE, Spring v5.0.8.RELEASE 安裝JDK yu

SpringBoot專案打包釋出到外部tomcat時,出現各種異常的解決fang

先說遇到問題的情景: 初次嘗試使用spring boot框架寫了個小web專案,在Intellij IDEA中能正常啟動執行。使用maven 執行install,生成war包,釋出到本機的tomcat下,出現異常,主要的異常資訊是  …LifeCycleExce

springboot系列三、SpringBoot 單元測試、配置訪問配置、專案打包釋出

一、單元測試 生成的demo裡面包含spring-boot-starter-test :測試模組,包括JUnit、Hamcrest、Mockito,沒有的手動加上。 <dependency> <groupId>org.springframework.boo

springboot專案打包jar釋出專案,不能傳送freemarker模板郵件

問題:     springboot專案使用JavaMailSender在開發工具啟動專案可以正常傳送郵件,包括模板郵件,     但是打包jar部署專案就不可以傳送模板郵件。 出現問題程式碼:(只是不可以打包jar部署專案傳送模板郵件,其

小紀--maven專案打包釋出linux

0.專案結構 ddoe-server-all是將前面的專案都整合在一起,並提供配置檔案server.xml以及主啟動類啟動專案。 1.maven打包 採用maven-assembly自定義包結構。詳見之前的blog: 依賴的專案需要先打包

使用Maven將SpringBoot專案打包成jar,在linux伺服器下部署

  不得不說,SpringBoot現在是非常的火,主要是非常的方便,不用像之前搭建SSM時候那麼複雜,少了很多配置,今天呢,就寫一篇,利用Maven打包SpringBoot jar包的步驟,然後放到linux上面去跑,在這裡我使用的是idea.  第一步:在側邊欄開啟Mave

springboot專案打包部署到Linux伺服器步驟

一、打包 1.1 選中要部署的專案 右擊—>Run As —>Maven clean,結果如下: [INFO] Scanning for projects... [INFO] [INFO] Using the builder org

springboot 專案打包部署後設置上傳檔案訪問的絕對路徑

1、設定絕對路徑 application.properties的配置 #靜態資源對外暴露的訪問路徑 file.staticAccessPath=/upload/** #檔案上傳目錄(注意Linux和Windows上的目錄結構不同)

Springboot專案打包成jar執行2種方式

最近公司有個專案需要移植到SpringBoot框架上,專案裡面又有許多第三方jar包,在linux伺服器上最方便的就是用jar的方式來執行SpringBoot專案了,因此我研究了2種打jar包的方式,記錄如下,供大家參考: 1、通過maven外掛,將所有依賴包都打包成一個jar包,然後通過java -jar

新建SpringBoot專案打包WAR報錯Error assembling WAR: webxml attribute is required

報錯資訊: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml    springboot啟動的專案報錯。 解決方案:   &

maven專案打包釋出時跳過測試

1、在執行run as時候加上引數: clean install compile -Dmaven.test.skip=true 2、在pom檔案中新增如下: [html] view plain copy <code class="language-html"> 

SpringBoot專案打包提供給其他專案依賴

1. 剔除不需要的檔案:如Application和ApplicationTests 2. 打包     注意:不能使用springboot自帶打包 <build> <plugins> <plugin>

springboot專案打包部署到Tomcat

首先伺服器配置好tomcat以及環境變數 修改專案pom.xml檔案,加入兩個地方 <dependency>             <groupId>org.springframewor

SpringBoot專案打包使用的Maven外掛

SpringBoot專案打包使用的Maven外掛 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <a

springboot 應用打包釋出到 docker

使用 docker-maven-plugin 外掛,直接將 spring boot 應用一鍵釋出到 docker 容器中。 2.配置 Docker Remote API ,docker-maven-plugin 外掛是使用這個進行遠端提交映象的,所以要開放docker的

springboot 專案 打包 部署到遠端tomcat伺服器

關於springboot 專案打包部署到遠端伺服器中卡了我好幾天,找了好多文章,試過之後都有缺陷,特此成功之後與大家分享 一、首先修改pom.xml檔案 <packaging>war</packaging> <dependencies>

Python專案打包釋出方法

        目前python打包工具有多個,目前比較好用的為pyinstaller,該工具可以支援在window和linux下使用。       在windows下,大小為幾十K的原始檔打包成exe檔案,可能為幾十

如何將IDEA的Springboot專案打包到伺服器進行後臺執行

希望可以幫到剛剛用到伺服器的初學者,對於踩坑走彎路我覺得還是去踩一些有價值的坑走一些技術含量的彎路會比較好,所以沒必要浪費太多的時間在配置和環境搭建上。以上是我對自身實際的一些觀點。Springboot的部署伺服器主要的幾個步驟就是:1.打包專案--->2.部署到伺服器

SpringBoot專案打包

前言 作為剛剛進入職場的新手,第一次寫這種技術類文章,Mark一下。 SpringBoot打包 編輯環境:IDEA + MAVEN 打成jar包 1、進入命令列,可用快捷鍵(ALT+F12)撥出命令列選單。 2、mvn package

SpringBoot專案打包蘿蔔與坑

一、SpringBoot專案,打成預設的Jar包 應用背景: 該場景較為常見,沒有特殊需求時,都可以採用這種打包方式 操作步驟: SpringBoot專案打成預設的Jar包是最簡單的一種打包方式,預設情況下,我們幾乎不需要增加任何額外的配置,只要我們執行相關的