最新文章
源安装和编译安装的区别yum 或 dnf 安装:从yum安装来说吧,yum相当于是自动化帮你安装,你不用管软件的依赖关系,在yum安装过程是帮你把软件的全部依赖关系帮你傻瓜式的解决了。而且现在Centos7的服务启动已经换成systemctl命令来控制了。通过yum安装会帮你自动注册服务,你可以通过systemctl start xxx.service启动服务,方便快捷。但是缺点是yum安装你没办法干预,安装的目录也是分散的。你可能要执行whereis或者find命令去找yum安装的路径。有时候yum安装的软件版本比较低,你不得不去找其他的yum源,或者rpm包。源码编译安装:源码编译在安装过
http://nginx.org/ NGINX官网创建文件夹mkdir /software
cd /software
下载当前最新的稳定版wget https://nginx.org/download/nginx-1.18.0.tar.gz
安装必要插件yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
简介:gcc 它可以编译 C,C++,Ada,Object C和Java等语言pcre pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块
安装包的时候提示如下:gyp WARN EACCES user "nobody" does not have permission to access the dev dir
或者gyp WARN EACCES user "root" does not have permission to access the dev dir
解决方法:npm install xxxx -g --unsafe-perm
有时候可以先执行:npm cache clean --force
参考:https://javascript.net.cn/article?id=657
这个属性可以取消 pading 和 border 宽度对盒装模型的影响。语法box-sizing: content-box|border-box|inherit;content-box 这是由 CSS2.1 规定的宽度高度行为。宽度和高度分别应用到元素的内容框。在宽度和高度之外绘制元素的内边距和边框。border-box 为元素设定的宽度和高度决定了元素的边框盒。就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。inherit规定应从父元素继承 box-sizing 属性的值。
未验证成功firewall-cmd --direct --add-rule ipv4 filter INPUT_direct 0 -p tcp --dport 22 -m state --state NEW -m recent --set
firewall-cmd --direct --add-rule ipv4 filter INPUT_direct 1 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 30 --hitcount 6 -j REJECT --reject-with tcp-reset
AI 制作的图标上传到 iconfont 以后丢失描边,就是描边不见了,只剩下填充色。解决方法就是选择描边对象,然后在菜单栏选择“对象- 扩展- 确定”,就可以把路径转换成形状。
在使用git的时候,有些文件是不需要上传的,所以就可以修改 .gitignore,如果在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。如果只是取消跟踪git rm -r --cached . //对所有文件都取消跟踪,不删除本地文件
git rm -r --f . //对所有文件都取消跟踪,删除本地文件
git rm --cached text1.txt //删除text1.txt的跟踪,并保留在本地。
git rm --f text1.tx
process.env 介绍process(进程)对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。作为一个对象,它对于 Node.js 应用程序始终是可用的,无需使用 require()。process.env 属性会返回包含用户环境的对象。文档:http://nodejs.cn/api/process.html#process_process_env很明显的一个使用场景,依靠这个我们就可以给服务器上打上一个标签。这样的话,我们就能根据不同的环境,做一些配置上的处理。如何配置环境变量Windows临时配置直接在cmd环境配置即可,查看环境变量,添加环境变量
一,简介fail2ban是用python编写的开源软件,fail2ban 通过扫描日志文件,利用正则式匹配登录错误的IP地址,然后可以将IP地址列入防火墙中,同时还能给我发送 email 以提醒我有哪个IP地址被ban了。二,安装 Fail2banFail2ban软件包包含在默认的CentOS 8存储库中。要安装它,请以root或具有sudo特权的用户身份输入以下命令:sudo dnf install fail2ban
安装完成后,启用并启动Fail2ban服务:$ sudo systemctl enable --now fail2ban
Created symlink /etc/syst
Git 鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在 master 分支上工作效果是一样的,但过程更安全。创建 dev 分支我们创建dev分支,然后切换到dev分支:$ git checkout -b dev
Switched to a new branch 'dev'
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:$ git branch dev
$ git checkout dev
Switched to branch 'dev'
然后,用git branch命令查看当前分支:$ git branch
* dev
master
一. sqlmap 介绍sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。sqlmap支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测。sqlmap支持五种不同的注入模式:1. 基于布
需求阿里云 OSS 只授权一个用户控制 Bucket阿里云 OSS 想设置一个用户控制一个存储空间 bucket。需要设置 “RAM访问控制”。方法1)进入RAM管理控制台,选择用户管理,短信验证成功后,子账户创建完成。2)创建子账户的Access key3)为子账户授权策略,用户可以自定义授权策略。权限控制1)子用户能够通过OSS控制台操作部分有权限的bucket:目前只能实现控制台能看到所有的bucket,但是只能操作部分有权限的bucket,没权限的bucket操作报错;{
"Version": "1",
"Statement": [
{
"Effect":
以下是对这些目录的解释:/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev:dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。/etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的
1. 一台 Linux 系统初始化环境后需要做一些什么安全工作?1、添加普通用户登陆,禁止 root 用户登陆,更改 SSH 端口号。修改 SSH 端口不一定绝对哈。当然,如果要暴露在外网,建议改下。2、服务器使用密钥登陆,禁止密码登陆。3、开启防火墙,关闭 SElinux ,根据业务需求设置相应的防火墙规则。4、装 fail2ban 这种防止 SSH 暴力破击的软件。5、设置只允许公司办公网出口 IP 能登陆服务器(看公司实际需要)也可以安装 VPN 等软件,只允许连接 VPN 到服务器上。6、修改历史命令记录的条数为 10 条。7、只允许有需要的服务器可以访问外网,其它全部禁止。8、做好软
负载均衡的一般概念负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。一个没有负载均衡的 web 架构类似下面这样:在这里用户是直连到 web 服务器,如果这个服务器宕机了,那么用户自然也就没办法访问了。另外,如果同时有很多用户试图访问服务器,超过了其能处理的极限,就会出现加载速度缓慢或根本无法连接的情况。而通过在后端引入一个负载均衡器和至少一个额外的 web 服务器,可以缓解这个故障。通常情况下,所有的后端服务器会保证提供相同的内容,以便用户无论哪个服务器响应,都能收到一致的内容。从图里可以看到,用户访问负载均衡器,再由
PM2 配置文件: 生态系统文件 ecosystem.config.js当在多个服务器上部署或使用多个CLI参数时,使用生态系统文件来替代命令行启动应用,将会更加方便。生态系统文件的目的是收集应用所有的配置选项和环境变量。创建一个 ecosystem.config.js:pm2 init
这个命令会生成:module.exports = {
apps: [{
script: 'index.js',
watch: '.'
}, {
script: './service-worker/',
watch: ['./service-worker']
}],
pm2 的日志模块默认是每一个服务进程都分配两个默认的日志文件,普通日志和错误日志。这两个日志文件存放于/root/.pm2/logs中,如果pm2管理5个服务,那么该文件夹下总共有10个日志文件,并且随着时间不断增加,很容易就会产生很多个上g的日志文件,导致了服务器的磁盘空间不足的问题清理日志在 pm2 运行时,如果手动删除日志文件,那么后续的日志不会被写入,需要重启pm2的进程。使用 pm2 flush 可以清理日志不需要重启。查看实时日志pm2 logs
# only app logs
pm2 logs app
日志文件配置可以自定义日志文件位置:module.exports =
简介:一个轻量级的参数验证工具,国人开发,非常符合我的口味。安装:npm install parameter --save
使用方法:constructor([options]) - new Class Parameter instanceoptions.translate - translate functionoptions.validateRoot - config whether to validate the passed in value must be a object, default to false.options.convert - convert primitive
Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。一、标题在想要设置为标题的文字前面加#来表示,一般在#后跟个空格再写文字。一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。示例:# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
二、字体加粗要加粗的文字左右分别用两个*号包起来**这是加粗的文字**
斜体要倾斜的文字左右分别用一个*号包起来*这是倾斜的文字*
斜体加粗要倾斜和加粗的文字左右分别用三个*号包起来***这是斜体加粗的文字***
删除线要
简介触发器(Emitter)类型的对象会触发命名事件来调用函数(又称监听器,Listener)。所有能触发事件的对象都是 EventEmitter 类的实例。 这些对象有一个 eventEmitter.on() 函数,用于将一个或多个函数绑定到命名事件上。 事件的命名通常是驼峰式的字符串。当 EventEmitter 对象触发一个事件时,所有绑定在该事件上的函数都会被同步地调用。 被调用的监听器返回的任何值都将会被忽略并丢弃。例子,一个简单的 EventEmitter 实例,绑定了一个监听器。 eventEmitter.on() 用于注册监听器, eventEmitter.emit() 用于触
所有标签