Supervisor 部署Django网站的配置

和asp.net core应用类似,django也是需要守护进程来守护的,配置如下:

[program:django-python]
#项目目录
direct=/var/www/www.example.com
#启动进程命令
command=/bin/bash -c "python3 /var/www/www.example.com/manage.py runserver 127.0.0.1:8080"
#是否自动启动
autostart=true
#是否自动重启
autorestart=true
stdout_logfile=/var/log/django_stdout.log
stderr_logfile=/var/log/django_stderr.log
user=root
stopsignal=TERM
startsecs=5
startretries=3
stopasgroup=true
killasgroup=true

.NET 7 身份验证和授权的变化

.NET 7 于今天(2022.11.9)发布了,在 ASP.NET Core 的身份验证和授权的配置上做了一些简化,变化如下:

配置登录验证的方式,从 .NET 6 的:

builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme);

变成了 .NET 7 的:

builder.Services.AddAuthentication().AddCookie();

ASP.NET Core 会自动对认证方案进行推断,从而省略了参数的配置。

对于登录验证和授权的中间件,.NET 7 中不再需要手动引入,框架会自动推断是否使用,因此,app.UseAuthentication()和app.UseAuthorization()也就不再需要了。

从而,运行一个完整的 ASP.NET Core MVC 程序所需要的最简配置是这样的:

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
builder.Services.AddAuthentication().AddCookie(); // new feature
var app = builder.Build();
app.UseStaticFiles();
app.MapDefaultControllerRoute();
app.Run();

参考链接:https://auth0.com/blog/whats-new-in-dotnet-7-for-authentication-and-authorization/

虚拟机安装 Debian 系统缩放的问题

在vmware虚拟机中安装debian,并调整好缩放后,当vmware窗口大小变化时,会导致虚拟机缩放恢复到100%。

解决办法:

可以在终端命令行中,执行下面的命令解决这个问题:

设置缩放比例为2倍

# scaling-factor 仅能设置为整数 1=100%,2=200% 3=300% ......
gsettings set org.gnome.desktop.interface scaling-factor 2

该方法同样适用于virtualbox