博客地址:ONESTARの客棧html
源碼領取方式一:前端
- 掃一掃文末二維碼,關注公衆號【編程日刊】,後臺回覆【博客】,便可領取源碼
源碼領取方式二:java
前端頁面源碼地址:github.com/oneStarLR/m…mysql
以jpa爲持久層源碼地址:github.com/oneStarLR/m…nginx
以mybatis爲持久層源碼地址:github.com/oneStarLR/m…git
歡迎給star以鼓勵(^_−)☆github
本文將從服務器購買後遠程鏈接,環境搭建,項目部署運行和域名訪問來說述SpringBoot搭建我的博客的線上部署sql
博主是在618購買的騰訊雲服務器,優惠力度比較大,入手了一個三年的,至因而選擇騰訊雲仍是阿里雲,感受對於我的博客而言都差很少,因爲以前用過騰訊雲,因此又買了騰訊的,這裏給個鏈接:數據庫
博主買的就是這個,新用戶288三年,八塊錢一個月,比學生價還便宜編程
博主購買服務器後直接就給我默認安裝了CentOS 7.5 64位系統,用戶名和密碼也都默認了,多是我有些選項沒有選擇吧,不過不影響,進入實例控制檯修改密碼,點擊更多操做,選擇重置密碼,驗證後進行重置,密碼儘可能複雜些!
別問我爲何使用FinalShell, 用了你就知道,好用!給個下載地址:www.hostbuf.com/
下載後進行安裝,安裝後打開以下,點擊文件夾
新建SSH遠程鏈接,填寫服務器信息:
點擊肯定便可遠程鏈接服務器
這裏主要是搭建博客所須要的環境,只須要安裝jdk和MySQL數據庫,爲了保證開發環境和部署環境一致,這裏安裝jdk1.8,MySQL5.7
Linux上使用yum命令後,會將OpenJDK安裝到/usr/lib/jvm/目錄下
# 安裝OpenJDK yum install java-1.8.0-openjdk java-1.8.0openjdk-devel 複製代碼
# 打開配置文件 vim /etc/profile 複製代碼
進入文本編輯狀態下,光標走到文件最後一行末尾(shift+g 快速定位到文件的最下方),鍵盤按下:i(英文狀態)
插入下面四行語句
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0.171 export JRE_HOME=/$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 複製代碼
:wq保存退出
source /etc/profile 複製代碼
java -version
複製代碼
能夠看到jdk版本信息,安裝成功
openjdk version "1.8.0_252" OpenJDK Runtime Environment (build 1.8.0_252-b09) OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode) 複製代碼
#下載MySQL安裝包 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm #安裝yum源 rpm -Uvh mysql57-community-release-el7-11.noarch.rpm #查看yum倉庫MySQL的啓動列表 yum repolist enabled | grep mysql #安裝MySQL數據庫 yum install mysql-community-server 複製代碼
#啓動MySQL服務 systemctl start mysqld #查看MySQL啓動狀態 systemctl status mysqld #設置開機啓動 systemctl enable mysqld systemctl daemon-reload 複製代碼
MySQL安裝完成後,在/var/log/mysqld.log文件中給root生成了一個默認密碼,能夠經過命令查看密碼:
grep "temporary password" /var/log/mysqld.log 複製代碼
而後可使用這個密碼登錄MySQL
mysql -uroot -p
複製代碼
回車輸入密碼登錄數據庫,第一次登錄須要重置密碼,如下命令重置:
ALTER user 'root'@'localhost' identified by '123456'; 複製代碼
重置後使用新密碼能夠登錄,操做數據庫
==注:這裏是將密碼修改成‘123456’,這裏只是示範,可別弄這麼簡單的密碼,要否則數據怎麼丟的都不知道==
到這裏數據庫就安裝完成了,已經能夠知足部署項目的基本需求了,這裏再另外多講兩點:數據庫配置、數據庫受權
數據庫配置是經過/etc/my.cnf文件進行配置,這裏配置一下字符集爲utf8mb4,打開my.cnf文件:vim /etc/my.cnf ,在文件末尾添加:
# 設置數據庫字符集爲utf8mb4 [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect = 'SET NAMES utf8mb4' lower_case_table_names = 1 # 表名不區分大小寫 複製代碼
修改完成後,重啓MySQL服務:
# 重啓MySQL systemctl restart mysqld 複製代碼
經過配置my.cnf能夠對數據庫進行配置,有一些基本的配置,這裏給一篇文章進行參考:mysql數據庫配置 my.cnf
爲了方便對數據庫進行操做,通常都是使用可視化軟件對數據庫進行遠程鏈接,但若是任何一臺機子均可以對你的服務器數據庫進行遠程鏈接,那就不安全了,這裏就須要對數據庫進行受權,指定能夠遠程鏈接的數據庫,沒有受權就只能支持localhost本地訪問了。
# 登錄數據庫 mysql -uroot -p # 使用數據庫 use mysql; # 設置權限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; # 刷新權限 flush privileges; #退出,重啓服務器 service mysqld restart 複製代碼
設置權限那一句:
- *. *:表示 全部庫.全部表
- 'root'@'%' identified by 'root':
- 前一個root:表示用戶名,
- %:是指全部訪問ip
- 後一個root:表示數據庫密碼
經過這一句能夠配置遠程訪問的數據庫和訪問的IP,博主通常是直接配置'%'全部IP都能訪問,由於有時候開發需求會改變IP,若是指定IP的話就不方便,因此配置了'%',通常狀況下是將3306端口給關閉,須要遠程鏈接的時候再把3306端口打開,用完就關閉,這樣安全些
爲了方便操做,這裏能夠將服務器的安全組進行修改,我們打開服務器的實例控制檯,找到安全組規則,點開編輯入站規則,能夠看到服務器有兩條默認規則,能夠看到第一條是將全部服務端口都開放了,這樣不太安全,因此這裏將它關閉,而後打開須要配置的端口
點擊第一條的編輯,將容許改成拒絕,而後保存
22端口是SSH遠程鏈接用的,3306是數據庫遠程鏈接用的
點擊添加規則,添加以下兩條,點擊完成,便可遠程鏈接數據庫
==注:平時不用遠程鏈接數據庫的時候能夠將3306端口給關了,用的時候再打開==
服務器環境搭建好後,就能夠將項目打包部署到服務器了,這裏採用jar包的方式部署,使用idea打成jar包,而後將jar包上傳到服務器在後臺運行,就能夠用IP進行訪問了
點擊idea右邊的Maven Projects,雙擊clean,執行完後再雙擊package
不出意外,控制檯會顯示BUILD SUCCESS,並有jar包文件的大小,在target文件夾下面會生成一個myblog-0.0.1-SNAPSHOT.jar的jar包,這個就是要上傳到服務器進行部署的jar包。
將剛生成的jar包上傳到服務器上,進行部署,這裏要注意上傳以前要將項目的數據庫配置換成服務器的數據庫
這裏使用FinalShell上傳,先用FinalShell登錄服務器,在服務器中建立一個文件夾用來存放項目的
# 建立文件夾 mkdir myblog # 進入目錄 cd myblog 複製代碼
在FinalShell下方有可視化的目錄結構,點進剛建立的文件夾,右擊空白處,點擊上傳,選擇myblog-0.0.1-SNAPSHOT.jar包,將jar包上傳
服務器須要將防火牆關閉才能訪問;咱們的博客項目配置的是8080端口,在以前將全部端口都關閉了,因此這裏要將8080端口開放
# 查看防火牆狀態 systemctl status firewalld # 打開防火牆 systemctl start firewalld # 關閉防火牆 systemctl stop firewalld 複製代碼
進入服務器控制檯安全組規則,添加規則,開放8080端口,開放後以下:
這裏讓jar包在服務器後臺運行,進入jar包文件夾,執行命令運行jar包
# 進入jar包文件夾 cd /home/myblog # 後臺運行jar包 nohup java -jar myblog-0.0.1-SNAPSHOT.jar & 複製代碼
在瀏覽器中訪問服務器的8080端口,Bingo!!!
這裏默認讀者已經購買了域名,併成功備案
通常來講,一個服務器不止跑一個服務(看本身需求,固然也能夠只跑一個),每一個服務都是使用一個二級域名來進行訪問,因此這裏配置二級域名進行訪問
登陸雲服務器,在雲服務器的控制檯找到DNS解析,騰訊雲能夠在上面的雲產品中搜DNS,以下
點進去後以下,能夠看到這裏是空的,由於沒有添加任何解析,我們點擊添加解析,而後添加本身的域名
添加後會有一條添加域名信息,點擊域名,這裏要添加三條記錄,如下三條:
注:若是隻是要配置本身的網站可以經過域名訪問,那就只須要配置下滿截圖中的第三條二級域名就能夠了,可是通常來講,一個服務器不僅是經過二級域名訪問,還會有直接訪問和經過www訪問。
這裏添加後以下,記錄值爲本身服務器的公網IP
添加完成後就可使用域名進行訪問了,But,這樣直接訪問的話,訪問的是服務器默認訪問的80端口,而咱們項目用的端口是8080,因此這裏要將端口進行轉發,將8080端口轉發到域名,這裏就要用到反向代理的技術了。
反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的鏈接請求,而後將請求轉發給內部網絡上的服務器,並將從服務器上獲得的結果返回給internet上請求鏈接的客戶端,此時代理服務器對外就表現爲一個服務器。這裏使用NGINX反向代理,將80端口轉發到8080端口,須要對NGINX進行配置,因此要先下載NGINX
# 下載NGINX: yum install nginx # 啓動nginx: systemctl start nginx # 加入開機啓動: systemctl enable nginx # 查看nginx的狀態: systemctl status nginx 複製代碼
下載後須要對NGINX進行配置,這裏的配置文件是nginx.conf,可使用命令 find / -name "nginx.conf" 進行查找,默認是在 /etc/nginx/nginx.conf,我們來進行配置:
# 打開nginx.conf配置文件 vim /etc/nginx/nginx.conf 複製代碼
能夠看到以下配置,這裏只講解兩個地方,也就是框出的部分
==注:我們能夠理解爲nginx.conf是一個總配置文件,include所包含的是子配置文件,若是要添加一個服務,就能夠再/etc/nginx/conf.d/目錄下去添加一個子配置文件,這裏也是用的這種方式==
在/etc/nginx/conf.d/目錄下建立*.conf文件,我這裏命名爲onestar.conf
# 建立打開onestar.conf vim /etc/nginx/conf.d/onestar.conf 複製代碼
添加以下配置:
server { listen 80; server_name onestar.newstar.net.cn; location / { proxy_pass http://81.68.734.422:8080; index index.html index.htm; proxy_set_header Host $host; proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; } access_log /logs/onestar.newstar.net.cn.access.log; } 複製代碼
這裏咱們瞭解一下幾點就能夠了:
# 重啓: nginx -s reload 複製代碼
重啓後服務就生效,可使用域名進行訪問了:onestar.newstar.net.cn/
至此,整個博客開發完成,能夠進行域名訪問了,原本打算將https訪問也講述一下,可是要想把文章寫好,我通常會進行實操一遍,這樣的話就要將個人博客項目給停掉,再從新部署https,如今個人博客天天幾百上千的請求量,因此也就沒這樣作,https訪問你們能夠查詢相關資料,也是用NGINX,這裏就不講了。
好了,好不容易搭建好的博客,你們就盡情的寫文章吧!
【點關注,不迷路,歡迎持續關注本站】