阿里云+域名+Linux系统+docker+部署.net5+blazor
总结
你永远不知道自己会卡在哪里,放松点,学习嘛,哪里就能一蹴而就,出去溜一圈,说不定就解决了!!!!!!
公司要注册个域名,当然选阿里啦,理由是:领导喜欢!!!不接受反驳。注册域名,需要一个静态的网页,帮助备案。那还不简单。
阿里云
因为要求要linux的,所以,买就完了!(目前这个服务器就是为了研发搞搞小测试用的,所以,买了带宽,钥匙只用来挂门户网站那种,最低配完全可以带起来)
我得到了我的固定IP(举个例子啊):
12.34.56.78
买域名
当然还是阿里啦,登录阿里云,【运维管理】-【我的导航】-【域名】-【域名注册】,然后就是想个独一无二,能够符合你心意的名字、付款。就完成了。我得到了我的固定域名(举个例子啊):
www.abcd.cn
备案
登录阿里云,【备案】,如果是第一次干这种事儿,还算是先好好看一下【网站备案】里面的信息,毕竟,违法的事,不能干!
【备案】-【备案服务号申请】
【申请】
【去备案】然后就提交资料就可以了
可以参考官方文档
链接: https://help.aliyun.com/document_detail/61819.html?spm=a2c6h.13066369.0.0.5865177ap05coR.
提交资料后,注意短信和电话,会有审核的。
可以在我的备案里,查看进度
这个域名备案估计要好久,但是不影响我发布网站。
做个小网站
1、 标题建个Blazor项目,.net5,自带实例的那种,省事了。
2、 然后修改index.razor。
<div class="container" style=" max-width: 1640px!important;">
<div class="row m-1" style="margin-top:250px">
<div class="m-0 p-0 col-sm-12 col-md-6 col-lg-4 col-xl-4"><ChartLinearComponent></ChartLinearComponent></div>
<div class="m-0 p-0 col-sm-12 col-md-6 col-lg-4 col-xl-4"> <ChartPictorialBarComponent></ChartPictorialBarComponent></div>
<div class="m-0 p-0 col-sm-12 col-md-6 col-lg-4 col-xl-4"><ChartLineComponent></ChartLineComponent></div>
</div>
<div div class="row m-1" style="margin-top:250px">
<div class="m-0 p-0 col-sm-12 col-md-6 col-lg-4 col-xl-4"><ChartPieComponent></ChartPieComponent></div>
<div class="m-0 p-0 col-sm-12 col-md-6 col-lg-4 col-xl-4"><ChartBarComponent></ChartBarComponent></div>
<div class="m-0 p-0 col-sm-12 col-md-6 col-lg-4 col-xl-4"><ChartRealtimeComponent></ChartRealtimeComponent></div>
</div>
</div>
加入jquery库、echart库(找不到的话,我后面有源码)
3、编译一下、运行
好啦,简单的网页就完成啦。后面会继续在这个项目上加东西。
部署-安装Xshell
因为是linux服务器,所以要用xshell远程
xshell+Xftp下载
名称:随便写,例如:苏州-测试
主机:服务器ip,我的是【12.34.56.78】
其他什么都不用改,【确定】提交
双击【苏州-测试】
出现弹框:【保存】
这里要填linux服务器登录用户名
坑1:
我买了云服务后,没登陆上去,所以,现在连接,默认要使用私有密钥来登录。失策啊!!!!!
回到云服务【控制台】-【运维管理】-【云服务ECS】-【实例】找到当前需要的服务器
【更多】-【密码、密钥】-【重置实例密码】
要重启实例才会生效!!!!
好了,现在继续
这里输入刚刚重置的密码
这就成功来,再试一下:
输入命令:
ifconfig
部署-打包
坑2:选可移植、目标框架.net5,如果你的项目用的其他框架,如3.1,就要对应改成3.1
发布就完了!!!!
这是我的发布目录
D:\MSDN\publishweb\webdemo
在D:\MSDN\publishweb下新建
docker-compose.yml
version: '3'
services:
webdemo:
container_name: webdemo
image: demoforauthentication
build:
context: ./webdemo
dockerfile: Dockerfile
ports:
- "80:9090"
- "443:9091"
environment:
- ASPNETCORE_ENVIRONMENT=Production
#- ASPNETCORE_ENVIRONMENT=Development
- TZ=Asia/Shanghai
- RunOnDocker=true
volumes:
- ./data:/app/data
- ./aspnetkeys:/root/.aspnet/DataProtection-Keys
restart: always
在D:\MSDN\publishweb\webdemo目录下新建
Dockerfile(没有后缀,注意不要写错)
FROM mcr.microsoft.com/dotnet/aspnet:5.0
WORKDIR /app
COPY . /app
RUN mkdir -p /app/data
EXPOSE 5000
ENTRYPOINT ["dotnet", "WebCmsDemo.dll"]
好啦,完成!
部署-发布(Linux上)
打开sftp,将程序包传到linux服务器上
将publishweb文件夹传送到服务器home目录下
回到根目录,执行命令:
cd ..
打开home文件夹
cd home
docker-compose up
坑3:没安装docker,真是坑自己啊!
安装docker
yum install docker
当然是【y】
安装成功
启动docker
sudo systemctl start docker
设置自启动
sudo systemctl enable docker
查看docker信息
systemctl status docker