.NET Core 3.1部署到Docker后使用Nginx代理

该博客介绍了如何在Ubuntu上部署.NET Core 3.1应用到Docker,并解决因系统关机导致的应用停止问题。通过`docker update --restart always`设置容器开机自启动,然后使用Nginx作为反向代理,配置代理到应用的5015端口,实现外网访问。此外,还详细讲解了Nginx的配置步骤和开机启动设置。
摘要由CSDN通过智能技术生成

链接上文【.NET Core 3.1部署到Docker_关键我是你林哥啊的博客-CSDN博客】,部署到Ubuntu 后,系统因为晚上关机了,早上一开机,发现访问不了,通过命令一查

 docker ps

 docker ps可以查看正在运行的容器

 发现昨天部署的.NET Core程序已经停止了,然后找到docker中所有的容器

docker ps -a

-a 列出所有的容器

然后将net01这个容器设置为开机自启动,因为前期运行的时候并没用自启动,所以只能更改他启动的策略了。

docker update 97c9bebdf779 --restart=always

* 说明:更改容器的状态

docker start 97c9bebdf779
*说明:启动容器

 这样访问5015端口后,就可以访问了,不过,这样只能在本机访问,外部机器想要访问,就必须安装nginx。

1、下载Nginx

 sudo apt-get install nginx

(卸载:sudo apt-get purge nginx nginx-common )

 2、配置Nginx

nginx默认被下载到了etc文件夹中

cd /etc/nginx

编辑nginx.conf文件

sudo vim nginx.conf

(无vim的,可以使用【sudo apt install vim】命令进行下载),按i健进行编辑

 

 nginx配置如下

server {

    listen 80;

    location / {

        proxy_pass http://localhost:5015; 

        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection keep-alive;

        proxy_set_header Host $host;

        proxy_cache_bypass $http_upgrade;

    }

}

注意事项:默认这样配置了,打开的并不是我们要转发的地址,需要将nginx中配置的如下两行默认代码注释掉

 然后按Esc健,:wq!保存配置

.启动nginx

sudo service nginx start

.重载nginx配置

sudo nginx -s reload

(关闭nginx可以使用service nginx stop)

.设置为开机启动

systemctl enable nginx.service

通过systemctl status nginx.service查看启动状态

此时,转发就完成,通过其他的机器访问 http://172.17.160.95/swagger,就可以访问成功,效果如下:

代码:.NETCore部署到Linux的案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值