英语学习网站项目运行:
1.先安装完需要 的环境
2.配置环境变量 数据库连接字符串
设置环境变量
DefaultDB:ConnStr
Data Source=xxxx;Initial Catalog=YouzackDB; User Id = sa; Password=xxx;
安装EF Core Tools 记得版本对应的SQL server
Install-Package Microsoft.EntityFrameworkCore.Tools -Version 6.0.1
还原数据库失败
添加对应的MyDesignTimeDbContextFactory
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端口是否在使用
netstat -aon|findstr “44334”
原型英语学习网址:https://www.youzack.com/
初始化账号 上帝账号:admin 123456
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里面)
全部启动成功