
web服务
文章平均质量分 63
7*24 工作者
人有万算,不如老天一算。做人,就要坦坦荡荡;做事,就要问心无愧。
展开
-
Nginx缓冲区
Nginx的项目一般请求流程为:“客户端→Nginx→服务端”,在这个过程中存在两个连接:“客户端→Nginx、Nginx→服务端”,那么两个不同的连接速度不一致,就会影响用户的体验(比如浏览器的加载速度跟不上服务端的响应速度)。如果客户端到nginx速度快,nginx到服务器速度慢,没有缓冲区,一点点数据量就直接发到客户端,十分浪费性能。有了缓冲区,返回内容放到缓冲区后,nginx到服务器的连接就能断开了,客户端从缓冲区拉取即可。相反,客户端到nginx速度慢,nginx到服务器速度快,没有缓冲区,原创 2024-04-23 15:42:53 · 659 阅读 · 0 评论 -
nginx禁止国内IP访问网站
禁止国内IP访问网站翻译 2022-06-29 10:40:38 · 2002 阅读 · 0 评论 -
nginx禁止国外IP访问网站
禁止国外IP访问网站翻译 2022-06-23 16:03:49 · 599 阅读 · 0 评论 -
使用内存硬盘(tmpfs)来加速网站
准备工作1、对 nginx root 目录要备份2、查看系统版本$ cat /etc/issueUbuntu 18.04.4 LTS \n \l步骤1、创建一个目录,比如/ramdisk,然后使用tmpfs命令挂载一部分内存当作硬盘mount -t tmpfs -o size=256M tmpfs /ramdisk此处我挂载了最大256M的内存到/tmp节点,值得注意的是系统不...翻译 2020-02-28 10:13:04 · 1536 阅读 · 0 评论 -
使用信号管理Nginx的master、worker进程
说明:立刻停止服务: nginx -s stop 或者kill -SIGTERM $(cat /data/services/nginx/logs/nginx.pid) 优雅停止服务: nginx -s quit 或者kill -QUIT $(cat /data/services/nginx/logs/nginx.pid) 重载配置文件(master不退出,重新加载work...原创 2019-06-12 14:17:10 · 1159 阅读 · 0 评论 -
配置nginx四层转发
所谓四层就是基于IP+端口的负载均衡,通过虚拟IP+端口接收请求,然后再分配到真实的服务器;七层通过虚拟的URL或主机名接收请求,然后再分配到真实的服务器七层就是基于URL等应用层信息的负载均衡。3306端口基本不对外开放。我们如果想通过外网直接访问mysql怎么做呢,这里我们可以使用nginx端口转发来实现。1、安装nginx./configure --prefix=/applicatio...翻译 2019-05-16 13:30:44 · 7664 阅读 · 0 评论 -
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
企业级Java应用开发、维护中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lock Contention)Java进程消耗CPU过高…这些问题在日常开发、维护中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源),但能够理解并解决这些问题是Java程序员进阶的必备要求。本文将对一些常用的J...转载 2018-11-16 10:52:27 · 817 阅读 · 0 评论 -
Nginx配置跨域访问
由于浏览器同源策略的存在使得一个源中加载来自其它源中资源的行为受到了限制。即会出现跨域请求禁止。通俗一点说就是如果存在协议、域名、端口或者子域名不同服务端,或一者为IP地址,一者为域名地址(在跨域问题上,域仅仅是通过"url的首部"来识别而不会去尝试判断相同的IP地址对应着两个域或者两个域是否同属同一个IP),之中任意服务端旗下的客户端发起请求其它服务端资源的访问行动都是跨域的,而浏览器为了安全...翻译 2018-11-01 12:46:04 · 16102 阅读 · 0 评论 -
Nginx+Uwsgi部署Django项目
一、uwsgi介绍uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。1、 WSGI / uwsgi / uWSGIWSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。uwsgi是一种线路...原创 2018-10-29 14:31:53 · 429 阅读 · 0 评论 -
性能优化|Tomcat 服务优化
一、Tomcat内部结构1、配置文件说明 • server:指的是整个应用的上下文, 也是最顶层的容器,tomcat中所有的东西都在这个server里边。• service:指的是一个服务,主要的功能是把connector组件和engine组织起来,使得通过connector组件与整个容器通讯的应用可以使用engine提供的服务。 • engine:服务引擎,这个可以理解为一个真正...转载 2018-09-12 11:59:31 · 559 阅读 · 0 评论 -
node管理之cnpm工具代替npm
一、安装node,并安装cnpm工具#!/bin/bash#安装nodecd /data/downloadif [ ! -f node-v8.11.1-linux-x64.tar.xz ]; then echo "nodejs file not exist" exit 2fixz -dk node-v8.11.1-linux-x64.tar.x...原创 2018-08-01 10:21:01 · 632 阅读 · 0 评论 -
jenkins根据不通的变量发布执行不同的命令和 publish over ssh
在jenkins根据不通的变量发布执行不同的命令,主要用到其选择参数 1、安装插件 2、配置选项参数名称:deploy_env选项(不同的环境写不同的变量,一行代表一个):deployrollback......git参数(采用分支构建)名称:release_branch参数类型:Branch字符参数(禁止其杀死衍生进程设置)名称:BUILD_ID默认值:...原创 2018-07-31 14:28:42 · 4671 阅读 · 0 评论 -
启动jenkins时禁止其杀死衍生进程
方法一修改配置文件,启动jenkins时禁止其杀死衍生进程在 /etc/sysconfig/jenkins 中加入参数-Dhudson.util.ProcessTree.disable=true即 java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war方法二修改构建号,使jenkins找不到衍生进程BU...原创 2018-07-31 13:59:36 · 2183 阅读 · 2 评论 -
nginx日志切割脚本
nginx访问日志的切割,每十分钟切割一次,放到定时任务中*/10 * * * * sh nginx_log_cut.sh#!/bin/sh# Function:For cut nginx'log every 10 min# script_name: nginx_log_cut.sh. /etc/profilefunction move_log(){ local...原创 2018-07-26 17:41:12 · 482 阅读 · 0 评论 -
安装-配置免费https证书
一、安装证书工具wget https://dl.eff.org/certbot-autochmod 755 certbot-auto二、生成证书并验证mkdir -p /data/services/tengine/ssl/manhour.test.xxx.cnnginx配置http的80端口:server{ listen 80; location / { ...原创 2018-07-24 21:10:22 · 892 阅读 · 0 评论 -
nginx代理内网服务器的图片服务器
需求:我们图片服务器放在内网环境,前端是nginx提供的web服务,让用户访问到内网服务器上的图片并正确显示一、首先在内网图片服务器上安装配置nginx 安装过程省略server{ listen 80 ; server_name imglib.exapmle.com; location ~* /udata/(.+)\.(jpg|gif|pn...原创 2018-07-22 10:49:27 · 3582 阅读 · 1 评论 -
Tomcat 开启APR运行模式
启动tomcat8以下问题: org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found...翻译 2018-06-28 16:25:32 · 1710 阅读 · 0 评论 -
profile filters properties 无法替换问题总结
基于maven pom配置中的profiles配置针对不同环境,使用不同配置文件。第一步:创建filters资源文件(src/main/filters/dev.properties、test.properties、beta.properties),其中路径地址/名称任意设置。dev.properties代码mysql.url=jdbc:mysql://xx.xx.xx.xx:330...翻译 2018-06-21 13:18:18 · 1180 阅读 · 0 评论 -
jenkins Process leaked file descriptors
在Jenkins中新建了一个Job,假设你在一些列Build Step之前/之后,启动了一个进程,打个比方说启动一个Jboss进程。等到Build完成,你去Console Output中查看显示启动成功,甚至PID也有了。但是当你去后台查看的时候,发现其实这个进程根本不存在,并没有启动成功。不过如果你使用的是较早的Hudson版本(Ver 1.136),并且是直接在页面中的Build Se...翻译 2018-06-20 09:30:04 · 3244 阅读 · 3 评论 -
pm2管理nodejs
node.js下载地址https://nodejs.org/en/download/一、下载安装包wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz二、解压缩xz -d node-v8.11.3-linux-x64.tar.xz tar xf node-v8.11.3-linux...原创 2018-06-17 12:43:19 · 1384 阅读 · 0 评论 -
网站 TCP 队列问题排查
一、问题描述 1、监控系统发现电商网站主页及其它页面间歇性的无法访问 2、查看安全防护和网络流量、应用系统负载均正常; 3、系统重启后,能够暂时解决,但持续一段时间后间歇性问题再次出现。二、问题初步判断1、检查dev 和 网卡设备层,是否有error和drop ,分析在硬件和系统层是否异常 命令 cat /proc/net/dev 和 ifconfig2...转载 2018-05-14 12:39:10 · 788 阅读 · 0 评论 -
TIME_WAIT太多解决思路和方法
问题描述环境是SLB+2台ECS实例,在ECS实例上跑的是的LNMP服务,在某一天下午三点中app包加载数据很慢,平时可能一两秒就能加载完成js,css等样式解决方法 1、找到加载慢的域名和URL 访问后端数据库,看获取数据情况,访问数据正常。 2、查看操作系统CPU、内存、负载、网络情况 查看CPU命令:top 查看内存命令:free -m ...原创 2018-05-02 14:42:25 · 9166 阅读 · 0 评论 -
配置Tomcat的虚拟主机
tomcat的虚拟主机,在主配置文件 conf/server.xml 中,每一个Host就表示一个虚拟主机一、默认虚拟主机<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.va原创 2018-04-09 18:03:21 · 411 阅读 · 0 评论 -
linux下基于apache下的svn的搭建
一、下载软件subversion-1.7.14.tar.bz2apr-1.6.3.tar.gzapr-util-1.6.1.tar.gzsqlite-amalgamation-3190300.ziphttpd-2.2.26.tar.bz2pcre2-10.31.tar.bz2expat-2.1.0.tar.gz二、安装所依赖的包 1、安装apr$ wget http:...原创 2018-04-09 16:51:40 · 764 阅读 · 0 评论 -
Apache服务优化
一、账号设置 以专门的用户帐号和用户组运行 Apache 服务。 1、根据需要,为 Apache 服务创建用户及用户组。如果没有设置用户和组,则新建用户,并在 Apache 配置文件中进行指定。创建 Apache 用户组。groupadd webuser创建 Apache 用户并加入 Apache 用户组。useradd webuser –g webuser将下面两行设...翻译 2018-04-09 14:44:32 · 830 阅读 · 0 评论 -
Apache配置虚拟主机
我用的是源码编译的apache,配置虚拟主机,在主配置文件目录下的 extra/httpd-vhosts.conf 文件,自己也可以创建新的目录,然后在 httpd.conf 最末尾配置上路径即可,添加内容为:IncludeOptional conf.d/*.conf #conf.d为自己手动创建的目录下面是一些虚拟主机样例:#最简单的配置虚拟主机<VirtualHost ...原创 2018-04-09 14:08:29 · 370 阅读 · 0 评论 -
源码编译安装apache
一、安装依赖包 yum -y install wget make gcc gcc-c++ pcre openssl openssl-devel zlib unzip cmake ncurses-devel libjpeg libjpeg-devel libpng libpng-devel libxml2 libxml2-devel curl-devel libtool libtool-lt...原创 2018-03-21 17:26:01 · 6891 阅读 · 0 评论 -
LVS调度模式
LVS常用的调度模式有 NAT模式、DR模式、TUN模式、FULL NAT模式(在淘宝上用)一、NAT模式 1、NAT技术将请求的报文(DNAT)和响应的报文(SNAT),通过调度器地址重写,然后在转发给内部的服务器,报文返回时再改写成原来的用户请求的地址; 2、只需要在调度器LB上配置公网IP即可,调度器也要有私有LAN IP 和内部RS节点通信; 3、每台内部RS节...原创 2018-03-02 13:58:03 · 518 阅读 · 0 评论 -
使用python分析nginx访问日志
一、在nginx配置文件中添加日志的格式,并打开记录访问日志的功能#nginx配置文件#添加的字段、access_log on;log_format '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' ...翻译 2018-03-01 15:20:21 · 2566 阅读 · 0 评论 -
keepalived高可用集群服务
一、简介 keepalived 是专门用来监控LVS集群系统中各个节点的状态,后来又加入了VRRP(虚拟路由器冗余协议)功能二、keepalived的两大功能1、对节点做健康检查 healthcheck2、高可用对之间的失败接管(接管的有VIP资源及相应的服务) failover三、keepalived工作原理1、VRRP(虚拟路由器冗余协议),它的出现就是为...原创 2018-02-06 15:07:39 · 498 阅读 · 0 评论 -
编译php可能遇到的问题和解决方法
在编译php7.1.13的时候,出现了一些问题,编译参数如下:[root@linux-node1 php-7.1.13]# ./configure --prefix=/usr/local/php \--disable-debug \--disable-phpdbg \--enable-mysqlnd \--enable-bcmath \--with-bz2=/usr \--en原创 2018-01-25 15:13:26 · 809 阅读 · 0 评论 -
curl error: Problem with the SSL CA cert (path access rights?) 的解决方法
这里显示的是CA问题: 首先,颁发server证书的CA是没有问题的,那么应该是curl使用的ca-bandle.crt 有问题,这很可能意味着您已经删除了/etc/pki/tls/certs/ 目录下的某些文件或设置了无效的权限。$ yum reinstall openssl ca-certificates -y$ ll /etc/pki/tls/certs/ca-bundle.crt原创 2018-01-19 16:02:23 · 13925 阅读 · 0 评论 -
Nginx安全小知识
1、在配置文件中小心使用”if”。它是重写模块的一部分,不应该在任何地方使用。 “if”声明是重写模块评估指令强制性的部分。。 解决方案:在非重写的指令内完全禁用”if”。这将更改现有的许多配置,所以还没有完成。2、 将每个 ~ .php$ 请求转递给PHP。 这个指令有个潜在的安全漏洞,即使文件名为 hello.php.jpeg 它也会匹配 ~ .php$ 这个正则而执行翻译 2018-01-12 17:02:48 · 519 阅读 · 0 评论 -
Java 使用 Redis
前提: 开始在 Java 中使用 Redis 前, 我们需要确保已经安装了redis服务端及Java redis 驱动,且能正常使用 Java。安装 Java redis 驱动 下载驱动包 jedis.jar (https://mvnrepository.com/artifact/redis.clients/jedis) ,下面是下载方法,一般都是下载最新的jar包(jedis...原创 2018-01-05 12:58:09 · 614 阅读 · 0 评论 -
Linux查杀木马
木马和后门的查杀是系统管理员一项长期需要坚持的工作,切不可掉以轻心。 以下从几个方面在说明Linux系统环境安排配置防范和木马后门查杀的方法: 一、Web服务器(以Nginx为例)1、上传目录、include类的库文件目录要禁止代码执行(Nginx正则过滤)2、在nginx配置文件中增加:if ($request_filename ~* (.*)\.php) { set $php_u原创 2018-01-02 15:29:43 · 1728 阅读 · 0 评论 -
普通用户管理nginx服务
在实际生产环境中,有时我们需要普通用户管理nginx服务,也就是将nginx在普通用户下运行。采用这种方式的好处:1)上线方便上线的时候可以直接把 conf(配置文件目录)、html(数据文件目录) 目录直接干掉,后面推送过来,重启服务即可。2)应用层隔离3)环境标准化4)可管理性环境设置一、首先要有编译好nginx 编译方法见:http://blog.csdn.net/m0_37886原创 2018-01-02 14:44:41 · 4015 阅读 · 0 评论 -
线上nginx添加模块
需要给nginx添加的模块:with-http_realip_module一、使用参数重新编译./configure --prefix=/usr/local/nginx \--user=www \--group=www \--with-http_stub_status_module \--with-http_ssl_module \--with-http_gzip_static_modul原创 2017-12-22 16:12:08 · 482 阅读 · 0 评论 -
php+nginx高并发大流量站点nginx优化
1.TCP sockets 与Unix sockets Unix sockets比TCP sockets提供更好一些的性能(因为I/O数据读写少,上下文切换少)。upstream backend { server unix:/tmp/fastcgi.sock; # server 127.0.0.1:8080; }2、禁用或者优化access_log大转载 2017-12-20 16:33:17 · 3184 阅读 · 0 评论 -
负载均衡500/502/504错误排查
对于配置负载均衡之后,访问网站出现500 Internal Server Error, 502 Bad Gateway, 504 Gateway Timeout等错误,有可能由多种原因导致,例如运营商拦截,客户端异常行为导致防火墙封杀,负载均衡配置错误或者健康检查失败,后端Web应用访问问题等。可能原因以及解决方案一、源站域名没有备案或者域名没有在高防或者安全网络配置七层转发 解决方案:请将域原创 2017-11-15 15:58:30 · 7912 阅读 · 0 评论 -
代理proxy获取客户端真实IP
关于代理如何获取客户端真实IP的配置: http://www.example.com/static/index.htmldev开发环境举例:www.example.com(代理)–>proxy.example.com(代理) –> proxy.data.example.com默认获取客户端IP地址的变量: $remote_addrclient_ip: 10.19.136.119 --> www_ip原创 2017-10-24 11:06:20 · 8886 阅读 · 0 评论