From b585c6fe1c731f338ab8ae8c5b56850a8b5c2069 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 24 Nov 2024 19:49:14 +0800 Subject: [PATCH] 1120 --- ...71\347\233\256\347\273\223\346\236\204.md" | 23 +++++ .../2024.11.20\351\203\250\347\275\262mvc.md" | 84 +++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 "\350\224\241\345\234\243\346\201\251/2024.11.18\351\241\271\347\233\256\347\273\223\346\236\204.md" create mode 100644 "\350\224\241\345\234\243\346\201\251/2024.11.20\351\203\250\347\275\262mvc.md" diff --git "a/\350\224\241\345\234\243\346\201\251/2024.11.18\351\241\271\347\233\256\347\273\223\346\236\204.md" "b/\350\224\241\345\234\243\346\201\251/2024.11.18\351\241\271\347\233\256\347\273\223\346\236\204.md" new file mode 100644 index 0000000..17c9966 --- /dev/null +++ "b/\350\224\241\345\234\243\346\201\251/2024.11.18\351\241\271\347\233\256\347\273\223\346\236\204.md" @@ -0,0 +1,23 @@ +# 项目组织结构与部署指南 + +## 1. 项目组织结构 +### 解决方案和项目的架构 +- **MVC模式**:模型(Model)- 视图(View)- 控制器(Controller) +- **项目结构解读**:了解如何组织代码,包括模型、视图、控制器的位置及其作用。 + +## 2. 在Linux上部署MVC项目 +### ① 创建模板ASP.Net Core Web应用 +- 使用命令行工具或Visual Studio来创建一个新的ASP.Net Core Web应用项目。 + +### ② 在控制器和视图中写入相应文件 +- 编写业务逻辑的控制器类。 +- 设计用户界面的视图文件。 + +### ③ 安装sdk运行环境 +- 根据目标Linux发行版,选择合适的.NET Core SDK版本进行安装。 +- 确保所有依赖项都已正确安装,以便应用程序能够顺利运行。 + +### ④ 打包上传程序 +- 使用`dotnet publish`命令将应用程序发布为可执行文件。 +- 将生成的文件上传到Linux服务器上的目标位置。 +- 配置服务器以允许HTTP/HTTPS访问,并确保防火墙规则允许相应的端口。 \ No newline at end of file diff --git "a/\350\224\241\345\234\243\346\201\251/2024.11.20\351\203\250\347\275\262mvc.md" "b/\350\224\241\345\234\243\346\201\251/2024.11.20\351\203\250\347\275\262mvc.md" new file mode 100644 index 0000000..6df6ec2 --- /dev/null +++ "b/\350\224\241\345\234\243\346\201\251/2024.11.20\351\203\250\347\275\262mvc.md" @@ -0,0 +1,84 @@ +# Debian部署MVC(Asp.Net Core)的先决条件 + +## 1. 在服务器上安装运行环境或者调试环境 +### 1.1 安装SDK包管理器 +- **下载文件** + ```bash + wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb + ``` +- **注册文件** + ```bash + sudo dpkg -i packages-microsoft-prod.deb + ``` +- **删除刚才注册的文件** + ```bash + rm packages-microsoft-prod.deb + ``` +- **更新软件源** + ```bash + sudo apt update + ``` +- **安装SDK** + ```bash + sudo apt install dotnet-sdk-8.0 + ``` +### 1.2 在Linux上安装软件或者应用,常用方式如下: +- **包管理器(相对于用户来说最简单)** +- **使用二进制文件安装(次简单)** +- **编译安装(最难)** + +## 2. 将打包好的程序上传到指定目录 +### 2.1 创建模板(模型-视图-控制器) +```bash +dotnet new mvc -n MyApp +cd MyApp +``` +### 2.2 写程序(网页) +编辑 `Views/Home/Index.cshtml` 文件以添加一些内容。 +### 2.3 打包上传,以下两种方式: +#### 2.3.1 使用scp工具 +```bash +dotnet publish -c Release +scp -r ./* root@XXXX.XXX:var/www/XXXX.XXX +``` +测试是否完成 +```bash +dotnet .\bin\Release +et8.0\publish\MyApp.dll +``` +#### 2.3.2 xftp +- 使用xftp客户端上传发布的内容到服务器。 +### 2.4 跑一下上面上传的程序,测试是否成功 +```bash +dotnet /var/www/XXXX.XXX/MyApp.dll +``` +如果成功,则在后续工作中不能停止运行。 + +## 3. 一般建议使用Nginx做反向代理 +### 3.1 看一下上面的程序是否在网站当中 +```bash +curl http://localhost:5000; +``` +### 3.2 为该网站配置文件(反向代理) +切换目录: +```bash +cd /etc/nginx/conf.d +``` +反向代理配置文件: +```nginx +server { + listen 80; + server_name XXX.lcann.cn; + location / { + proxy_pass http://localhost:5000; + } +} +``` +检查是否有语法错误: +```bash +nginx -t +``` +重新加载配置: +```bash +nginx -s reload +``` \ No newline at end of file -- Gitee