从零开始在云上架设本身的网站(第一篇)发布第一个版本

从零开始在云上架设本身的网站(第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的要求填写好资料

提交成功之后,会有客服电话联系你,核实资料

在写本文的时候,备案还在网管审查阶段

想一想经过本身的域名访问到本身的第一个空间仍是很兴奋的事情吧

相关文章
相关标签/搜索