0%

1.调整默认的 nginx 参数 client_max_body_size

1
2
3
4
5
6
7
8
9
10
11
12
apiVersion: {{ingApiVersion}}
kind: Ingress
metadata:
name: {{ingName}}
namespace: {{namespace}}
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
kubernetes.io/ingress.class: {{ingClass}}
cert-manager.io/cluster-issuer: {{clusterIssuer}}
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
nginx.ingress.kubernetes.io/force-ssl-redirect: 'true'
nginx.ingress.kubernetes.io/proxy-body-size: '30m' # 跳转 nginx 的上传大小

无法通过ssh命令在windows上启动GUI或者exe服务

通过schtasks方创建任务去执行

1
2
3
4
5
6
@echo "开始通过schtasks启动test。。。"
schtasks /create /SC ONCE /TN test-build /TR C:\server\windows-bat-code\start-test.bat /ST 00:00
schtasks /run /TN test-build
schtasks /delete /TN test-build /F
exit 0

start-test.bat
启动git-bash命令执行

1
2
3
@echo "开始启动test。。。"
start "" "C:\Program Files\Git\git-bash.exe" -c "cd /c/server/test-3d/build && export BUILD_ID=dontKillMe && export test_3D_LOG_DIR='D:\app\extra_work_log\test-3d\%computername%' && start test-build.exe '-logfile -'"
exit 0

powershell 命令执行脚本

1
ssh -i /keystore/ssh -o 'StrictHostKeyChecking no' Administrator@-windows.xxx.com 'Powershell.exe -ExecutionPolicy Unrestricted -command "C:\\server\\windows-bat-code\\update-code.bat"'

update-code.bat

1
2
3
4
5
6
7
8
@echo "开始更新代码"
cd C:\server\monet-parent\
git clean -fdx
git checkout -- ./
git pull --rebase
@echo "开始安装python依赖包"
pip install -r C:\server\monet-parent\blender-3d\requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
exit 0

参考文档

Starting GUI programs via OpenSSH on Windows?

Starting application GUI on remote windows from SSH linux

bat脚本在特定目录中启动git bash窗口,并执行命令

相信很多同学在用Windows10系统的时候,经常跳出更新系统的提示。

有时自动更新的时间,恰好是我们需要急用电脑的时候,而且系统更新比较慢,等待的时间长。

甚至经常会更新失败,会影响我们的工作或者平时的使用。

其实系统不需要更新,也足够够我们使用的了。

那么如何关闭这个Windows10系统的自动更新程序呢?

①:使用快捷键Win+R,打开运行

②:输入命令:services.msc,打开系统服务界面


③:按确定之后,我们打开系统服务界面,找到【Windows Update】


④:鼠标右击找到进入属性

把启动类型更改为:禁用

我们也可以通过配置组策略来关闭Windows系统的自动更新。

①:使用快捷键Win+R,打开运行

②:输入命令:gpedit.msc,打开配置组策略

③:找到计算机配置下的【管理模板】

然后找到设置下的【Windows组件】

④:然后找到Windows组件下的【Windows更新】

⑤:然后点击进入Windows更新

找到右边的【配置自动更新】

⑥:然后双击鼠标进入配置自动更新属性

把【已禁用】选项勾上,按确定,即可关闭Windows自动更新了

但是关闭自动更新在系统功能完善,安全性方面会有点差别。当你想更新系统了,那么可以用同样的方法,启动更新程序。

注意 当关闭更新的时候 有些服务可能也会出现问题 比如windows安装openssh server的时候 就会报错

参考文档

https://zhuanlan.zhihu.com/p/38070514

搜索栏写入intl.cpl,然后根据下图一步步设置即可

image

image

安装openssh server否则无法通过ssh登录windows(一定要在禁止系统更新前安装,否则无法安装)

windows的openssh server默认是没有安装的 需要手动安装

方法1:界面安装

windows-开始-设置-应用-可选功能-添加功能-openSSH 服务端,选择安装即可

方法2:命令行

首先需要用管理员身份启动 PowerShell,使用如下命令看一下,要确保 OpenSSH 可用于安装:

1
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

输出应该是类似的结果:

1
2
3
4
5

Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

然后使用 PowerShell 安装服务器即可:

1
2

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

输出结果类似:

1
2
3
4

Path :
Online : True
RestartNeeded : False

这样也可以完成 OpenSSH 的安装。

安装完成之后,就需要进行一些初始化配置了,还是以管理员身份,使用 PowerShell 执行即可。

首先需要开启 SSHD 服务:

1
2
Start-Service sshd

然后设置服务的自动启动:

1
2

Set-Service -Name sshd -StartupType 'Automatic'

最后确认一下防火墙是否是放开的:

1
Get-NetFirewallRule -Name *ssh*

如果是放开的,那么结果会提示 OpenSSH-Server-In-TCP这个状态是 enabled。

好了,完成如上操作之后我们就可以使用 SSH 来连接我们的 Windows 服务器了。

自动后台启动不符合业务场景,自动启动会是openssh server默认成windows的服务,无法通过代码调用服务器上的exe服务,所有要手动启动,
即:通过命令行的方式启动
通过此命令运行前 需要通过”服务管理器”找到OpenSSH SSH Server 服务去启动一次sshd,不然无法通过此命令启动

start C:\Windows\System32\OpenSSH\sshd.exe

Openssh agent 是windows自带安装好的 但是没有启动,需要手动启动

启动方法:开始–windows管理工具-服务 找到 OpenSSH Authentication Agent 右键属性,启动类型调为”自动”,点击确定,右键启动即可


自动启动的方法

SSH server 安装好后需要手动启动
启动方法:开始- 服务管理器-所有服务器-服务 搜索OpenSSH找到服务后 手动启动

默认是手动启动 所以要改成服务器重启后的自动启动(业务场景中不再使用这个方法)
①:使用快捷键Win+R,打开运行
②:输入命令:services.msc,打开系统服务界面
image

③:按确定之后,我们打开系统服务界面,找到【OpenSSH SSH Server】

image

④:鼠标右击找到进入属性
把启动类型更改为:自动

image

参考文档:
https://bynss.com/windows/803763.html

https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse

https://www.cnblogs.com/ygunoil/p/15767529.html

无法启动服务,原因可能是已被禁用或与其他关联的设备没有启动

服务端切换到C:\ProgramData\ssh\下(首次启动sshd后会生成该文件夹),打开sshd_config文件,
修改文件(以下是重点):

1
2
3
4
5
6
7
8
确保以下3条没有被注释
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no

确保以下2条有注释掉
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

其余不做修改,基本都是已注释不启用。

转发方法

1、直接跳转 redirect

a. 域名转发 xxx.com 也指定转发到 www.xxx.com

1
2
3
4
nginx.ingress.kubernetes.io/configuration-snippet: |
if ($host != 'www.xxx.com') {
rewrite ^/(.*)$ https://www.xxx111.com/$1 permanent;
}

b. https://meta.xxx.com/ 转发到 https://meta.xxx.com/categories

1
2
nginx.ingress.kubernetes.io/configuration-snippet: |
rewrite ^/$ https://meta.xxx.com/categories permanent;

c. https://www.xxx.com/ 转发到 https://www.yyy.com/

1
2
3
4
5
nginx.ingress.kubernetes.io/configuration-snippet: |
#if ($host != 'www.aaa.com') {
# rewrite ^/(.*)$ https://www.bbb.com/$1 permanent;
#}
return 301 https://www.bbb.com$request_uri;

2、后台转发代理 类似proxy-pass

通过service的externalName类型进行转发

1
2
3
4
5
6
7
8
9
10
11
12
13
apiVersion: {{svcApiVersion}}
kind: Service
metadata:
name: {{svcName}}
namespace: {{namespace}}
spec:
externalName: "www.xxx.cn"
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
type: ExternalName
阅读全文 »