一、準備一臺服務器
可以在阿里雲上購買一臺簡單點的服務器,系統選擇CentOS的,我用的是CentOS 7.6版本。
二、jdk安裝
安裝java的jdk。
-
直接yum安裝1.8.0版本openjdk
yum install java-1.8.0-openjdk* -y
-
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,記住這個,下面修改配置是會用到的。
-
切換到 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