使用WTM框架创建博客系统后台并在云服务器发布
阅读导航
- 关于lqclass.com
- 博客后台前后端部署
- 2.1 已部署访问链接
- 2.2 nginx 部署
- 2.2.1 后台后端发布
- 2.2.2 后台前端发布
- 2.2.3 云服务器部署
- 下次分享
1. 关于lqclass.com
lqclass.com是新建博客网站的域名,博客网站站名暂定乐趣Class,前期边开发边分享开发成果。
2. 博客后台前后端部署
2.1 已部署访问链接
先给出后台前后端访问链接吧:
- 后台前端
http://admin.lqclass.com/
测试账号与密码同名:lqclass.com
- 后台后端
http://api.lqclass.com/swagger/index.html
对部署细节感兴趣的朋友可继续阅读后面的内容。
前后端部署,对常做B/S开发的朋友来说,应该是很简单,我这只做下简单记录,技术交流请阅读原文留言,因为本号没有留言功能...
2.2 nginx 部署
博客系统正在开发,部署暂时未上Docker,毕竟我不熟,Nginx倒是接触过几回了,来日方长,不着急。
2.2.1 后台后端发布
使用WTM创建的后端,目前框架最高只能选到.NET Core 3.1,.NET 5.0还未支持。
.NET Core的发布很方便,只需要选择主工程,右键点击“发布”,弹出发布配置界面(下面是我的发布配置),选择的部署模式是框架依赖,服务器上只需要安装.NET Core运行时即可(当然也可以选择独立发布,运行时都不用安装):

将打包发布生成的文件拷贝到服务器,生成的目录是:
lqclass.com\src\LQClass.Admin\LQClass\bin\Release\netcoreapp3.1\publish
服务器上具体存放的目录,2.2.3后面接着说。
2.2.2 后台前端发布
前端发布也方便,一句命令:
npm run build
完事,将前端发布生成的文件拷贝到服务器,生成的目录是:
lqclass.com\src\LQClass.Admin\LQClass\ClientApp\dist
服务器上具体存放的目录,2.2.3接着就讲。
2.2.3 云服务器部署
买了一个Windows Server 2016的云服务器,部署比较方便。
部署步骤:
- 下载 nginx,解压到某目录。
http://nginx.org/en/download.html
- 将后台前后端发布生成的文件存放在nginx的html目录中,目录结构如下:

- admin:后台前端Web文件,使用
WTM生成的vue前端; - api:后台后端文件,.NET Core 3.1 Web API,计划也做为前台后端,使用
WTM生成的后端;
api后端文件不是必须放在nginx目录下,只是为了方便管理,运行后端时直接双击运行LQClass.exe即可,用nginx做反向代理。
- web:前台前端,目录只是vue cli创建的空项目,目前也可以访问的,只是没多大意义
访问地址:
lqclass.com
- 配置
nginx-1.19.5\html\nginx.conf
一级域名、二级域名创建及关联云服务器IP,DNS解析等请在云服务器控制台那边折腾,这个就不详说了。
下面是nginx的配置,站长折腾了好一会儿,因为不熟,问了Dotnet9技术交流群的一些大佬,然后折腾出来的,配置的可能有点啰嗦,有建议欢迎留言哦,配置注释我直接写在下面配置文件中:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80; // 80端口
server_name lqclass.com; // 前台对外访问域名
location / {
root html/web; // 前台发布文件目录
index index.html index.htm;
}
}
server {
listen 80; // 80端口
server_name api.lqclass.com; // 后台后端对外访问域名
location / {
proxy_pass http://127.0.0.1:5000; // nginx反向代理的后端地址,双击运行后端本地的访问地址,外网通过api.lqclass.com可以代理到该地址
}
}
server {
listen 80; // 80端口
server_name admin.lqclass.com; // 后台前端对外访问域名
location / {
root html/admin; // 后台前端发布文件目录
index index.html index.htm;
}
location /api {
proxy_pass http://127.0.0.1:5000/api; // 后台前端访问后端接口时的代理地址,使得nginx可以处理跨域的问题
}
}
}
- 双击nginx.exe,外网即可访问
乐趣Class的前后台前端、后端了,访问地址见2.1。
3. 下次分享
目前博客系统的后台前后端使用WTM搭建,为了后面开发博客系统前台,站长决定先熟悉WTM的已有API接口,正在使用WPF重构后台客户端(.NET 5),尽量仿照后台前端风格及功能,比如登录页面:


文末资源分享
- 回复数字【01】:获取DotNet技术资料
- 回复数字【02】:获取Java技术资料
- 回复数字【03】:获取Android技术资料
- 回复数字【04】:获取C++技术资料
- 回复数字【05】:获取Qt技术资料
- 回复数字【06】:获取React资源
- 添加号主微信号【dotnet9】:备注【入群】加入与大佬们的技术交流
- 添加QQ群【771992300】:备注【Dotnet9】加入技术交流,无人数上限、有资源共享
时间如流水,只能流去不流回。
- 公众号:Dotnet9
- 号主微信号:dotnet9
- 仓库地址:lqclass.com
- 本文Markdown、pdf、ppt:点击下载
- 作者及编辑:沙漠之尽头的狼
- 日期:2020-12-26
使用WTM框架创建博客系统后台并在云服务器发布的更多相关文章
- 博客系统-后台页面搭建:eazy
业务分析:布局为四个模块上边是系统描述,左边是导航菜单,中间是每个窗口的内容,下边是版权信息 点击左边的导航按钮,在右边窗口显示 代码: <%@ page language="java ...
- Hexo博客部署到腾讯云服务器全过程(Nginx,证书,HTTPS),你要的这里都有
背景 说来也惭愧,博客已经搭建很久了,一直免费的部署在 Coding 和 Github Pages 上,前者迁移到腾讯云 Serverless,导致原有的配置始终有问题,没时间仔细研究,刚好腾讯服务器 ...
- 在云服务器搭建WordPress博客(一)实现云服务器与域名的绑定
随着云的兴起,越来越多的人选择在云服务器上搭建自己的博客,比较著名的开源博客管理系统当属WordPress了,那么怎么在服务器上搭建WordPress呢? 我们需要让别人能够访问我们的博客,就比如输入 ...
- 基于express+mongodb+pug的博客系统——后台篇
上一篇介绍了模板引擎pug.js的用法,这一篇就主要写后台逻辑了. 后台的大部分的功能都有了,只是在已经登录的状态下,前台和后台的逻辑处理还不是很完善. 先上几张图吧,仿旧版的简书,改了下UI,因为没 ...
- 【blog】推荐一个博客系统后台管理模板 - pinghsu
pinghsu https://github.com/chakhsu/pinghsu
- 从零开始,搭建博客系统MVC5+EF6搭建框架(4)下,前后台布局实现、发布博客以及展示。
一.博客系统进度回顾 目前已经完成了,前台展示,以及后台发布的功能,最近都在做这个,其实我在国庆的时候就可以弄完的,但是每天自己弄,突然最后国庆2天,连电脑都不想碰,所以就一直拖着,上一篇写了前端实现 ...
- 三分钟入坑指北 🔜 Docsify + Serverless Framework 快速创建个人博客系统
之前由于学摄影的关系,为了提高自己的审美,顺便锻炼下自己的英文能力,翻译了不少国外艺术类的 文章.最近一直想搭一个个人博客来存放这些内容,又懒得折腾建站,遂一直搁置. 直到偶然发现了 docsify ...
- 欢迎阅读daxnet的新博客:一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统
2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为"希赛网" ...
- 一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统
2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为“希赛网”)个人空间发布过一些 ...
- 基于Microsoft Azure、ASP.NET Core和Docker的博客系统
欢迎阅读daxnet的新博客:一个基于Microsoft Azure.ASP.NET Core和Docker的博客系统 2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客 ...
随机推荐
- HDU-3591 混合背包
The trouble of Xiaoqian Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/ ...
- redis集群搭建注意事项
官方教程:https://redis.io/docs/management/scaling/ 其他参考: https://note.youdao.com/ynoteshare/index.html?i ...
- tarjan无向图割点与割边板子
\(\Huge{割点}\) \(无向图割点判定法则\) 当遍历到一个点x时,这个点为割点的情况有两种: 第一种是该节点为根节点且子节点数>=2,必导致两个子节点不连通: 第二种是该节点不为根节点 ...
- vulntarget-a-wp
vulntarget-a 信息收集 存活扫描,目标开放了445还是win7,考虑一手永恒之蓝 arp-scan -l nmap -A -sT -sV 192.168.130.4 永恒之蓝 用nmap的 ...
- MySQL运维实战(1.3)安装部署:源码编译安装
作者:俊达 引言 在大多数情况下,我们不需要自己编译MySQL源码,因为编译的MySQL和二进制包的内容基本一致.然而,有些特殊情况可能需要我们采用源码编译的方式安装MySQL: 安装非标准版本的My ...
- ReactNative环境安装
一.Homebrew 采用 Homebrew 镜像源及工具,切换到国内. /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/Homebre ...
- 细说GaussDB(DWS)的2种查询优化技术
本文分享自华为云社区<GaussDB(DWS)查询优化技术大揭秘>,作者: 胡辣汤. 大数据时代,数据量呈爆发式增长,经常面临百亿.千亿数据查询场景,当数据仓库数据量较大.SQL语句执行效 ...
- 六步带你体验EDS交换数据全流程
本期我们将走进XX医疗集团向某慢病院共享数据的场景,如何通过EDS完成数据交换,进而实现医疗数据的安全可控共享. 本文分享自华为云社区<[EDS从小白到专家]第1期-六步带你体验EDS交换数据全 ...
- 自定义TBE算子入门,不妨从单算子开发开始
摘要:以单算子开发为例,带你了解算子开发及测试全流程. 为什么要自定义算子 深度学习算法由一个个计算单元组成,我们称这些计算单元为算子(Operator,简称Op).算子是一个函数空间到函数空间上的映 ...
- ByteHouse+Apache Airflow:高效简化数据管理流程
Apache Airflow 与 ByteHouse 相结合,为管理和执行数据流程提供了强大而高效的解决方案.本文突出了使用 Apache Airflow 与 ByteHouse 的主要优势和特点,展 ...
