Spring Boot 学习研究笔记(二十)-docker部署SpringBoot使用nginx配置域名

本文涉及的产品
云解析DNS-重点域名监控,免费拨测 20万次(价值200元)
简介: Spring Boot 学习研究笔记(二十)-docker部署SpringBoot使用nginx配置域名

Docker发布项目使用Nginx配置域名

步骤如下:

第一步:在Docker 中部署SpringBoot JAR 包。

详情请查看: Spring Boot 学习研究笔记(十二)-Dcoker 中部署SpringBoot jar包

 

第二步:配置域名DNS解析

在腾讯云或者阿里云购买域名,进行实名认证,配置DNS解析。

在此以阿里云为例,进行域名解析:

1、进入域名解析页面,选择需要使用的域名,点击解析按钮

 

2、进入解析设置页面,点击添加记录按钮

 

3、添加记录值并保存

注意:此记录值为安装nginx服务器的外网ip,添加完成即可。

 

 

 

第三步:使用Docker 安装 Nginx镜像并部署

1、下载Nginx 镜像

docker pull nginx:latest

2、创建Nginx 容器

(1)、先创建文件夹

 

我们在部署Nginx容器前,先在centos 服务器(宿主机)上创建3个文件夹和1个文件 ,分别是cert、html、logs和 nginx.conf文件。

html:Nginx作为web服务器使用时,存储网页

cert: 存储https cert证书

logs:配置错误日志

以上文件夹的作用是挂载重要信息,防止Nginx容器重启后,原来配置的信息丢失。

mkdir -p /data/nginx/{html,cert,logs}

 

注意:加上参数-p,原因是data目录不存在,nginx目录也不存在。此时应加上参数-p,即没有找到此目录就自动创建。

 

(2)、然后执行命令创建容器

docker run -d --name nginx -p 80:80 -p 443:443 --restart=always\
    -v /etc/localtime:/etc/localtime:ro \
    -v /data/nginx/cert:/etc/nginx/cert \
    -v /data/nginx/html:/usr/share/nginx/html \
    nginx

参数说明:

-d:后台运行 ;(-i -t :启动容器后进入容器内部)

--name:容器的名字

-p 宿主主机端口号:容器端口号

--restart=always:docker服务重启时,Nginx容器也自动重启

-v:挂载文件, “:” 的左侧是主机的目录,右侧是容器目录

 

注意:

第一,nginx镜像一定要选择正规镜像仓库的镜像,不然会遇到容器自动pause(暂停)或被人植入挖矿病毒。

第二,docker的文件挂载是从主机挂载到容器,不是容器挂载到主机。

第三, \ 反斜杠的作用是告诉Linux命令没有结束,继续执行。

 

 

 

第四步:配置nginx:

nginx配置详解,感兴趣的同学请查看: Nginx研究学习Nginx配置详解

 

Nginx.conf 配置示例

(1)、将容器中的配置文件拷贝到本地进行修改

docker cp nginx:/etc/nginx/nginx.conf  /data/nginx/nginx.conf
docker cp nginx:/etc/nginx/conf.d/default.conf /data/nginx/default.conf

(2)、修改nginx.conf配置文件

user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip  on;
    include /etc/nginx/conf.d/*.conf; #通过这句话我们知道,nginx的配置文件
}

 

(3)、修改default.conf 文件

server {
    listen       80;
    server_name  test.domain.com; #这里是绑定1号域名的地方
     location = / {
        proxy_pass http://server111/page/login; #当访问地址为根的时候,我们指向我们需要的系统的入口,这样可以屏蔽端口号等优点
    }
    location / {
        proxy_pass http://server111/;  #当让问的地址是带路劲的时候,我们启用这条规约,让nginx为我们转发代理这个服务。
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    } 
}
server {
    listen       80;
    server_name  test.sx.com; #这是绑定2号域名的这方
     location = / {
        proxy_pass http://server111/page/index; #当域名为2号的时候,我们通过这个入口来进入我们的系统
        }
    location / {
        proxy_pass http://server111/;  #当域名带路劲访问的时候,我们来代理我们的应用程序
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

 

(4)、将修改好的配置文件覆盖之前的容器中的配置文件

docker cp  /data/nginx/default.conf nginx:/etc/nginx/conf.d/default.conf 
docker cp  /data/nginx/nginx.conf nginx:/etc/nginx/nginx.conf

 

(5)、覆盖配置文件后,重新启动容器

docker restart nginx

 

(6)、创建一个html 放在 nginx / html 里面

cd /data/nginx/html
vim index.html

将内容写入 index.html 文件

<html>
<head>
<title>home</title>
</head>
<body>
<h1>
Welcome to nginx!
</h1>
</body>
</html>

 

第五步、开放端口

到这一步按说应该完成了,但是有的还是不能进行访问,这是因为防火墙的问题。

 

 

 

第六步、测试域名

浏览器访问域名,加上配置的地址,就可以正常访问了。

 


相关文章
kde
|
5月前
|
Kubernetes 关系型数据库 文件存储
手把手教你完成极空间 NAS Docker 镜像加速配置
本教程详细介绍了如何在极空间NAS上配置轩辕镜像加速器,以提升Docker镜像的下载速度与稳定性。内容涵盖账号注册、网络确认、加速器设置及验证方法,并提供常见问题解决方案,帮助用户高效完成容器化应用部署。
kde
1699 1
kde
|
5月前
|
文件存储 数据安全/隐私保护 开发者
群晖NAS Docker镜像源加速配置教程
本教程介绍了群晖NAS用户如何通过配置轩辕镜像加速服务提升Docker镜像拉取速度。内容包括配置前准备、详细设置步骤及日常使用说明,帮助用户快速完成配置并享受高效稳定的镜像下载体验。
kde
3149 59
kde
|
Docker 容器 文件存储
飞牛fnOS Docker镜像加速配置全攻略
本文介绍了如何在飞牛fnOS中配置Docker镜像加速服务,通过设置轩辕镜像仓库加速器,提升镜像拉取速度与稳定性。内容涵盖配置前准备、加速源设置、首选加速源调整及使用指南,帮助用户高效完成镜像操作。
kde
2163 56
|
5月前
|
Java 分布式数据库 Docker
使用Docker配置并连接HBase的Java API
本流程概要的解释了如何在Docker上配置并启动HBase服务,并通过Java API进行连接和操作表,不涉及具体的业务逻辑处理和数据模型设计,这些因应用而异需由开发者根据实际需求进行实现。
250 13
|
5月前
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
537 0
|
11月前
|
数据建模 网络安全
阿里云SSL证书不同类型DV、OV和EV如何收费?单域名和通配符SSL价格整理
阿里云SSL证书提供免费和收费版本,涵盖DV、OV、EV多种类型。收费证书品牌包括DigiCert、GlobalSign等,价格从238元/年起。免费SSL证书由Digicert提供,单域名有效3个月,每个实名主体每年可领取20个。具体价格和详情见阿里云SSL官方页面。
|
9月前
|
人工智能
2024年阿里云域名热搜词大盘点
2024年阿里云域名热搜词大盘点
379 3
|
11月前
|
数据建模 网络安全
阿里云SSL证书不同类型DV、OV和EV如何收费?单域名和通配符SSL价格整理
阿里云SSL证书提供免费和收费选项。收费证书包括:DV单域名WoSign 238元/年,DigiCert通配符DV 1500元/年,GlobalSign OV企业型1864元/年等。免费SSL证书由Digicert提供,有效期3个月,每年可领取20个单域名证书。更多详情及价格表请参考阿里云官方页面。
|
12月前
|
弹性计算 移动开发 安全
阿里云域名注册、续费收费标准价格表及最新优惠口令获取及使用教程参考
阿里云域名注册和续费收费标准在9月份随着全球域名价格的上涨,域名收费标准也做了调整,目前阿里云的.com英文域名的注册价格为83元,续费收费标准为90元,为了让更多用户在注册和续费时价格能更加实惠,阿里云推出了域名优惠口令活动,域名优惠口令适合在域名注册和续费时使用,使用优惠口令通常可以使注册和续费价格减免几元到十几元不等,例如使用优惠口令续费.com域名就可减少5元。本文为大家展示目前阿里云域名注册和续费的最新收费标准以及如何领取和使用域名优惠口令的相关教程,以供参考。
2659 11