win10 连接samba 账号密码提示不正确

samba密码是正确的 在局域网中其他的电脑可以就有一台电脑无法登陆

  1. 本地bai安全策略,du本地策略-安全选项,需要修改成默认的值的修改方式:(运行regedit命令)查找注册表浏览到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA直接删除 LMCompatibilityLevel 键。确定删除后。
  2. 运行secpol.msc命令。打开本地安全策略。
  3. 查看 网络安全:LAN管理器身份验证级别,安全设置已经变为默认"没有定义"


jenkins

CI/CD持续集成工具

插件加速安装设置

version: '3.7'
services:
  jenkins:
    image: jenkins/jenkins:2.204
    restart: always
    environment:
    - JENKINS_UC_DOWNLOAD=https://mirrors.tuna.tsinghua.edu.cn/jenkins/
sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/https:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

插件镜像

https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json #清华大学仓库地址

相关资料

官方docker
docker-github
Jenkins for Docker 跳过插件安装及插件加速镜像设置

JMeter端口占用处理

windows 环境下的端口循环回收需要消耗2~4分钟。由此猜测可能是由于 windows下压测端口数有限,端口资源被占满,没有及时循环回收,导致报错

修改注册表

使用 win + R 快捷键打开 cmd,输入 regedit 命令打开注册表

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

右键新建参数(DWORD),并设置值。

MaxUserPort    十进制 65534
TcpTimedWaitDelay 十进制 30
KeepAliveTime      006ddd00
KeepAliveInterval    000003e8
MaxDataRetries 5

JMeter工具

HTTP请求的时候去掉勾选使用 keep alive

参考资料

Jmeter测试会出现端口占用情况
windows下Jmeter压测端口占用问题
Jmeter Address already in use: connect 解决方案

nginx简单认证访问

生成的swagger文档页面没有用户限制 需要简单的认证后才可以访问

  1. 安装工具
    sudo apt install apache2-utils

  2. 生成账号密码
    htpasswd -c ./pwd user

  3. 配置文件

    server {
    listen       80;
    server_name  local.server.com;
    **auth_basic "User Authentication";
    auth_basic_user_file /etc/nginx/pwd;**
    location / {
        root   /data/www;
        index  index.html;
    }
    }
  4. 针对性配置

    location ~ /.*/swagger-ui.html.* {
      #密码登录
      auth_basic "接口文档";
      auth_basic_user_file /opt/nginxpwd;
      # 不同的路径进入到不同地址,还不知道怎么改成一个通配符,自动填充
      if ( $uri ~ /smsapi/.* ) {
        proxy_pass http://smsapi;
      }
      if ( $uri ~ /find/.* ) {
        proxy_pass http://find;
      }
      proxy_redirect off;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

相关资料

简单实现 nginx 用户登录认证
nginx 拦截 swagger 登录

gitlab重置root的密码


-sh-4.2$ gitlab-rails console production
-------------------------------------------------------------------------------------
 GitLab:       12.0.3 (08a51a9db93)
 GitLab Shell: 9.3.0
 PostgreSQL:   10.7
-------------------------------------------------------------------------------------
Loading production environment (Rails 5.1.7)
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
irb(main):004:0> user.password=12345678
=> 12345678
irb(main):005:0> user.save!
Enqueued ActionMailer::DeliveryJob (Job ID: 60439440-6443-46d1-acda-e29172be146a) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", #<GlobalID:0x00007f09e949b958 @uri=#<URI::GID gid://gitlab/User/1>>
=> true
irb(main):006:0> exit
-sh-4.2$ exit
[root@qas-k8s-gitlab gitlab]# gitlab-ctl restart
ok: run: alertmanager: (pid 43507) 0s
ok: run: gitaly: (pid 43523) 0s
ok: run: gitlab-monitor: (pid 43542)
————————————————

原文地址

easyswoole用ioc重写系统日志类

easyswoole 3.3.7

定义自己的日志类

<?php

namespace App\Ioc;

use EasySwoole\Log\LoggerInterface;
use EasySwoole\Log\Logger;

class Log implements LoggerInterface
{

    private $logger;

    function __construct()
    {
        $this->logger = new Logger(EASYSWOOLE_LOG_DIR);
    }

    function log(?string $msg,int $logLevel = self::LOG_LEVEL_INFO,string $category = 'debug')
    {
        return $this->logger->log($msg, $logLevel, $category);
    }

    function console(?string $msg,int $logLevel = self::LOG_LEVEL_INFO,string $category = 'debug')
    {
        var_dump($msg);
        $this->logger->console($msg, $logLevel, $category);
    }
}

IOC覆盖系统日志类

项目根目录创建文件 bootstrap.php

<?php

use App\Ioc\Log;
use EasySwoole\Component\Di;
use EasySwoole\EasySwoole\SysConst;

Di::getInstance()->set(SysConst::LOGGER_HANDLER, Log::class);

分析

EasySwoole\EasySwoole\Core.php

查看源码中的registerErrorHandler方法

....
        //初始化配置Logger
        $logger = Di::getInstance()->get(SysConst::LOGGER_HANDLER);
        if(!$logger instanceof LoggerInterface){
            $logger = new DefaultLogger(EASYSWOOLE_LOG_DIR);
        }
        Logger::getInstance($logger);

        //初始化追追踪器
        $trigger = Di::getInstance()->get(SysConst::TRIGGER_HANDLER);
        if(!$trigger instanceof TriggerInterface){
            $trigger = new DefaultTrigger(Logger::getInstance());
        }
        Trigger::getInstance($trigger);

        //在没有配置自定义错误处理器的情况下,转化为trigger处理
        $errorHandler = Di::getInstance()->get(SysConst::ERROR_HANDLER);
        if(!is_callable($errorHandler)){
            $errorHandler = function($errorCode, $description, $file = null, $line = null){
                $l = new Location();
                $l->setFile($file);
                $l->setLine($line);
                Trigger::getInstance()->error($description,$errorCode,$l);
            };
        }
        set_error_handler($errorHandler);
....

查看 easyswoole-事件文档

查看 easyswoole-生命周期

easyswoole之消息队列nqs

easyswoole版本: 3.3.7

文档提供有安装和docker-compose示例代码,启动的时候会报告错误(如果你不调试可能也看不到错误).

错误1: TOPIC_NOT_FOUND 你需要先创建一个topic 登录到nqs中创建

错误2: UPSTREAM_ERROR: Failed to query any nsqlookupd 这个时候应该是没有数据需要执行命令 curl -d 'hello world 2' 'http://127.0.0.1:4151/pub?topic=test'

错误3: [2020-06-24 09:28:50][debug][warning]:[Swoole\Client::recv(): recv() failed. Error: Resource temporarily unavailable [11] at file:/var/www/eseckill/vendor/easyswoole/nsq/src/Connection/AbstractMonitor.php line:52 作者回应是断线问题, 需要自己处理断线重连.

相关资料

官方文档
github-nqs