首页
学习
活动
专区
工具
TVP
发布

菲宇

专栏成员
745
文章
1703017
阅读量
55
订阅数
docker上部署odoo11
一、安装postgres据库。 1、拉取一个大象数据库postgres的镜像。 docker pull postgres:9.6 2、制作并运行一个postgres的容器
菲宇
2022-12-21
1K0
Centos7下通过zabbix监控nginx status
系统环境 centos7.4、nginx1.12、zabbix3.4.10 1、安装配置zabbix-server及zabbix-agent。参照CentOS 7 下 Zabbix 3.2 安装https://blog.csdn.net/bbwangj/article/details/77969949 2、在nginx server中启动nginx status。 在nginx在nginx.conf配置文件server{}中添加以下内容: location /nginx_status          {                  stub_status on;                  access_log off;                  allow 127.0.0.1;                  deny all;          }   添加完成后,重启nginx 通过curl获取nginx status,查看其参数值 [root@localhost nginx]# curl http://127.0.0.1/nginx_status Active connections: 2 server accepts handled requests  2 2 3 Reading: 0 Writing: 1 Waiting: 1 active connections – 活跃的连接数量 server accepts handled requests — 总共处理了10942个连接 , 成功创建10942次握手, 总共处理了10942个请求 reading — 读取客户端的连接数. writing — 响应数据到客户端的数量 waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接。 3.在/etc/zabbix/zabbix_agentd.d/上编辑nginx_status.sh脚本,用于zabbix_agent获取数据 #!/bin/bash   HOST="127.0.0.1"   PORT="80"   function ping {       /sbin/pidof nginx | wc -l   }   function active {       /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'   }   function reading {       /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'   }   function writing {       /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'   }   function waiting {       /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'   }   function accepts {       /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'   }   function handled {       /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'   }   function requests {       /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'   }   $1   编辑完成后,运行该脚本进行测试,如获取requets数值。 [root@localhost ~]# chmod a+x nginx_status.sh [root@localhost ~]# ./n
菲宇
2022-12-21
3950
Centos7下Tomcat环境安装及使用脚本安装
一、安装Java yum install java-1.8.0-openjdk.x86_64 安装完毕后,运行java -version 将输出如下内容: openjdk version "1.8.0_91" OpenJDK Runtime Environment (build 1.8.0_91-b14) OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode) 二、添加tomcat用户 groupadd tomcat useradd -s /bin/nologin -g tomcat -d /usr/local/tomcat tomcat 三、下载Tomcat wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz sudo tar -zxvf apache-tomcat-8.0.33.tar.gz -C /usr/local/tomcat --strip-components=1 cd /usr/local/tomcat chown -R tomcat . chgrp -R tomcat conf chmod g+rwx conf chmod g+r conf/* chown -R tomcat logs/ temp/ webapps/ work/ 四、为Tomcat创建systemd unit 文件 vi /etc/systemd/system/tomcat.service [Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/jre Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/bin/kill -15 $MAINPID User=tomcat Group=tomcat [Install] WantedBy=multi-user.target 五、 安装haveged yum install haveged systemctl start haveged.service && systemctl enable haveged.service 六、启动Tomcat 并开启防火墙 systemctl start tomcat.service && systemctl enable tomcat.service firewall-cmd --zone=public --permanent --add-port=8080/tcp && firewall-cmd --reload 访问 http://[Your-Host-IP]:8080 预览是否正常。 七、配置Tomcat 管理界面 vi /usr/local/tomcat/conf/tomcat-users.xml 在 <tomcat-users ...>...</tomcat-users>中加入一个admin账号: <user username="yourusername" password="yourpassword" roles="manager-gui,admin-gui"/> 重启Tomcat
菲宇
2022-12-21
7000
Centos7(Firewall)防火墙开启常见端口命令
Centos7默认安装了firewalld,如果没有安装的话,则需要YUM命令安装。
菲宇
2022-12-21
7420
LVS-DR模式配置搭建
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
菲宇
2022-12-21
7970
centos7系统默认防火墙Firewall使用方法
Firewall有图形界面管理和命令行管理两种方式,我们这里绍下命令行Firewall的使用。
菲宇
2022-12-21
8090
Linux运维常用shell脚本之网络管理实例
    HTTP_CODE=(curl -o /dev/null --connect-timeout 3 -s -w "%{http_code}" 
菲宇
2022-12-21
3.1K0
SaltStack命令大全
master端: #yum install salt-master -y                         salt主控端安装 # vim /etc/salt/master                                salt主配置文件修改 interface: 服务监听IP auto_accept: True(可选,key通过‘salt-key -a keyname’命令手动进行认证) 注意:keyname 就是客户端中设置的id标识(可以查看salt-minion端的配置)
菲宇
2022-12-02
1.7K0
反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站
我们都知道网络上的爬虫非常多,有对网站收录有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots规则对服务器造成压力,还不能为网站带来流量的无用爬虫,比如宜搜蜘蛛(YisouSpider)(最新补充:宜搜蜘蛛已被UC神马搜索收购!所以本文已去掉宜搜蜘蛛的禁封!==>相关文章)。最近张戈发现nginx日志中出现了好多宜搜等垃圾的抓取记录,于是整理收集了网络上各种禁止垃圾蜘蛛爬站的方法,在给自己网做设置的同时,也给各位站长提供参考。
菲宇
2019-07-31
1.9K0
Python 库之pycurl的安装与使用方法
pycurl的简介 PyCURL是一个Python接口,它是多协议文件传输库的LIbCURL。类似于URLLIB Python模块,PyCURL可以用来从Python程序获取URL所标识的对象。然而,除了简单的获取,PyCURL公开了LIbCURL的大部分功能,包括:速度-LIbCURL非常快,并且PycURL作为LiCURL之上的薄包装器也是非常快的。PycURL被标榜为比请求快几倍。特性包括多协议支持、SSL、身份验证和代理选项。PyCURL支持大多数LBCURL的回调。多和共享接口。用于网络操作的套接字,允许将PyCURL集成到应用程序的I/O循环中(例如,使用TrnADO)。 一旦安装了PycURL,我们就可以执行网络操作。最简单的方法是通过URL检索资源。要用PycURL发布网络请求,需要以下步骤:创建PyCURL.CURL实例。使用SETopt设置选项。调用执行来执行操作。 PyCURL是一个Python接口到LyCURL。PyCURL可以用来从Python程序中获取URL所标识的对象,类似于URLLIB Python模块。PyCURL是成熟的,非常快,并且支持很多特征。 LIbCURL是一个免费且易于使用的客户端URL传输库,支持FTP、FTP、HTTP、HTTPS、SCP、SFTP、TFTP、telnet、DICT、LDAP、LDAP、文件、IMAP、SMTP、POP3和RTSP。LIbCURL支持SSL证书、HTTP POST、HTTP PUT、FTP上传、基于HTTP表单的上传、代理、Cookie、用户+口令认证(Basic、摘要、NTLM、协商、KeBeOS4)、文件传输恢复、HTTP代理隧道等! LIbCURL是高度可移植的,它构建和工作在许多平台上,包括Solaris、NETBSD、FreeBSD、OpenBSD、达尔文、HPUX、IIX、AIX、TUR64、Linux、UNIX、HUD、Windows、AMIGA、OS/ 2、BeOs、Mac OS X、ULTRIX、QNX、OpenVMS、RISC OS、Novell NETWORD、DOS等等。
菲宇
2019-06-13
1.7K0
windows 安装gitbook并使用gitbook editor可视化工具
GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书。
菲宇
2019-06-13
4.4K0
Scrapy之设置随机IP代理(IPProxy)
当我们需要大量的爬取网站信息时,除了切换User-Agent之外,另外一个重要的方式就是设置IP代理,以防止我们的爬虫被拒绝,下面我们就来演示scrapy如何设置随机IPProxy。
菲宇
2019-06-13
7.4K0
ELKStack日志平台——Elasticsearch 6 安装与配置教程
什么是ELK STACK: ELK Stack是Elasticserach、Logstash、Kibana三种工具组合而成的一个栈。ELK可以将我们的系统日志、访问日志、运行日志、错误日志等进行统一收集、存储分析和搜索以及图形展现。相比传统的CTRL+F或者数据库语句来进行数据查询,ELK支持分布式搜搜,数据量可达PB级别,检索速度更快速,接近实时处理,并且更智能,可以去掉一些没有特殊含义的词汇,比如“这,的,是”,还可以进行搜索补全与搜索纠错(想想在百度搜索的情景) LogStash: 负责日志的收集,并且可以输出到指定位置,如Redis、kafka、以及最主要的ElasticSearch中,通常会在所有需要收集日志的服务器上安装Logstash,然后由Logstash agent端发送到Logstash的Server端 ElasticSearch: 使用JAVA开发、基于Lucene搜索引擎库的全文搜索工具,通过RESTful API(一种接口设计规范,让接口更易懂)隐藏了Lucene原本的复杂性。实现了日志数据的分布式、实时分析,并且可以进行搜索补全与纠错等功能,是ELK最核心的组件。相比MySQL库和表的概念,在ES中把库叫做索引。 Kibana: 负责数据的展示与统计,是一个图形化的管理系统 ElasticSearch概念与工作流程介: 索引(index):文档的容器,是属性类似的文档集合,类似MySQL中的库或者表的概念,强烈建议同一类的数据放一个索引里 分片(shared):Elasticsearch默认将创建的索引分为5个shard(也可以自定义),每一个shard都是一个独立完整的索引,然后分布在不同的节点上 节点:站在用户角度来看并没有主节点概念,每个节点对用户来说都是一样的,都会响应请求,但是对于集群来说,会有一个主节点用于管理节点状态以及决定shard分布方式,还会周期性检查其他节点是否可用并进行修复。各节点是通过集群名称来判断是否属于同一节点。 在Elasticsearch中将文档归属于一种类型type,而这些类型存在于索引index中。用MySQL来举例看看他们的对应关系: Database->Table->Row->Column Indice->Type->Document->Field 安装Elasticsearch: 1、ElasticSearch默认工作在集群模式下,扩展性很强,并且支持自动发现。所以在实验环境中需要至少2台服务器来搭建,但是为了防止脑裂,建立使用基数台服务器。在部署ElasticSearch前需要先部署JAVA环境,所以第一步是安装JDK,这里偷懒使用yum安装了openjdk,生产环境还是建议用JDK的源码包(暂时不支持JDK 9)。 yum install java-1.8.0-openjdk.x86_64 2、下载ElasticSearch,官网地址是www.elastic.co(不是com),其每个Products下都有专门的文档用于参考。 下载tar包解压,然后进入config目录,该目录下除了有一个主配置文件elasticsearch.yml需要配置外,还有一个jvm.options文件用于JVM的调优 tar zxf elasticsearch-6.3.tar.gz cd elasticsearch-6.3/config jvm.options文件主要是JVM优化相关,关于垃圾回收这块使用默认配置就可以了,我们要调整的就是最大内存和最小内存的设置。通常设置为一样大小,具体的值可以设置为系统最大内存的一半或三分之二 -Xms1g #程序启动时占用内存的大小 -Xmx1g #程序启动后最大可占用内存的大小 3、修改ElasticSearch的配置,编辑elasticsearch.yml cluster.name: my-application #集群名称,相同集群名称的节点会自动加入到该集群 node.name: r1 #节点名称,两个节点不能重复 path.data: /path/to/data #指定数据存储目录 path.logs: /path/to/logs #指定日志存储目录
菲宇
2019-06-13
5350
CentOS7部署vsftp(FTP)服务
vsftp安装 创建用户 并限定用户在自己的目录 1、查看是否已经安装了vsftpd vsftpd -version 2、安装vsftpd(CentOS7) yum install -y vsftpd 3、新建FTP目录 创建的FTP目录如下: /data/KodServer/data/User/tomas/home 4、创建新用户 ftpname为你为该ftp创建的用户名,/data/KodServer/data/User/tomas/home 为登录进去后的位置 useradd -d /data/KodServer/data/User/tomas/home -s /bin/bash ftpname 5、为新建的用户设置密码 passwd ftpname 【备注:用cat etc/passwd可以查看当前系统用户】 6、设置主目录(更改登录时看到的目录,看个人需要更改,如果第4步已设置好,此步可忽略) usermod -d /data/KodServer/data/User/tomas/home ftpname 7、添加用户组(这步可忽略) groupadd ftpgroup 8、防火墙添加FTP服务 firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd --reload 解决办法: ①、查看ftp的Selinux状态:sestatus -b | grep ftp ②、在结果中可以看到: ftp_home_dir off ③、将状态改为on:setsebool -P ftp_home_dir on ④、重启vsftp服务:systemctl restart vsftpd.service setsebool -P ftpd_full_access on systemctl restart firewalld.service 9、配置只能访问自身目录(/data/KodServer/data/User/tomas/home),不能访问其他路径 修改/etc/vsftpd.conf cd /etc/vsftpd/ vi vsftpd.conf #去掉前面的注释 chroot_local_user=YES ascii_upload_enable=YES ascii_download_enable=YES #文件末尾添加 allow_writeable_chroot=YES 保存,重启vsftpd 设置开机启动: systemctl enable vsftpd.service 启动vsftpd服务 systemctl start vsftpd.service 禁止ftp用户通过22端口登录ftp服务器: 由于需要限制ftp用户在自己的目录,在21端口下没有问题,但当ftp用户用sftp登录时,还是可以访问上级目录,于是禁止ftp用户ssh登录,切断22端口的通信。 首先,执行如下命令,找到nologin的shell: vi /etc/shells 可以看到禁止登录的shell文件为/usr/sbin/nologin,然后执行如下命令: usermod -s /usr/sbin/nologin tomas 如果要恢复tomas的ssh登录,执行如下命令: usermod -s /bin/bash tomas
菲宇
2019-06-12
2.8K0
Kubernetes之kubectl命令行工具简介、安装配置及常用命令
kubectl是Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。运行kubectl命令的语法如下所示:
菲宇
2019-06-12
1.4K0
技巧:Vimdiff 使用
各种 IDE 大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短文介绍了一个文本比较和合并的小工具:vimdiff。希望能对在 Unix/Linux 系统上进行开发的朋友有所帮助。
菲宇
2019-06-12
1.7K0
python利用paramiko连接远程服务器执行命令的方法
python中的paramiko模块是用来实现ssh连接到远程服务器上的库,在进行连接的时候,可以用来执行命令,也可以用来上传文件。
菲宇
2019-06-11
1.3K0
HTTP Header 详解和获取方法
HTTP(HyperTextTransferProtocol) 即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模 型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传 递message-header,即http header消息 。http header 消息通常被分为4个部分:general header, request header, response header, entity header。但是这种分法就理解而言,感觉界限不太明确。根据维基百科对http header内容的组织形式,大体分为Request和Response两部分。 Requests部分 Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5 Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding: compress, gzip Accept-Language 浏览器可接受的语言 Accept-Language: en,zh Accept-Ranges 可以请求网页实体的一个或者多个子范围字段 Accept-Ranges: bytes Authorization HTTP授权的授权证书 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== Cache-Control 指定请求和响应遵循的缓存机制 Cache-Control: no-cache Connection 表示是否需要持久连接。(HTTP 1.1默认进行持久连接) Connection: close Cookie HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。 Cookie: $Version=1; Skin=new; Content-Length 请求的内容长度 Content-Length: 348 Content-Type 请求的与实体对应的MIME信息 Content-Type: application/x-www-form-urlencoded Date 请求发送的日期和时间 Date: Tue, 15 Nov 2010 08:12:31 GMT Expect 请求的特定的服务器行为 Expect: 100-continue From 发出请求的用户的Email From: user@email.com Host 指定请求的服务器的域名和端口号 Host: www.zcmhi.com If-Match 只有请求内容与实体相匹配才有效 If-Match: “737060cd8c284d8af7ad3082f209582d” If-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码 If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT If-None-Match 如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变 If-None-Match: “737060cd8c284d8af7ad3082f209582d” If-Range 如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag If-Range: “737060cd8c284d8af7ad3082f209582d” If-Unmodified-Since 只在实体在指定时间之后未被修改才请求成功 If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT Max-Forwards 限制信息通过代理和网关传送的时间 Max-Forwards: 10 Pragma 用来包含实现特定的指令 Pragma: no-cache Proxy-Authorization 连接到代理的授权证书 Proxy-Authorization: Basic QWxhZ
菲宇
2019-06-11
4.2K0
Dockerfile命令详解
版权声明:欢迎交流,菲宇运维!
菲宇
2019-06-11
1.2K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档