Windows 10 关闭自动更新

@echo off
title BLOCK Win10AU!
mode con cols=70 lines=15
color 1f
echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo ※                    禁用Windows10自动更新                         ※
echo ※                                                                  ※
echo ※          Block Windows X Automatic Update By F1tz                ※
echo ※                                                                  ※
echo ※                   请先退出360等安全管家!                        ※
echo ※           请确认右键选择“以管理员身份运行”此脚本               ※
echo ※                                                                  ※
echo ※         Please quit your Anti-Malware software first!            ※
echo ※  Make sure Right-click on script select "Run as administrator".  ※
echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo.
pause

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo ※                                                                  ※
echo ※                  结束进程 / Stopping Process...                  ※
echo ※                                                                  ※
echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

taskkill /im Windows10UpgraderApp.exe 2>nul
del /f /q "%USERPROFILE%\Desktop\微软 Windows 10 易升.lnk" 2>nul
del /f /q "%USERPROFILE%\Desktop\Windows 10 Update Assistant.lnk" 2>nul

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo ※                                                                  ※
echo ※           添加防火墙规则 / Adding firewall rules...              ※
echo ※                                                                  ※
echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

netsh advfirewall firewall add rule name="Block_Windows10UpgraderApp" dir=in program="%SYSTEMDRIVE%\Windows10Upgrade\Windows10UpgraderApp.exe" action=block
netsh advfirewall firewall add rule name="Block_WinREBootApp32" dir=in program="%SYSTEMDRIVE%\Windows10Upgrade\WinREBootApp32.exe" action=block
netsh advfirewall firewall add rule name="Block_WinREBootApp64" dir=in program="%SYSTEMDRIVE%\Windows10Upgrade\WinREBootApp64.exe" action=block
netsh advfirewall firewall add rule name="Block_bootsect" dir=in program="%SYSTEMDRIVE%\Windows10Upgrade\bootsect.exe" action=block
netsh advfirewall firewall add rule name="Block_DW20" dir=in program="%SYSTEMDRIVE%\Windows10Upgrade\DW20.EXE" action=block
netsh advfirewall firewall add rule name="Block_DWTRIG20" dir=in program="%SYSTEMDRIVE%\Windows10Upgrade\DWTRIG20.EXE" action=block
netsh advfirewall firewall add rule name="Block_GatherOSState" dir=in program="%SYSTEMDRIVE%\Windows10Upgrade\GatherOSState.EXE" action=block
netsh advfirewall firewall add rule name="Block_GetCurrentRollback" dir=in program="%SYSTEMDRIVE%\Windows10Upgrade\GetCurrentRollback.EXE" action=block
netsh advfirewall firewall add rule name="Block_HttpHelper" dir=in program="%SYSTEMDRIVE%\Windows10Upgrade\HttpHelper.exe" action=block
netsh advfirewall firewall add rule name="Block_UpdateAssistant" dir=in program="%SYSTEMROOT%\UpdateAssistant\UpdateAssistant.exe" action=block
netsh advfirewall firewall add rule name="Block_UpdateAssistantCheck" dir=in program="%SYSTEMROOT%\UpdateAssistant\UpdateAssistantCheck.exe" action=block
netsh advfirewall firewall add rule name="Block_Windows10Upgrade" dir=in program="%SYSTEMROOT%\UpdateAssistant\Windows10Upgrade.exe" action=block
netsh advfirewall firewall add rule name="Block_UpdateAssistantV2" dir=in program="%SYSTEMROOT%\UpdateAssistantV2\UpdateAssistant.exe" action=block
netsh advfirewall firewall add rule name="Block_UpdateAssistantCheckV2" dir=in program="%SYSTEMROOT%\UpdateAssistantV2\UpdateAssistantCheck.exe" action=block
netsh advfirewall firewall add rule name="Block_Windows10UpgradeV2" dir=in program="%SYSTEMROOT%\UpdateAssistantV2\Windows10Upgrade.exe" action=block

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo ※                                                                  ※
echo ※                 设置ACL / Configurating ACL...                   ※
echo ※                                                                  ※
echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

echo y|cacls C:\Windows\UpdateAssistant\*.exe /t /p everyone:n 2>nul
echo y|cacls C:\Windows10Upgrade\*.exe /t /p everyone:n 2>nul
echo.
echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo ※                                                                  ※
echo ※         停止Windows Update服务 / Disable Windows Update          ※
echo ※                                                                  ※
echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

net stop wuauserv
sc config wuauserv start= disabled

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo ※                                                                  ※
echo ※                   删除计划任务 / Delete task...                  ※
echo ※                                                                  ※
echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

schtasks /delete /TN "\Microsoft\Windows\UpdateOrchestrator\UpdateAssistant" /f 2>nul
schtasks /delete /TN "\Microsoft\Windows\UpdateOrchestrator\UpdateAssistantAllUsersRun" /f 2>nul
schtasks /delete /TN "\Microsoft\Windows\UpdateOrchestrator\UpdateAssistantCalendarRun" /f 2>nul
schtasks /delete /TN "\Microsoft\Windows\UpdateOrchestrator\UpdateAssistantWakeupRun" /f 2>nul

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo ※                                                                  ※
echo ※                 设置注册表 / Editing Registry...                 ※
echo ※                                                                  ※
echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

del /q /f %SYSTEMDRIVE%\NAU.reg 2>nul
echo Windows Registry Editor Version 5.00 >> %SYSTEMDRIVE%\NAU.reg
echo.>> %SYSTEMDRIVE%\NAU.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]>> %SYSTEMDRIVE%\NAU.reg
echo "DoNotConnectToWindowsUpdateInternetLocations"=dword:00000001 >> %SYSTEMDRIVE%\NAU.reg
echo.>> %SYSTEMDRIVE%\NAU.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]>> %SYSTEMDRIVE%\NAU.reg
echo "NoAutoUpdate"=dword:00000001>> %SYSTEMDRIVE%\NAU.reg
REG IMPORT %SYSTEMDRIVE%\NAU.reg
del /q /f %SYSTEMDRIVE%\NAU.reg 2>nul

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo ※                                                                  ※
echo ※                       任务结束 / All Done!                      ※
echo ※                                                                  ※
echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
pause



转自:https://github.com/f1tz/BlockWin10AU

CentOS7安装多个实例tomcat8

多个tomcat安装办法:

(1)解压多个tomcat挨个修改需要的端口,以前一直这么干

(2)用一个tomcat来启动多个应用实例,每个应用相互独立,互不干扰

下边说下第二种方法:

(1)解压tomcat8.5.30,重命名成tomcat文件夹,接着在tomcat文件夹下边创建tomcat8530_8081和tomcat8530_8082两个文件夹(可以自己定义各个文件夹的名字),把tomcat下边的conf (配置文件) 、logs (日志目录) 、temp (临时目录) 、webapps (自动装载的应用程序的目录) 、work (JVM临时文件目录[java.io.tmpdir])分别复制到之前创建的两个文件夹中(tomcat8530_8081和****8082中),完成后如下图(忽略8081目录中的tomcat8081.sh脚本)


(2)修改默认的tomcat端口号(8005、8080、8009),注:tomcat_8081和tomcat8082都修改成自己想要的

(3)创建启动脚本,上图中的绿色tomcat8081.sh脚本

#!/bin/sh
. /etc/init.d/functions
RETVAL=$?
# tomcat实例目录
export CATALINA_BASE="$PWD"
# tomcat安装目录
export CATALINA_HOME="/usr/local/tomcat"
# 可选
export JVM_OPTIONS="-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m"
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];then
echo $"Start Tomcat"
$CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];then
echo $"Stop Tomcat"
$CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage:$0 {start|stop}"
exit 1
;;
esac
exit $RETVAL

(4)赋予脚本权限

Chmod +x tomcat8081.sh

(5)启动/关闭tomcat8081

 #启动

./tomcat8081.sh start
#停止
./tomcat8081.sh stop

文章中有的地方目录直接写成tomcat808·,其实应该是tomcat8530_8081

freemarker判空


(1)加感叹号可以解决为空的问题

${(userId)!}
如果userId为空就默认!后边的字符
${(userId!'')}

或者

<#if userId??>
……
</#if>


(2)加上括号,感叹号解决对象导航为空的问题(对象的属性)

${(user.name)!} 
或者
<#if (user.name)??>
......
</#if>


SpringBoog 集成freemarker 数字类型逗号问题

(1)模板页面中取值时候按照下边方法,两种办法都比较麻烦,不过可以解决问题

${num?c}  

或者

${num.toString()}

(2)公共的模板页面加入以下配置

<#setting number_format="#">


(3)下边这个是网上找的,但是配置了不生效,不知道问题出在哪里

spring.freemarker.settings.number_format=0.##


贴一个Springboot集成freemarker的配置

#FREEMARKER(FreeMarkerAutoConfiguration)
spring.freemarker.allow-request-override = false#设置是否允许HttpServletRequest属性覆盖(隐藏)控制器生成的同名的模型属性。
spring.freemarker.allow-session-override = false#设置是否允许HttpSession属性覆盖(隐藏)控制器生成的同名的模型属性。
spring.freemarker.cache = false#启用模板缓存。
spring.freemarker.charset = UTF-8#模板编码。
spring.freemarker.check-template-location = true#检查模板位置是否存在。
spring.freemarker.content-type = text / html#Content-Type值。
spring.freemarker.enabled = true#启用此技术的MVC视图分辨率。
spring.freemarker.expose-request-attributes = false#设置在与模板合并之前是否应将所有请求属性添加到模型中。
spring.freemarker.expose-session-attributes = false#设置在与模板合并之前是否应将所有HttpSession属性添加到模型中。
spring.freemarker.expose-spring-macro-helpers = true#设置是否向Spring的宏库公开一个RequestContext,名称为“springMacroRequestContext”。
spring.freemarker.prefer-file-system-access = true#首选文件系统访问模板加载。文件系统访问可以对模板更改进行热检测。
spring.freemarker.prefix =#在构建URL时先查看名称的前缀。
spring.freemarker.request-context-attribute =#所有视图的RequestContext属性的名称。
spring.freemarker.settings。* =#众所周知的FreeMarker密钥将被传递给FreeMarker的配置。
spring.freemarker.suffix =#在构建URL时附加到查看名称的后缀。
spring.freemarker.template-loader-path = classpath:/ templates /#模板路径的逗号分隔列表。
spring.freemarker.view-names =#可以解决的视图名称的白名单。




Springboot官网配置模板

Centos 7启动tomcat 7 tomcat8异常缓慢

启动慢主要是卡在初始化Session,Tomcat的SessionID是通过SHA1PRNG算法计算得到的,SHA1算法需要一个密钥,这个密钥在Tomcat启动的时候随机生成一个,生成是使用了Linux随机函数生成器/dev/random。读取它相当于生成随机数字。/dev/random会根据 噪音 产生随机数,如果噪音不够它就会阻塞。Linux是通过I/O,键盘终端、内存使用量、CPU利用率等方式来收集噪音的,如果噪音不够生成随机数的时候就会被阻塞。

解决办法:

yum install rng-tools # 安装rngd服务(熵服务,增大熵池)
systemctl start rngd  # 启动服务