從零開始在雲上架設本身的網站(第一篇)發佈第一個版本

從零開始在雲上架設本身的網站(第0篇)java

1.建立項目

在github上建立項目(此次項目我取名爲sora)
https://github.com/newmysql

在本地clone當前項目
git clone https://github.com/jassen75/sora.gitgit

快速用springboot建立項目(gradle)
https://start.spring.io/github

將生成好的項目解壓到sora文件夾裏面,並完成第一次編譯
gradle buildspring

2.發佈docker image

添加一個簡單的DockerFilesql

FROM nathonfowlie/centos-jre
LABEL maintainer jassen
USER root
COPY build/libs/*.jar /opt/sora/lib/
COPY docker/entrypoint.sh /opt/sora/bin/ 
RUN chmod a+x /opt/sora/bin/*

EXPOSE 8013

WORKDIR /opt/sora/
    
CMD /opt/sora/bin/entrypoint.sh

entrypoint.sh代碼以下docker

#!/bin/bash

java -Dmysql-host=mysql -jar /opt/sora/lib/*.jar

使用docker命令生成版本segmentfault

docker build --force-rm -t sora:latest --file docker/Dockerfile .centos

添加一個發佈腳本 publish.sh安全

#!/bin/bash

set -e -x

TAG=$1

PUBLISHTAG=${TAG:-1.0}

docker tag sora:latest jassen75/sora:$PUBLISHTAG
docker login -u jassen75 --password=$PASSWORD 
docker push jassen75/sora:$PUBLISHTAG

使用腳本將編好的image發佈到dockerhub上

bash publis.sh 1.03

Screenshot from 2020-05-06 11-59-07.png

到dockerhub上確認1.03版本已經正確上傳

3.在雲服務器上安裝mysql 鏡像

我寫了一個簡單的腳原本作這個事情,在mysql啓動之後,順便執行初始化腳本

#!/bin/bash

set -x

THIS_DIR=$(dirname $(readlink -f ${BASH_SOURCE[0]}))

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=sora -e MYSQL_DATABASE=sora -e MYSQL_USER=admin -e MYSQL_PASSWORD=admin -d mysql:8.0.17 --default-authentication-plugin=mysql_native_password

mysql -h 127.0.0.1 -uroot -psora -e "show databases;"
while [[ $? != 0 ]]
do
    echo "mysql connection is not OK now, waiting for mysql service stable"
    sleep 20
    mysql -h 127.0.0.1 -uroot -psora -e "show databases;"
done
echo "mysql connection is OK"

if [[ -f "${THIS_DIR}/src/main/resources/database/create_tables.sql" ]]; then
    echo "create tables"
    mysql -h 127.0.0.1 -uroot -psora -e "source ${THIS_DIR}/src/main/resources/database/create_tables.sql"
fi

而後就能夠運行咱們剛纔發佈的image了,咱們的容器作了端口映射,這樣8013端口用來測試,而發佈的版本使用80端口訪問

docker run -p 80:8013 --name sora --link mysql:mysql -d jassen75/sora:1.03

這時候咱們能夠試試
curl 127.0.0.1 看看服務有沒有正常啓動

4.配置阿里雲的端口

這時候你訪問阿里雲分配給你的公網ip,使人失望的是網站並沒有法正常訪問,這時候須要在阿里雲上作簡單的端口配置

Screenshot from 2020-05-06 12-06-52.png

打開你的ECS,在左側的菜單欄裏面,有一個網絡與安全
選擇子菜單 安全組

Screenshot from 2020-05-06 12-08-19.png

在右邊找到配置規則

能夠看到,默認只有3條規則,默認開放的主要端口只有22,這是供你ssh上去的,因此這裏須要加一條規則,容許80端口訪問

Screenshot from 2020-05-06 12-10-29.png

再次訪問阿里雲分配給你的公網ip,就能看到你的主頁了

5.申請域名

阿里雲控制檯左側菜單欄很容易找到域名,進去申請你想要的域名

我試着申請了一個cn的(聽說最混亂),一年16塊錢,你要買好的就比較貴了

申請好域名之後,選擇解析

增長一條規則

Screenshot from 2020-05-06 12-15-52.png

將你申請www.xxx.cn 指向你的ECS服務器ip地址

6. 備案

新申請的域名用作網站的話必須備案,阿里雲有一個快捷的幫你備案的鏈接,你進去填寫資料

這裏比較坑的一點是,你的ECS服務器若是有效期少於3個月,阿里雲就不幫你備案了,本人老老實實交了一年的費用(500rmb左右)

有一個步驟須要提交身份證照片,還要人臉識別,須要下載阿里雲的app,按照app的要求填寫好資料

提交成功之後,會有客服電話聯繫你,覈實資料

在寫本文的時候,備案還在網管審查階段

想一想經過本身的域名訪問到本身的第一個空間仍是很興奮的事情吧

相關文章
相關標籤/搜索