阿里服务器安装docker 给小程序 部署 springboot 项目

阿里服务器安装docker 给小程序 部署 springboot 项目

随着小程序的普及,大部分开发者都会有租个阿里服务器为小程序提供接口,恰巧我也正在开发一个股票、新债的小程序,但小程序一般都有两个需求(外网访问、https访问),接口必须上云,所以才有今天的学习记录~

一、在你的linux系统中安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

剩下的就让机器自己运行就好了

二、使用idea创建springboot项目,并打成jar包

image-20210124111314359

这个大家都懂,就不再详细做介绍了

三、服务器 新建一个docker 文件夹存储打包文件 并写一个Dockerfile文件,并命名为:Dockerfile,文件内容如下:

mkdir -p /usr/local/docker/stock

# 基础镜像使用java
FROM openjdk:8-jdk-alpine
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD stock-0.0.1-SNAPSHOT.jar app.jar
#RUN bash -c 'touch /app.jar'
# 运行jar
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar -Duser.timezone=GMT+08 /app.jar" ]

四、把Dockerfile文件和springboot项目打成的jar包,放入linux中的同一目录,在此目录下执行

docker build -t ${你要打成镜像的名称} .

例:docker build -t wx-stock .

五、上述命令执行完毕之后,使用docker images命令,会看到有两个镜像,openjdk:8-jdk-alpine,wx-stock

image-20210124112156219

至此已经将服务镜像安装完毕,接下来安装nginx镜像发布接口

六、下载nginx镜像,执行命令,坐等完成,我服务器宽带比较小,坐等的时间比较长。。。

docker pull nginx:latest

七、创建容器:

  1. 先创建文件夹:

    mkdir -p /data/nginx/conf.d/

  2. ,然后执行下述命令创建容器:

    docker run -d -p 80:80 -v /data/nginx/conf.d/:/etc/nginx/conf.d/ --name nginx_mirror nginx

    docker run -d -p 8080:8080 --name wx-stock_mirror wx-stock

容器创建完成之后,执行docker ps, 会发现两个运行着的容器

image-20210124113207329

中间还有点插曲,后面补充----!

八、配置nginx,并设置域名

  1. 购买域名

阿里云或者腾讯云买一个域名,并实名认证 现在很方便直接上传身份证照片即可备案,不像原来还邮寄幕布,拍照上传,等待审核通过,等待DNS解析正常。

  1. 配置DNS解析

我在阿里云购买的域名,所以以阿里云做案例,进入阿里云域名解析,点击解析设置,点击解析设置中的新手引导,直接添加你的记录值,注意此记录值为你安装nginx服务器的外网ip,添加完成即可

image-20210124114110871

九、配置nginx

在/data/nginx/conf.d/文件夹中创建以 .conf 结尾的配置文件,文件内容如下:

upstream wx-stock {
                           ip_hash;
                           server 服务器外网IP地址:jar服务端口号;
                   }



server {
                        listen     80;
                        server_name 申请的域名 例 www.baidu.com;

                        location / {
                                proxy_set_header REMOTE-HOST $remote_addr;
                                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                                proxy_set_header X-Real-IP $remote_addr;
                                proxy_set_header Host $host;
                                proxy_connect_timeout 3;
                                proxy_send_timeout 30;
                                proxy_read_timeout 30;
                                index  index.html index.htm;
                                proxy_pass http://wx-stock; //必须与upstream 名称一致
                                rewrite ^/(.*)/$ /$1 last;
                        }
        }

十、配置完成nginx之后,需要重启nginx_mirror容器

docker restart nginx_mirror

按常理学习部署到此其实已经结束,已经满足我开发调试,但是访问我的域名显示404,到这就介绍一下插曲吧:

  1. 查看防火墙状态
[root@yingle conf.d]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

[root@yingle conf.d]#  firewall-cmd --state
not running

排除了防火墙问题

  1. 查看设置阿里云安全策略

    image-20210124115742768

按理说这两个设置完就都完事了,怎么还是404?我急了

  1. 过分自信,还是查看一下日志吧

    docker logs nginx_mirror

    原来.conf文件错写了一个字母。。。

看来服务器有问题还是得先看日志,不能盲目自信

------------------------------------------------------------------------------------------------------分割线

https访问 待更

分享程序员的理财、生活!我是乐子,多多指教!

志,不能盲目自信

------------------------------------------------------------------------------------------------------分割线

https访问 待更

分享程序员的理财、生活!我是乐子,多多指教!

http://www.blog.rdtalk.cn/

关注我得到更多信息

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页