Home > 工作记录
  • 【工作】Nginx 实现域名的登录验证功能

    摘星怪  /
     / 工作记录, 应用服务
    【背景说明】 研发有个需求,访问公司某个域名下的某个url时候需要认证,只有输入正确的用户密码才允许访问web内容。 【实现思路】 Nginx服务中的"ngx_http_auth_basic_module"模块可以实现此要求,默认情况下编译安装完nginx后,就已经安装启用了ngx_http_auth_basic_module模块,如果不需要这个模块,可以加上 --without-http_auth_basic_module关闭。 ngx_http_auth_basic_module模块指令: 语法: auth_basic string | off; 默认值: auth_basic off; 作用:默认表示不开启认证,后面如果跟上字符,这些字符会...
    阅读全文 →
  • 【工作】Centos 6.5 PHP 5.3 yum升级到5.5、5.6、5.7版本方法

    系统环境: OS:CentOS 6.5 php version:  5.3.3 1.卸载系统已有php # yum remove php*   注意:对于线上环境运行上面的命令时候,确保机器没有对外提供业务,否则执行后会导致业务异常。 2.安装Remi的YUM源 Remi repository是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供维护。有个这个源之后,使用 YUM 安装或更新 PHP、MySQL、phpMyAdmin 等服务器相关程序的时候就非常方便了。 CentOS 6 Yum源: # rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm # rp...
    阅读全文 →
  • 【工作】线上Nginx升级OpenSSL版本防止安全漏洞

    摘星怪  /
     / 工作记录
    背景说明: 最近公司用网藤对网站业务进行了风险分析,发现了OpenSSL漏洞,由于线上的OpenSSL版本过旧,现在需要着手升级,公司的Web Server是Nginx,而Nginx安装时分为动态编译和静态编译OpenSSL两种方式,所以先查看是由那种方式安装的。 一、判断webserver是动态编译还是静态编译ssl的两种方法: 1.查看Nginx编译参数 输入以下指令,查看Nginx的编译参数: # /opt/nginx/sbin/nginx -V   nginx version: nginx/1.4.7 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)  TLS SNI support enabled confi...
    阅读全文 →
  • 【工作】解决ACPI Error: No handler for Region错误导致linux系统自动重启

    报错现象: 线上有台服务器运行了了大概半年多,突然收到报警服务器重启了,可以确定不是人为操作导致的重启,以下是排查过程。   服务器品牌:Dell PowerEdge R720  系统版本:CentOS Linux release 7.1.1503 内核版本:3.10.0-229.el7.x86_64   查看messages日志报错信息如下: # tail -1000 /var/log/messages | grep -i error   查看dmesg报错信息如下: # dmesg | grep -E "error|Error|ERROR|fail|Fail|FAIL"  报错原因: 由于BIOS中开启了中断重映射,在ERST(芯片集中的错误校验表)校验时发生错误,...
    阅读全文 →
  • 【工作】Centos上ssh连接服务器缓慢的解决办法

    现象: 在机房内网中,用ssh连某台服务器非常慢,基本需要等待15-30秒才会提示让输入密码,但是ping目标机器,延时都是微秒级别,可见并非网络原因造成连接缓慢。 解决办法: 方法一: 修改本机的客户端配置文件ssh_conf,注意,不是sshd_conf  # vi /etc/ssh/ssh_config   找到: GSSAPIAuthentication yes   改为: GSSAPIAuthentication no   保存退出: # service sshd restart   再连目标机器,速度就飞快了。   解释:GSSAPI ( Generic Security Services Application Programming Interface) 是一套类...
    阅读全文 →
  • 【工作】CentOS下搭建sftp服务并指定不同用户的访问目录和权限

    摘星怪  /
     / 基础知识, 工作记录
    【写在前面】 客户现在有个需求,需要创建个文件服务器,可以实现对不同用户访问不同目录,且用户拥有不同访问权限。 目前文件服务器有很多种,常见的有vsftp、samba、sftp等,为了省事,我直接采用sftp实现这个需求。 目前服务器上都安装了ssh服务,则默认就包含sftp功能,只要sshd服务器启动了,sftp功能也就可以直接使用,端口就是ssh服务设置的登录端口,默认是22。 PS:本文只是描述sftp实现需求过程,其中一些安全设置操作省略没写,如果你是搭建用来给外网用户使用,请注意安全加固问题,起码要更改ssh的端...
    阅读全文 →
  • 【工作】Docker实践记录(二):使用Harbor搭建Docker私有仓库

    摘星怪  /
     / 工作记录
    写在前面: 针对于公司内部使用的镜像,我们希望推送到本地的私有docker仓库中,以供公司内部相关人员下载使用,所以准备研究使用harbor完成此功能,此文章只是研究,实际生产环境需要采用高可用的架构,之后也会搭建研究。 Harbor介绍: Harbor是VMware公司开源的企业级DockerRegistry项目,项目地址为https://github.com/vmware/harbor。其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。它以Docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP...
    阅读全文 →
  • 【工作】Centos下静默(命令行)方式安装Oracle 11g

    【准备环境】 一般来说,对于生成环境运行的linux系统,都不会安装图形界面,所以如果想要在没有图形界面的Linux上面安装Oracle,我们需要使用Linux的静默安装方式,以下为所需资源: 硬件需求: 物理内存不少于1G 硬盘空间不少于5G swap分区空间不少于2G 软件需求: OS:CentOS release 6.8 Oracle:11gR2 【安装步骤】 --------------------------------------以下命令使用root用户操作-------------------------------------- 1. 下载地址: # wget http://v.yingsun.net/cobra/download/linux.x64_11gR2_...
    阅读全文 →
  • 【工作】Docker实践记录(一):Docker 17.06 版本安装

    摘星怪  /
     / 工作记录, 虚拟化
    【写在前面】 公司打算要把线上服务器上面的微服务迁移到docker上运行,之前研究过1.13版本的docker,现在docker版本经历了大的变动,之前的笔记已经无法使用,所以打算把部署过程中的一些心得记录下,以便以后查阅使用。有不足之处欢迎指正,文章内容参考了网上很多博客,就不一一列举了。 【文章内容】 一、关于Docker: Docker老版本(例如1.13),叫做docker-Engine,Docker从17.03版本开始采用基于时间的YY.MM形式的版本命名方案,分为企业版(docker-EE)和社区版(docker-CE)。 CE版又分为edge版(测试)和stabl...
    阅读全文 →
  • 【工作】Centos 7/6 内核版本由3.10.0 升级至 4.12.4方法

    【写在前面】 公司打算上Docker服务,目前需要安装运行环境,Docker新的功能除了需要Centos 7系统之外,内核的版本高低也决定着使用的效果,所以在此记录下系统内核版本升级过程。 注:对于线上环境的内核版本还需要根据实际情况谨慎选择,越新的版本未来可能遇到的问题越多,此文只是记录升级方法而已。 【文章内容】 关于内核版本的定义: 版本性质:主分支ml(mainline),稳定版(stable),长期维护版lt(longterm) 版本命名格式为 “A.B.C”: 数字 A 是内核版本号:版本号只有在代码和内核的概念有重大改变的时候...
    阅读全文 →
  • 【工作】Cobbler安装系统报错Nothing to boot: No such file or directory

    【问题描述】: 很早之前使用笔记本的虚拟机安装过cobbler批量安装系统,后来离职,电脑还给上家公司,现在新公司也有批量安装系统需求,于是在新笔记本的虚拟机安装cobbler,安装过程是按照之前的笔记,按理说没有问题,但是安装完毕后,新建一个虚拟机模拟装机,发现报如下错误: Nothing to boot: No such file or directory (http://ipxe.org/2d03e13b)”. 且报错上面的信息显示虚拟机已经获得了dhcp分配的IP地址。 查询资料也没找到解决办法,开始觉得应该tftp的问题,但是看了很多文章,也查看了配置,觉得并...
    阅读全文 →
  • 【工作】KVM启动虚拟机报错:error: Unable to read from monitor: Connection reset by peer

    报错现象: 线上有台虚拟机关闭很久没用了,重新启用的时候发现无法启动,报错现象如下:   # virsh start win2008 error: Failed to start domain win2008 error: Unable to read from monitor: Connection reset by peer   解决过程: 根据网上的说法是执行下面的命令即可:   # virsh managedsave-remove  win2008   但是我执行后启动还是报错,最后经过排查发现,是服务器内存不足导致无法启动,cache里面有大量的缓存占用,如果是非生产环境可以重启服务器,但是生产环境则不行,可以按照下面的方法释放内存...
    阅读全文 →
  • 【工作】Linux使用非root用户启动Apache、Nginx等服务的方法

    【写在前面】 对于Linux系统而言,普通用户只能使用1024以上的端口启动服务,而1024以内的端口只能由root用户使用,而通常像apache或者Nginx等服务,使用最多的是80和443端口,如果通过其他非root用户启动,就会报错如下: (13)Permission denied: make_sock: could not bind to address [::]:80 (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down 一般情况下,线上的web服务都会使用root用户来启动,但是有时候为了安全或者是某些特殊...
    阅读全文 →
  • 【工作】Nginx使用stream模块实现TCP负载均衡(TCP协议转发、Socket转发)

    摘星怪  /
     / 工作记录
    【写在前面】 线上新项目,研发想实现使用Nginx做socket转发做负载均衡,其实说白了就是想实现基于TCP协议的后端业务的高可用。一般来说Nginx可以做http协议转发,并不支持tcp协议,但是从1.9.0版本开始增了“ngx_stream_core_module”模块,可以用于TCP协议的代理和负载均衡功能实现。 【模块介绍】 ngx_stream_core_module模块默认是没有编译的,需要编译安装Nginx时添加"--with-stream"配置参数。下面是官方网站上的一个示例:地址:http://nginx.org/en/docs/stream/ngx_stream_core_module.html   worker_proce...
    阅读全文 →
  • 【工作】Centos上使用命令行形式安装启动Juniper客户端

    摘星怪  /
     / 工作记录
    【写在前面】 公司有个新项目是跟浙商银行合作,研发需要连接到浙商银行内网去获取数据并开发。 现在情况是行方要求走专线或者vpn形式,由于专线申请需要一定的时间,所以前期采取vpn方式,而银行方提供的vpn为 Juniper Network Connect,需要在window环境下登录web端,安装软件登陆,现在研发想实现在linux系统下连接登录并开发,由于银行方也不清楚Juniper 在linux下的安装方式,所以将安装成功方法记录下。 【安装过程】 1、安装软件运行的依赖库 说明:目前基本线上的服务器都适用的64位系统,而客户端软件需要3...
    阅读全文 →
  • 【工作】解决Python导入ssl模块报错:ImportError: No module named _ssl

    报错现象: python导入ssl模块报错: ImportError: No module named _ssl   更新:如果报如下错误,也是同样的原因和解决办法 ImportError: cannot import name 'HTTPSHandler' 报错原因和解决办法: 网上很多博客都是说系统没有安装openss和openssl-devel软件,需要安装两个软件,重新编译安装python即可。   但是我的服务器上已经安装了openssl和openssl-devel软件,编译安装python后还是无法正常导入ssl模块,还有很多博客说是让编辑python源码包的根目录下的”Setup”文件或者是源码包Modules目录下的“Setup”文...
    阅读全文 →
  • 【工作】解决系统glibc版本由2.12升级到2.14后执行java命令挂起无反应的问题

    摘星怪  /
     / 工作记录
    写在前面: 有同事过来反应,一台给研发专用的测试机器先无法使用java命令了,执行后就会挂起,也没有错误输出,由于这台机器是测试机器,所以研发都有root权限,目前不确定他们更改了什么配置造成这个问题。 解决过程: 1、登录机器执行命令java -version,发现确实命令被挂起,没有任何结果输出。   2、查看系统环境变量,发现jdk配置没有问题,如下: # cat /etc/profile   export JAVA_HOME=/opt/jdk1.8.0_45 export PATH=$JAVA_HOME/bin:$PATH  export CLASSPATH=.:$JAVA_HOME/lib/:$JAVA_HOME/lib/dt.jar:$...
    阅读全文 →
  • 【工作】解决由”ip_conntrack”导致的keepalived频繁切换问题

    摘星怪  /
     / 工作记录
    状况描述: 线上有两台Server使用keepalived+nginx做前端Web代理,最近发现keepalived经常频繁的由主切换到从,keepalived脚本检查的规则是通过对两个业务的网页(专门用于检测,不对外提供业务)进行curl,curl的超时时间是5秒,如果两个页面返回状态码同时不为200时候,停止keepalived服务,切换到从。 解决过程: 阶段一: 当接到报警发现主从切换后,第一时间上到服务器上,发现确实切换了,但是由于切换都是1s内,对业务并没有造成影响,所以没有立刻将VIP切回到主上。   首先,查看keepalived的log:   # ta...
    阅读全文 →