自己写个网盘系列:③ 开源这个网盘编码,手把手教你windows linux 直接部署,docker本地打包部署网盘应用

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

下面开始准备编译部署

💫先说最简单的windows服务器部署运行

webHost项目右键发布,选择win64(不考虑x86了),我们按照框架依赖发布

发布好后,在服务器上安装.NET8的运行环境 安装 Windows Hosting Bundle ,输入dotnet --info 查看是否安装正常

将publish包拷贝到服务器的软件目录,下面几种运行方式:
1.简单运行直接双击启动webhost.exe
2.cmd命令启动 dotnet webhost.dll
3.IIS 运行,IIS添加网站,选择我们的目录,和常规iis站点一样直接启动
4.服务运行,将应用注册为服务运行。

应用正常启动后,浏览器输入http://localhost:5000即可进入网盘页面。

💫接下来说Linux服务器部署运行

此处假设你已经有一定的linux使用基础,确保开启了适当的防火墙端口,以便外界可以访问你的应用程序

本地根据你的linux服务器版本 配置发布文件,我此处使用Linux-64发布,发布好后复制到服务器上

我们使用WindTerm 连接我们的Linux服务器,首先不管什么版本的linux 服务器,先按照脚本安装.NET 8 Linux发行版,以Ubuntu为例,你可能需要执行如下命令来安装.NET 8:

# 添加Microsoft的包仓库
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
# 安装.NET SDK
sudo yum install dotnet-sdk-8.0
# 安装.NET 运行时
sudo yum install aspnetcore-runtime-8.0
# 安装.NET 运行时环境
sudo yum install dotnet-runtime-8.0

如果是Centos(高版本)

# 添加Microsoft的包仓库
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
# 安装.NET SDK
sudo yum install dotnet-sdk-8.0
# 安装.NET 运行时
sudo yum install aspnetcore-runtime-8.0
# 安装.NET 运行时环境
sudo yum install dotnet-runtime-8.0

安装完成后,使用dotnet --info测试你的安装是否正常

在应用目录 执行 dotnet WebHost.dll 即可运行你的网盘站点,注意,按照此方式运行的站点,ssh连接断开后应用就关闭了,和我们关闭了控制台一样,你要保持常驻运行,一般我们使用服务运行。

💫接下来说Linux服务器服务部署运行

上述过程不变需要来一遍,使用systemd创建一个服务。创建一个服务文件,例如/etc/systemd/system/WebHost.service,然后添加以下内容:

[Unit]
Description=WebHost

[Service]
WorkingDirectory=/path/to/app
ExecStart=/usr/bin/dotnet /path/to/app/WebHost.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=root
Environment=ASPNETCORE\_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

然后启用并启动服务:

sudo systemctl enable your-application.service
sudo systemctl start your-application.service

好了,就这么简单,Linux服务器上的发布部署也就完了,当然还有一些更细节的配置,比如配置使用啥端口啊,配置使用啥账户运行啊,那都是需要更深入后会遇到的问题,此处就不深入解说了

💫接下来说服务器Docker部署运行,此处假设你已经知道一些docker的基础知识

首先你要制作docker镜像,需要配置dockerfile

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER root
WORKDIR /app
EXPOSE 8080

# 将发布的应用文件复制到容器中 . . 需要dockerfile文件和发布后的文件在一个目录
COPY . .


为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/8d278599aaeece357fa6e40cb7136770.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值