英语学习网站项目运行:

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
还原数据库失败

image-1661356946400

添加对应的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复制过来内容"{“带这个无法显示我吧内容的左边的”{"删掉了,自己记得加上

以下为图片:

image-1661357072006

image-1661357196091

需要单个设置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里面)

image-1661357232361

全部启动成功

image-1661357252787

image-1661357273711

image-1661357291917