Java項目從零開始,部署服務到上線運行

一、準備一臺服務器

可以在阿里雲上購買一臺簡單點的服務器,系統選擇CentOS的,我用的是CentOS 7.6版本。

二、jdk安裝

安裝java的jdk。

  1. 直接yum安裝1.8.0版本openjdk

    yum install java-1.8.0-openjdk* -y

     

  2. java -version 查看安裝的jdk版本

    [root@localhost ~]# java -version
    openjdk version "1.8.0_161"
    OpenJDK Runtime Environment (build 1.8.0_161-b14)
    OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

    默認的情況下 jre jdk 安裝路徑是 /usr/lib/jvm 目錄下面。你通過 cd 命令切換到 /usr/lib/jvm下,大概是這樣的結構。紅框選中的就是我的openjdk,記住這個,下面修改配置是會用到的。

  3. 切換到 etc的目錄下。

    # cd /etc

    這個目錄下面存放的都是一些系統配置,找到 profile文件,這裏有兩種方式去編輯它,第一種是通過 xftp直接把這個文件複製下來,然後你編輯好在粘貼回去;第二種是在線編輯。第一種方式比較簡單,我推薦用這種。

    打開profile文件,將

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin

    放在最下面就可以了, JAVA_HOME的值就是我之前紅框選中的內容。

    保存這個文件。

三、準備項目jar包

將你的java項目打成對應的jar包就可以了。

四、準備腳本命令,方便啓動項目

項目運行我們可以直接通過命令,java -jar 的命令去運行,但是爲了後期的方便,這邊可以寫一個簡易的腳本去執行。

1.新建一個sh文件 --> start.sh,將text的文件後綴改成sh就行,將下面的四行復制進去,修改對應的配置並保存,這個文件直接放到你項目jar所在的目錄就行。

cd /home/app/test/ // 這裏指的是你項目jar包放的目錄 我這邊是放在test下面
ps -ef |grep test |grep -v grep |awk '{print $2}'|xargs kill -9 | ps -ef | grep test // 這邊的test要修改成你對應的目錄名
BUILD_ID=dontKillMe
nohup java -jar test-0.0.1-SNAPSHOT.jar > nohup.out 2>&1 & // 這是項目打出來的jar包 test-0.0.1-SNAPSHOT.jar

 


2.通過sh start.sh 命令啓動

sh start.sh

 

這樣你的項目jar包就運行了,每次你替換到項目,直接運行這個腳本就行。

五、域名申請

域名的申請和購買途徑比較多,最好和你的服務器是同一個體系,如果你用阿里雲那就再阿里雲上買,你是騰訊雲就在騰訊雲上買,你要是購買cn的域名還需要審覈的,可能會比較慢。

六、nginx安裝


1.安裝nginx相關的環境

yum install -y gcc-c++pcre pcre-develzlib zlib-developenssl openssl-devel

 

2.切換目錄(一般來說,可以將nginx安裝在這個目錄下比較方便)

cd /usr/local

 

3.下載你所需要的nginx壓縮包

wget http://nginx.org/download/nginx-1.18.0.tar.gz

 

4.解壓nginx

tar zxvf nginx-1.18.0.tar.gz

 

5.執行安裝

./configure --prefix=/usr/local/nginx

 

6.安裝https認證

./configure --with-http_ssl_module

最好加上這一步,避免後期又要去重裝nginx

7.初始化

make&&make install

 

8.切換到nginx 目錄

cd /usr/local/nginx/sbin

 

9.啓動nginx

./nginx

 

10.查看啓動狀態(nginx默認是80端口)

lsof -i:80

 

11.常用 nginx 命令

nginx -s stop :快速關閉Nginx,可能不保存相關信息,並迅速終止web服務。
nginx -s quit :平穩關閉Nginx,保存相關信息,有安排的結束web服務。
nginx -s reload :因改變了Nginx相關配置,需要重新加載配置而重載。
nginx -s reopen :重新打開日誌文件。
nginx -c filename :爲 Nginx 指定一個配置文件,來代替缺省的。
nginx -t :不運行,而僅僅測試配置文件。nginx將檢查配置文件的語法的正確性,並嘗試打開配置文件中所引用到的 文件。
nginx -v:顯示 nginx 的版本。
nginx -V:顯示 nginx 的版本,編譯器版本和配置參數

 

七、nginx配置SSL證書


SSL證書可以將你的域名訪問變成https請求。

1.獲取證書,阿里雲有提供免費的證書。
阿里雲SSL免費證書

2.下載對應的證書文件,會給你這兩個文件,你需要放到服務器的某個位置就行。

 

 3.切換到nginx 的配置文件所在的目錄

cd /usr/local/nginx/conf

 

4.找到 nginx.conf文件,打開這個文件,添加一個server塊。

 

 

#以下屬性中,以ssl開頭的屬性表示與證書配置有關。
server {
listen 443 ssl;
#配置HTTPS的默認訪問端口爲443。
#如果未在此處配置HTTPS的默認訪問端口,可能會造成Nginx無法啓動。
#如果您使用Nginx 1.15.0及以上版本,請使用listen 443 ssl代替listen 443和ssl on。
server_name test.cn; ##這裏寫你購買的域名,不需要前綴www
root html;
index index.html index.htm;
ssl_certificate ssl/5504096_test.cn.pem; ##這裏是ssl證書的pem文件
ssl_certificate_key ssl/5504096_test.cn.key; ##這裏是ssl證書的key文件
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的類型。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS協議的類型。
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://192.168.0.0:10010; ##這裏寫需要轉發的項目地址,也就是你項目部署的服務器地址和你的項目端口
root html; #站點目錄。
index index.html index.htm;
}
}

 

5.修改原來已經存在的server塊,將請求80的轉發到443端口,我這邊就複製了一部分,只需要改兩行就可以了。

 

 

server {
listen 80;
server_name test.cn; ## 你對應的域名
rewrite ^/(.*)$ https://test.cn:443/$1 permanent; ## 轉發的協議

 

6.保存nginx的配置文件,然後重啓nginx。
總結
大體上的服務部署流程就是這樣,按照我上面的步驟一步一步下來部署就不會有問題,可能會有一些遺漏的,可以留言。

轉自:https://blog.csdn.net/yiming_zhan/article/details/119085605

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章