英语学习网站项目运行
## 英语学习网站项目运行:
如果觉得样式不好:跳转即可 (md文件复制过来有些样式会不一样)
原文地址:https://lifengying.site/archives/6163a062-f0c6-236e-0b8b-662faf6a43d0
##### 1.先安装完需要 的环境
##### 2.配置环境变量 数据库连接字符串
##### 设置环境变量
```C#
DefaultDB:ConnStr
Data Source=xxxx;Initial Catalog=YouzackDB; User Id = sa; Password=xxx;
```
```C#
安装EF Core Tools 记得版本对应的SQL server
Install-Package Microsoft.EntityFrameworkCore.Tools -Version 6.0.1
```
##### 还原数据库失败
##### 添加对应的MyDesignTimeDbContextFactory
```C#
public class MyDesignTimeDbContextFactory : IDesignTimeDbContextFactory<IdDbContext>
{
public IdDbContext CreateDbContext(string[] args)
{
DbContextOptionsBuilder<IdDbContext> builder = new();
var connStr = $"Data Source=xxxx;Initial Catalog=YouzackDB; User Id = sa; Password=xxx;";
builder.UseSqlServer(connStr);
return new IdDbContext(builder.Options);
}
}
```
#### 数据库表配置:
| Id | Name | Value |
| --- | --------------- | -------------------------------------------------------------------------------------- |
| 1 | Cors | "Origins":["http://localhost:3000","http://localhost:3001"]} |
| 2 | FileService:SMB | "WorkingDir":"e:/temp/upload"} |
| 3 | Redis | "ConnStr":"locahost"} |
| 4 | RabbitMQ | "HostName":"locahost","ExchangeName":"youzack_event_bus"} |
| 5 | ElasticSearch | "Url":"elastic:http://密码@locahost"} |
| 6 | JWT | "Issuer":"my","Audience":"my","Key":"afafafdfa23jyuobc@123","ExpireSeconds":31536000} |
==由于typora复制过来内容"{"带这个无法显示我吧内容的左边的"{"删掉了,自己记得加上==
### 以下为图片:
==需要单个设置iis启动 然后再配置多个 不然是启动的内置服务器 端口会被占用 或者自己修改配置即可==
按照上述用iis启动之后地址是如下的:https://localhost:44333/swagger/index.html
这个地址以你项目跑起来的网址为准 然后nginx与之对应即可
==是https==
==如果是启动的内置的服务器 自己记改端口 使用不被占用的即可==
==如果nginx 按照之后启动失败 检查下自己的iis是否启动了80端口 关闭即可 或者修改调用的端口为非80 这样比较麻烦,所以推荐关闭iis里面的80的服务即可==
==所以 记住nginx的配置需要设置成如下==
```
location /Listening.Main/ {
proxy_pass https://localhost:44334/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
```
如果想要查找特定的端口,可以输入并回车执行 netstat -aon|findstr “端口号” 命令,例如:netstat -aon|findstr “80”,即为查找端口号为80的信息。
看这个44334端口是否在使用
```powershell
netstat -aon|findstr “44334”
```
原型英语学习网址:https://www.youzack.com/
初始化账号 上帝账号:admin 123456
```C#
public async Task<ActionResult> CreateWorld()
{
if (await repository.FindByNameAsync("admin") != null)
{
return StatusCode((int)HttpStatusCode.Conflict, "已经初始化过了");
}
User user = new User("admin");
var r = await repository.CreateAsync(user, "123456");
Debug.Assert(r.Succeeded);
var token = await repository.GenerateChangePhoneNumberTokenAsync(user, "18918999999");
var cr = await repository.ChangePhoneNumAsync(user.Id, "18918999999", token);
Debug.Assert(cr.Succeeded);
r = await repository.AddToRoleAsync(user, "User");
Debug.Assert(r.Succeeded);
r = await repository.AddToRoleAsync(user, "Admin");
Debug.Assert(r.Succeeded);
return Ok();
}
```
windows安装Nginx
下载地址和使用方法:https://www.pc6.com/softview/SoftView_106085.html
参考地址:https://blog.csdn.net/javalingyu/article/details/124483646
项目运行起来,基本上能踩的坑我都踩了,我除了nginx其他都是部署在Linux的docker里面的。(因为项目是本机运行的,nginx得装在本机其他都在docker里面)
全部启动成功