springboot項目后臺運行關閉_springboot項目在服務器上部署過程(新手教程)

環境:

服務器系統:ubuntu16

jdk

mysql

工具?
xshell6下載地址:https://www.netsarang.com/download/down_form.html?code=622&downloadType=0&licenseType=1
xftp6下載地址:https://www.netsarang.com/download/down_form.html?code=623&downloadType=0&licenseType=1
下載jdk1.8包地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

一 安裝jdk

1 下載jdk包,根據服務器下載相應位數的jdk

官網下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2 在linux服務器下創建目錄:usr/java

?68af946e665789ec537631c61d9dc658.png

3 將jdk的包通過xftp復制到usr/java文件夾下

?bd3337875aa0bce16dbc7b31ca5862c5.png

4 進入usr/java目錄下,執行命令執行 tar zxvf?jdk-8u171-linux-x64.tar.gz??解壓jdk包

?c7abb380a16089bb03ad276224576c39.png

解壓完成在usr/java目錄下會生成文件夾如下:

?97e889dd345fc0b372057fcb9f6cfa3f.png

5 配置環境變量

打開控制臺輸入命令?vi /etc/profile?,會出現profile文檔內容,點擊i進入編輯模式,在文檔最后插入如下代碼:

JAVA_HOME=/usr/java/jdk1.8.0_171

CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export?PATH?JAVA_HOME?CLASSPATH

完成后,按下Esc,再輸入:wq(注意是輸入冒號和wq,意思是退出并保存)

?2da481e0b1ce4faf813e4c357b12cdc5.png

6 運行?source /etc/profile使配置環境生效

7運行java -version,若出現jdk版本號則配置成功

?7fefaac5932a5e94b63730cc994f3959.png

二 安裝mysql

1 更新系統

apt-get?update

2 安裝mysql-server

apt-get?install mysql-serverapt-get isntall mysql-clientapt-get install libmysqlclient-dev

3使用命令查詢是否安裝成功

?dc467673a359c923460333edcfe6384c.png

三 導入數據庫腳本

Mysql數據庫安裝成功后,接著就是進入數據庫創建我們項目所需的數據庫,

1 輸入命令mysql -u root -p,再輸入密碼,可直接回車鍵(按照上述安裝完后似乎沒有設置密碼,本文檔后面會有設置密碼命令),進入數據庫如下

?986a9e31bcbc44f4207b32d78cc2da4b.png

2 創建數據庫,命令為create database 數據庫名(注意:在執行數據庫語句后面記得加;結尾)

?7eacbf6f0b7904e7906d0c1f5d7a4bd7.png

3查看數據庫 show databases;

?ecf2b9cf72903b43d4d798981126081f.png

4 導入數據庫腳本

將項目的sql文件通過xftp復制到系統的目錄下

?4c15309e481842aaa7059b63f7f7a546.png

2連接數據庫,打開所使用的數據庫,命令use 數據庫名

?d14e8fc7c5bb17b01121f9e44d2bc496.png

3 導入腳本文件

?89daab7976dcc88e755352a507bb4875.png

執行成功樣式如下:

?4dddd2577110d978df670f33e7615f42.png

四 ?運行項目

1 將springboot項目打成jar包,通過xftp復制到系統/usr/java目錄下

?c4b0f4e4dff388ef3e8f20ff6b050205.png

2 控制臺進入jar包所在目錄

?ee22370b09ac5128f2b956c925e7574d.png

3 運行jar ,命令java -jar ?jar包名稱

e3fefb060e845e0160ce930f307f9f6e.png

4開啟數據庫服務,service mysql start;

?1fb49f4140ebc8c3076b37c437e54a99.png

五 實用知識點

5.1在ubuntu16安裝mysql,但安裝時沒有提示輸入root用戶密碼

解決方法如下:

1 進入mysql數據庫,use mysql

2 更改密碼

?update?user?set?authentication_string=PASSWORD("這里輸入你要改的密碼")?where?User='root'; #更改密碼

update?user?set?plugin="mysql_native_password"; #如果沒這一行可能也會報一個錯誤,因此需要運行這一行

3 更新所有操作權限

flush privileges;

4 離開

quit;

5.2運行進程查看

查看當前運行進程 ps

查看端口屬于那個進程lsof?-i:80

結束進程?kill?-9?進程id

查看端口使用情況?netstat -tln

查看指定端口netstat -tln | grep 80

5.3 jar包運行

方法一:java -jar jar包名?? (這樣ssh窗口被鎖定,直接關閉窗口,ctrl+c打斷程序運行)

方法二:java -jar jar包名? & ? (&表示在后臺運行,ssh窗口不被鎖定,但窗口關閉程序終止運行)

方法三:nohup java -jar jar包名 &? (關閉窗口,用戶退出登錄程序仍然運行,但執行nohup命令時,缺省情況下輸出作業被重定向到nohup.out文件中,除非指定文件位置)

方法四: nohup java -jar jar包名 & >a.txt

解釋下?>temp.txt

command >out.file

command >out.file是將command的輸出重定向到out.file文件,即輸出內容不打印到屏幕上,而是輸出到out.file文件中。

可通過jobs命令查看后臺運行任務

jobs

那么就會列出所有后臺執行的作業,并且每個作業前面都有個編號。

如果想將某個作業調回前臺控制,只需要 fg + 編號即可。

fg?23

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/542062.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542062.shtml
英文地址,請注明出處:http://en.pswp.cn/news/542062.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何在React Native中使用文本輸入組件?

You know, an app becomes more authentic and professional when there is the interaction between the app and the user. 您知道,當應用程序與用戶之間存在交互時,該應用程序將變得更加真實和專業。 The text input component in react-native brin…

lvs負載均衡—NAT模式

NAT模式原理圖 Virtual Server via NAT : 用地址翻譯實現虛擬服務器,地址轉換器有能被外界訪問到的合法IP地址,它修改來自專有網絡的流出包的地址,外界看起來包是來自地址轉換器本身,當外界包送到轉換器時,它能判斷出應該將包送到內部網的哪個節點。 優點是節省IP …

Django1.9開發博客06- 模板繼承

模板繼承就是網站的多個頁面可以共享同一個頁面布局或者是頁面的某幾個部分的內容。通過這種方式你就需要在每個頁面復制粘貼同樣的代碼了。 如果你想改變頁面某個公共部分,你不需要每個頁面的去修改,只需要修改一個模板就行了,這樣最大化復用…

樂高機器人亮劍_2500名選手大比拼 全球機器人廣州從化“亮劍”

導讀:國際機器人從化總動員學生自己編程、拼裝的機器人既能像相撲手一樣摔跤,又能像蜘蛛俠一樣爬上爬下。還有智能垃圾處理系統,瞄準城市垃圾分類下的“痛點”。在2019RoboRAVE國際教育機器人大會全球總決賽的現場,只有想不到&…

python 編碼問題_Python電源挑戰| 競爭編碼問題

python 編碼問題Question: 題: A power function is that positive number that can be expressed as x^x i.e x raises to the power of x, where x is any positive number. You will be given an integer array A and you need to print if the elements of arr…

lvs負載均衡—高可用集群(keepalived)

基本概念: 什么是Keepalived呢,keepalived觀其名可知,保持存活,在網絡里面就是保持在線了,也就是所謂的高可用或熱備,用來防止單點故障(單點故障是指一旦某一點出現故障就會導致整個系統架構的不可用)的發…

定期定量采購_企業常見的六種采購策略

注冊職業采購經理CPPM考試網?www.apscppm.com對不起,我是采購合同生效的條件是什么?怎樣制定談判方案?如何在采購時讓供應商聽你的指揮!沒做預算不能采購,應該作為企業采購管理的基本原則。編制現金預算就是要解決收入…

stringreader_Java StringReader markSupported()方法與示例

stringreaderStringReader類markSupported()方法 (StringReader Class markSupported() method) markSupported() method is available in java.io package. markSupported()方法在java.io包中可用。 markSupported() method is used to check whether this StringReader strea…

pacemaker+corosync實現集群管理

前言: 高可用集群,是指以減少服務中斷(如因服務器宕機等引起的服務中斷)時間為目的的服務器集群技術。簡單的說,集群就是一組計算機,它們作為一個整體向用戶提供一組網絡資源。這些單個的計算機系統就是集群的節點。 …

分頁導航的實現方法

這個導航是閱讀了精通css這本書后做的demo&#xff0c;感覺以前寫的真的是弱爆了 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title><style type"text/css">ol.n…

更換mysql_這些被你忽視的MySQL細節,可能會讓你丟飯碗!

我們在 MySQL 入門篇主要介紹了基本的 SQL 命令、數據類型和函數&#xff0c;在具備以上知識后&#xff0c;你就可以進行 MySQL 的開發工作了&#xff0c;但是如果要成為一個合格的開發人員&#xff0c;你還要具備一些更高級的技能&#xff0c;下面我們就來探討一下 MySQL 都需…

Java RandomAccessFile skipBytes()方法與示例

RandomAccessFile類skipBytes()方法 (RandomAccessFile Class skipBytes() method) skipBytes() method is available in java.io package. skipBytes()方法在java.io包中可用。 skipBytes() method is used to skip the given number of bytes in this file and possibly set …

rhcs集群套件—紅帽6的高可用

含義及理解&#xff1a; RHCS是Red Hat Cluster Suite的縮寫&#xff0c;也就是紅帽子集群套件&#xff0c;RHCS是一個能夠提供高可用性、高可靠性、負載均衡、存儲共享且經濟廉價的集群工具集合&#xff0c;&#xff0c;它將集群系統中三大集群架構&#xff08;高可用性集群、…

MapReduce二次排序

2019獨角獸企業重金招聘Python工程師標準>>> 默認情況下&#xff0c;Map輸出的結果會對Key進行默認的排序&#xff0c;但是有時候需要對Key排序的同時還需要對Value進行排序&#xff0c;這時候就要用到二次排序了。下面我們來說說二次排序 1、二次排序原理 我們把二…

數據有序_詳解數據庫插入性能優化:合并+事務+有序數據進行INSERT操作

概述對于一些數據量較大的系統&#xff0c;數據庫面臨的問題除了查詢效率低下&#xff0c;還有就是數據入庫時間長。特別像報表系統&#xff0c;每天花費在數據導入上的時間可能會長達幾個小時或十幾個小時之久。因此&#xff0c;優化數據庫插入性能是很有意義的。其實最有效的…

Java ProcessBuilder environment()方法與示例

ProcessBuilder類的environment()方法 (ProcessBuilder Class environment() method) environment() method is available in java.lang package. environment()方法在java.lang包中可用。 environment() method is used to return Map interfaces of this process builder env…

容器內應用日志收集方案

容器化應用日志收集挑戰 應用日志的收集、分析和監控是日常運維工作重要的部分&#xff0c;妥善地處理應用日志收集往往是應用容器化重要的一個課題。 Docker處理日志的方法是通過docker engine捕捉每一個容器進程的STDOUT和STDERR&#xff0c;通過為contrainer制定不同log dri…

python統計行號_利用Python進行數據分析(第三篇上)

上一篇文章我記錄了自己在入門 Python 學習的一些基礎內容以及實際操作代碼時所碰到的一些問題。這篇我將會記錄我在學習和運用 Python 進行數據分析的過程&#xff1a;介紹 Numpy 和 Pandas 兩個包運用 Numpy 和 Pandas 分析一維、二維數據數據分析的基本過程實戰項目【用 Pyt…

lnmp架構搭建—源碼編譯(nginx、mysql、php)

含義及理解&#xff1a; LNMP LinuxNginxMysqlPHP&#xff1a;LNMP是指一組通常一起使用來運行動態網站或者服務器的自由軟件名稱首字母縮寫。L指Linux&#xff0c;N指Nginx&#xff0c;M一般指MySQL&#xff0c;也可以指MariaDB&#xff0c;P一般指PHP&#xff0c;也可以指P…

Java PipedInputStream available()方法與示例

PipedInputStream類的available()方法 (PipedInputStream Class available() method) available() method is available in java.io package. available()方法在java.io包中可用。 available() method is used to return the number of available bytes left that can be read …