[WordPress] 子目录下WP建站Nginx反向代理设置

子目录下WP建站Nginx反向代理设置 参考官方文档,两种方式一下都可以实现要求 方法1,rewrite方式,适用php-fpm location /替换子目录名称/ { index index.html index.php; if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /替换子目录名称/index.php; } } 方法2,使用try_files方式 location /替换子目录名称/ { index index.php; try_files $uri $uri/ /替换子目录名称/index.php?$args; } 必须要做的,把wp-admin单独处理 rewrite /替换子目录名称/wp-admin$ $scheme://$host$uri/ permanent;

Win10 DISM离线安装.net framework

Win10 DISM离线安装.net framework DISM(Deployment Image Servicing and Management)就是部署映像服务和管理 (DISM.exe) 用于安装、卸载、配置和更新脱机 Windows(R) 映像和脱机 Windows 预安装环境 (Windows PE) 映像中的功能和程序包。 安装.net framework, windows系统安装盘位置为E:盘 Dism /Online /Enable-Feature /FeatureName:netfx3 /Source:E:\sources\sxs 其他用途 1.扫描映像,查看映像是否有损坏(有损坏时电脑会遇到许多小问题,比如可能无法更新系统) Dism /Online /Cleanup-Image /ScanHealth 2.最后是修复系统映像文件 Dism /Online /Cleanup-Image /RestoreHealth 使用本地源修复镜像,可以是windows安装光盘,或者虚拟光驱加载ISO文件 Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess PE环境下也可以用ImageFile方式,直接使用windows image格式文件 Dism /Apply-Image /ImageFile:X:sourcesinstall.wim /Index:1 /ApplyDir:C: 参考 https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/what-is-dism

FastAPI 使用JWT认证的中间件

FastAPI 使用JWT认证的中间件 fastapi的中间件还是太少,单独开发JWT需要,starlette本身提供认证相关实现,只需要自定义一个AuthenticationBackend即可,本次我们实现使用中间价方式拆包JWT的令牌,获取payload里面的用户信息 私有定义的payload内容格式如下 { “usid”: “SkDQBhEjUfygRSeEBech”, //UUID Short “uname”: “test user name”, //Username “mid”:”700010001″ // Member ID } 调用代码 app = FastAPI() app.add_middleware(AuthenticationMiddleware,backend=JWTAuthenticationBackend(secret_key=”YOUR_SECRET_KEY”)) 完整的代码 import jwt from starlette.authentication import ( AuthenticationBackend, AuthenticationError, BaseUser, AuthCredentials, UnauthenticatedUser ) class JWTUser(BaseUser): def __init__(self, user_id_short: str, member_number: str, user_name: str,token: str, payload: dict) -> None: self.user_name = user_name …

Docker中使用conda不能激活环境问题

Anaconda或者miniconda在容器中安装以后,需要手动执行一下 conda init以后才可以激活相应的环境 假设conda的安装目录prefix为 /opt/conda/ 查看init以后的~/.bashrc,发现conda是根据shell的类型执行相应的安装 __conda_setup=”$(‘/opt/conda/bin/conda’ ‘shell.bash’ ‘hook’ 2> /dev/null)” if [ $? -eq 0 ]; then eval “$__conda_setup” else if [ -f “/opt/conda/etc/profile.d/conda.sh” ]; then . “/opt/conda/etc/profile.d/conda.sh” else export PATH=”/opt/conda/bin:$PATH” fi fi unset __conda_setup 安装完成conda以后,直接执行相同的操作,启动/bin/bash时默认就会激活base环境 Ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh echo “. /opt/conda/etc/profile.d/conda.sh” >> ~/.bashrc # echo “conda activate base” >> ~/.bashrc export PATH=”/opt/conda/bin:$PATH” …

Nvidia CUDA开发环境 Docker容器启用显卡

Nvidia CUDA开发环境 Docker容器启用显卡 1.准备docker>19.03 环境,配置好nvidia-container-toolkit 2.确定本机已安装的显卡驱动版本,匹配需要的容器版本 3.Pull基础docker镜像,可以从官方或者dockerhub下载 https://ngc.nvidia.com/catalog/containers/nvidia:cuda/tags https://gitlab.com/nvidia/container-images/cuda cuda10-py36-conda的Dockerfile FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04 MAINTAINER Limc #close frontend ENV DEBIAN_FRONTEND noninteractive # add cuda user # –disabled-password = Don’t assign a password # using root group for OpenShift compatibility ENV CUDA_USER_NAME=cuda10 ENV CUDA_USER_GROUP=root # add user RUN adduser –system –group –disabled-password –no-create-home –disabled-login $CUDA_USER_NAME RUN adduser $CUDA_USER_NAME …

[docker]升级docker19.03使用nvidia-container-toolkit

升级docker19.03使用nvidia-container-toolkit docker升级到19.03以后,nvidia将提供原生的显卡支持,只需要安装 nvidia-container-toolkit工具包即可, 不再像使用nvidia-docker/2那样复杂配置,而且不支持用docker-compose 安装步骤 1.确认本机nvidia驱动安装正确,cuda和cudnn配置正常,官方文档说可以不需要在host配置cuda, 2.安装docker,可以参考,主要安装19.03以后的版本 https://docs.docker.com/engine/install/ubuntu/ 3.添加nvidia-docker的源 curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \ sudo apt-key add – distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \ sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update 4.使用以下命令安装nvidia-container-toolkit,重启docker sudo apt-get install -y nvidia-container-toolkit #restart docker sudo systemctl restart docker 5.如果本机已安装nvidia-docker2,可以单独完成安装nvidia-container-toolkit,且相互不影响, 官方虽然已经宣布nvidia-docker2 deprecated了,但是继续使用是没问题的 使用上的主要区别 使用nvidia-container-toolkit #使用nvidia-container-toolkit docker run –gpus …

H3C 华三交换机配置物理隔离端口

对于只需要经过uplink连接外网,不需要跟交换机内其他端口交换的端口,可以通过隔离端口组方式实现二层物理隔离。 VLAN-1020 10.20.0.0/16 eg1/0/17-eg1/0/18 access 注意: 1.一个端口只能加入到一个端口隔离组 2.不会隔离经由trunk/uplink的交换 1.创建端口隔离组 # 切换系统视图 sys # 创建物理隔离端口组 [H3C] port-isolate group 1 #切换到GigabitEthernet1/0/17 [H3C] interface GigabitEthernet 1/0/17 #加入端口隔离组1 [H3C-GigabitEthernet1/0/17]port-isolate enable group 1 #打开端口 [H3C-GigabitEthernet1/0/17]undo shutdown #完成 [H3C-GigabitEthernet1/0/17]quit #切换到GigabitEthernet1/0/18 [H3C] interface GigabitEthernet 1/0/18 #加入端口隔离组1 [H3C-GigabitEthernet1/0/18]port-isolate enable group 1 #打开端口 [H3C-GigabitEthernet1/0/18]undo shutdown #完成 [H3C-GigabitEthernet1/0/18]quit 2.管理 #查看端口隔离组 [H3C] display port-isolate group 1