首页
留言板
关于本站
Search
1
实现网站页面秒开-预加载JS脚本instant.page
56,701 阅读
2
解决Windows连接PPTP/L2TP时无法连接上外网Internet的困扰
55,900 阅读
3
Typecho通过阿里邮件推送和LoveKKComment插件实现评论邮件通知
39,603 阅读
4
回村无网络之-《无线网桥使用记》
29,802 阅读
5
如何做到网页性能的极致优化?
29,769 阅读
路由交换
华为笔记
华三笔记
Mikrotik笔记
中兴笔记
Linux
Nginx
数据库
typecho
WordPress
资源分享
网站技术
Windows
other
未分类
登录
Search
标签搜索
路由交换
运维
linux
ROS
mikrotik
华为
软路由
WordPress
ospf
路由
网站
centos
php
ARP
交换
nssa
typecho
广播风暴
Nginx
dns
老刘
累计撰写
64
篇文章
累计收到
1,025
条评论
首页
栏目
路由交换
华为笔记
华三笔记
Mikrotik笔记
中兴笔记
Linux
Nginx
数据库
typecho
WordPress
资源分享
网站技术
Windows
other
未分类
页面
留言板
关于本站
搜索到
4
篇与
的结果
2018-12-23
nginx基本配置与参数说明
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好;本文记录一下常用的基本配置。#运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; #工作模式及连接数上限 events { #epoll是多路复用IO(I/O Multiplexing)中的一种方式, #仅用于linux2.6以上内核,可以大大提高nginx的性能 use epoll; #单个后台worker process进程的最大并发链接数 worker_connections 1024; # 并发总数是 worker_processes 和 worker_connections 的乘积 # 即 max_clients = worker_processes * worker_connections # 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4 为什么 # 为什么上面反向代理要除以4,应该说是一个经验值 # 根据以上条件,正常情况下的Nginx Server可以应付的最大连接数为:4 * 8000 = 32000 # worker_connections 值的设置跟物理内存大小有关 # 因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数 # 而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右 # 我们来看看360M内存的VPS可以打开的文件句柄数是多少: # $ cat /proc/sys/fs/file-max # 输出 34336 # 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内 # 所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置 # 使得并发总数小于操作系统可以打开的最大文件数目 # 其实质也就是根据主机的物理CPU和内存进行配置 # 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。 # ulimit -SHn 65535 } http { #设定mime类型,类型由mime.type文件定义 include mime.types; default_type application/octet-stream; #设定日志格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件, #对于普通应用,必须设为 on, #如果用来进行下载等应用磁盘IO重负载应用,可设置为 off, #以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfile on; #tcp_nopush on; #连接超时时间 #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #开启gzip压缩 gzip on; gzip_disable "MSIE [1-6]."; #设定请求缓冲 client_header_buffer_size 128k; large_client_header_buffers 4 128k; #设定虚拟主机配置 server { #侦听80端口 listen 80; #定义使用 www.nginx.cn访问 server_name www.nginx.cn; #定义服务器的默认网站根目录位置 root html; #设定本虚拟主机的访问日志 access_log logs/nginx.access.log main; #默认请求 location / { #定义首页索引文件的名称 index index.php index.html index.htm; } # 定义错误提示页面 error_page 500 502 503 504 /50x.html; location = /50x.html { } #静态文件,nginx自己处理 location ~ ^/(images|javascript|js|css|flash|media|static)/ { #过期30天,静态文件不怎么更新,过期可以设大一点, #如果频繁更新,则可以设置得小一点。 expires 30d; } #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置. location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #禁止访问 .htxxx 文件 location ~ /.ht { deny all; } } }
2018年12月23日
12,888 阅读
12 评论
1 点赞
2018-12-23
CentOS7 常用命令集合整理
[mark_a]最近在对Centos进行学习,就想从网络上收集整理一些常用的指令,方便自己在学习中能够方便查找,也给需要的小伙伴们提供参考。下面是一些常用命令的集合![/mark_a] 常用命令文件与目录操作 命令 解析 cd /home 进入 ‘/home’ 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd - 返回上次所在目录 cp file1 file2 将file1复制为file2 cp -a dir1 dir2 复制一个目录 cp -a /tmp/dir1 . 复制一个目录到当前工作目录(.代表当前目录) ls 查看目录中的文件 ls -a 显示隐藏文件 ls -l 显示详细信息 ls -lrt 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序) pwd 显示工作路径 mkdir dir1 创建 ‘dir1’ 目录 mkdir dir1 dir2 同时创建两个目录 mkdir -p /tmp/dir1/dir2 创建一个目录树 mv dir1 dir2 移动/重命名一个目录 rm -f file1 删除 ‘file1’ rm -rf dir1 删除 ‘dir1’ 目录及其子目录内容 查看文件内容 命令 解析 cat file1 从第一个字节开始正向查看文件的内容 head -2 file1 查看一个文件的前两行 more file1 查看一个长文件的内容 tac file1 从最后一行开始反向查看一个文件的内容 tail -3 file1 查看一个文件的最后三行 vi file 打开并浏览文件 文本内容处理 命令 解析 grep str /tmp/test 在文件 ‘/tmp/test’ 中查找 “str” grep ^str /tmp/test 在文件 ‘/tmp/test’ 中查找以 “str” 开始的行 grep [0-9] /tmp/test 查找 ‘/tmp/test’ 文件中所有包含数字的行 grep str -r /tmp/* 在目录 ‘/tmp’ 及其子目录中查找 “str” diff file1 file2 找出两个文件的不同处 sdiff file1 file2 以对比的方式显示两个文件的不同 vi file 操作解析i进入编辑文本模式Esc退出编辑文本模式:w保存当前修改:q不保存退出vi:wq保存当前修改并退出vi 查询操作 命令 解析 find / -name file1 从 ‘/’ 开始进入根文件系统查找文件和目录 find / -user user1 查找属于用户 ‘user1’ 的文件和目录 find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的文件 find /usr/bin -type f -atime +100 查找在过去100天内未被使用过的执行文件 find /usr/bin -type f -mtime -10 查找在10天内被创建或者修改过的文件 locate *.ps 寻找以 ‘.ps’ 结尾的文件,先运行 ‘updatedb’ 命令 find -name ‘*.[ch]’ | xargs grep -E ‘expr’ 在当前目录及其子目录所有.c和.h文件中查找 ‘expr’ find -type f -print0 | xargs -r0 grep -F ‘expr’ 在当前目录及其子目录的常规文件中查找 ‘expr’ find -maxdepth 1 -type f | xargs grep -F ‘expr’ 在当前目录中查找 ‘expr’ 压缩、解压 命令 解析 bzip2 file1 压缩 file1 bunzip2 file1.bz2 解压 file1.bz2 gzip file1 压缩 file1 gzip -9 file1 最大程度压缩 file1 gunzip file1.gz 解压 file1.gz tar -cvf archive.tar file1 把file1打包成 archive.tar(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数) tar -cvf archive.tar file1 dir1 把 file1,dir1 打包成 archive.tar tar -tf archive.tar 显示一个包中的内容 tar -xvf archive.tar 释放一个包 tar -xvf archive.tar -C /tmp 把压缩包释放到 /tmp目录下 zip file1.zip file1 创建一个zip格式的压缩包 zip -r file1.zip file1 dir1 把文件和目录压缩成一个zip格式的压缩包 unzip file1.zip 解压一个zip格式的压缩包到当前目录 unzip test.zip -d /tmp/ 解压一个zip格式的压缩包到 /tmp 目录 yum安装器 命令 解析 yum -y install [package] 下载并安装一个rpm包 yum localinstall [package.rpm] 安装一个rpm包,使用你自己的软件仓库解决所有依赖关系 yum -y update 更新当前系统中安装的所有rpm包 yum update [package] 更新一个rpm包 yum remove [package] 删除一个rpm包 yum list 列出当前系统中安装的所有包 yum search [package] 在rpm仓库中搜寻软件包 yum clean [package] 清除缓存目录(/var/cache/yum)下的软件包 yum clean headers 删除所有头文件 yum clean all 删除所有缓存的包和头文件 网络相关 命令 解析 ifconfig eth0 显示一个以太网卡的配置 ifconfig eth0 192.168.1.1 netmask 255.255.255.0 配置网卡的IP地址 ifdown eth0 禁用 ‘eth0’ 网络设备 ifup eth0 启用 ‘eth0’ 网络设备 iwconfig eth1 显示一个无线网卡的配置 iwlist scan 显示无线网络 ip addr show 显示网卡的IP地址 系统相关 命令 解析 su - 切换到root权限(与su有区别) shutdown -h now 关机 shutdown -r now 重启 top 罗列使用CPU资源最多的linux任务 (输入q退出) pstree 以树状图显示程序 man ping 查看参考手册(例如ping 命令) passwd 修改密码 df -h 显示磁盘的使用情况 cal -3 显示前一个月,当前月以及下一个月的月历 cal 10 1988 显示指定月,年的月历 date –date ‘1970-01-01 UTC 1427888888 seconds’ 把一相对于1970-01-01 00:00的秒数转换成时间 XSheel 5相关操作窗体快捷键 命令 解析 Ctrl + u 删除光标之前到行首的字符 Ctrl + k 删除光标之前到行尾的字符 Ctrl + c 取消当前行输入的命令,相当于Ctrl + Break Ctrl + a 光标移动到行首(ahead of line),相当于通常的Home键 Ctrl + e 光标移动到行尾(end of line) Ctrl + f 光标向前(forward)移动一个字符位置 Ctrl + b 光标往回(backward)移动一个字符位置 Ctrl + l 清屏,相当于执行clear命令 Ctrl + r 显示:号提示,根据用户输入查找相关历史命令(reverse-i-search) Ctrl + w 删除从光标位置前到当前所处单词(word)的开头 Ctrl + t 交换光标位置前的两个字符 Ctrl + y 粘贴最后一次被删除的单词 Ctrl + Alt + d 显示桌面 Alt + b 光标往回(backward)移动到前一个单词 Alt + d 删除从光标位置到当前所处单词的末尾 Alt + F2 运行 Alt + F4 关闭当前窗口 Alt + F9 最小化当前窗口 Alt + F10 最大化当前窗口 Alt + Tab 切换窗口 Alt + 左键 移动窗口(或在最下面的任务栏滚动鼠标滑轮) 操作小技巧: 鼠标中间键:粘贴突出显示的文本。(使用鼠标左键来选择文本。把光标指向想粘贴文本的地方。点击鼠标中间键来粘贴。)Tab:命令行自动补全。使用 shell 提示时可使用这一方式。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配键入字符的所有命令。在滚动条的空白处点击鼠标中键:屏幕即滚动到那个地方。在桌面或文件管理器中直接按 /就可以输入位置,打开文件管理器。在 vi 或 Firefox 中直接按 / 即可进入快速搜索状态。 网站链接和图片可直接拖放到桌面或者目录,可以马上下载。直接将文件管理器中的文件拖到终端中就可以在终端中得到完整的路径名。
2018年12月23日
10,689 阅读
6 评论
0 点赞
2018-12-22
Mikrotik RouterOS 基本安全防范设置
针对MikroTik近期的一些漏洞做一些安全设置措施 将默认用户名admin更改为其他名称 /user set 0 name=myros 设置高强度的密码 /user set 0 password=“d*@bBsweUBe3@” 通过IP地址访问 /user set 0 allowed-address=xxxx/yy 只保留安全的服务 /ip service disable telnet,ftp,www,api,api-ssl ⚠️注意:该操作会禁用Telnet,FTP,WWW,API,API-SSL 更改默认端口,这将立即停止大多数随机SSH暴力登录尝试 /ip service set ssh port=2200 设置Winbox允许登陆的网段 /ip service set winbox address=192.168.88.0/24 禁用mac-telnet服务 /tool mac-server set allowed-interface-list=none 禁用mac-winbox服务 /tool mac-server mac-winbox set allowed-interface-list=none 禁用mac-ping服务 /tool mac-server ping set enabled=no 邻居发现 MikroTik邻居发现协议用于显示和识别网络中的其他MikroTik设备,禁用所有接口上的邻居发现 禁用IPv4 的邻居发现协议 /ip neighbor discovery-settings set discover-interface-list=none 禁用IPv6 的邻居发现协议 /ipv6 nd set [find] disabled=yes 带宽服务器用于测试两个MikroTik路由器之间的吞吐量,请在测试后禁用它。 /tool bandwidth-server set enabled=no DNS缓存 /ip dns set allow-remote-requests=no 设置更安全的SSH访问,打开SSH强加密 /ip ssh set strong-crypto=yes 关闭 Proxy,Socks代理 /ip proxy set enabled=no /ip socks set enabled=no MikroTik UPnP服务(通用即插即用协议) /ip upnp set enabled=no MikroTik自带的DDNS服务器(动态域名解析) 如果不是使用的话请用以下命令禁用 /ip cloud set ddns-enabled=no update-time=no 某些型号的RouterBOARD有LCD模块用于信息显示。 /lcd set enabled=no 如果你的路由器不提供VPN服务,请用以下命令关闭VPN /interface l2tp-server server set enabled=no /interface pptp-server server set enabled=no /interface sstp-server server set enabled=no /interface ovpn-server server set enabled=no 禁用在设备上使用Radius进行授权 /user aaa set use-radius=no ⚠️⚠️⚠️⚠️移除操作请慎用 /radius remove numbers=[/radius find]
2018年12月22日
9,428 阅读
3 评论
0 点赞
2018-12-17
WordPress限制ip登陆次数
为了防止这个无限尝试我后台登录密码,我采用了一个限制IP登录次数功能,它的原理很简单是采用当前ip限制登录,有效的防止登录错误密码次数,如果超过尝试3次密码错误时候,它会记录下你这登录ip地址,第4次登录时它会限制你继续访问后台登录,而且会显示空白地址让你无法在继续尝试,老规矩只需要添加一串代码就搞定,不用安装任何插件实现此功能!/*-----------------------------------------------------------------------------------*/ /* wordpress限制ip登陆次数 /*-----------------------------------------------------------------------------------*/ # 阻止登录的函数,直接 404 function block_login() {header("HTTP/1.1 404 Not Found");header("Status: 404 Not Found");exit;} # 登录前判断登陆的失败次数 add_action("login_head",function () { $login_ip = $_SERVER['REMOTE_ADDR']; $login_ip_list = unserialize(get_option("LOGIN_IP_LIST")); # 登录失败超过2次就进行阻止登陆 if($login_ip_list && ($login_ip_list[$login_ip] > 2)) {block_login();}}); # 登录失败的处理 add_action('login_errors', function ($info) { $login_ip = $_SERVER['REMOTE_ADDR']; $login_ip_list = get_option("LOGIN_IP_LIST"); if($login_ip_list) {$login_ip_list = unserialize($login_ip_list);} else {$login_ip_list = array();} # 登录次数 + 1 $login_ip_list[$login_ip] += 1; update_option('LOGIN_IP_LIST', serialize($login_ip_list)); # 提示登录失败的次数 return "$login_ip 登陆次数 " . $login_ip_list[$login_ip];}); # 证明已经登录成功了 add_action("admin_menu", function () { $login_ip = $_SERVER['REMOTE_ADDR']; $login_ip_list = unserialize(get_option("LOGIN_IP_LIST")); $login_ip_list[$login_ip] = 0; update_option('LOGIN_IP_LIST', serialize($login_ip_list));});
2018年12月17日
11,539 阅读
9 评论
0 点赞