Home > 工作记录
  • 【工作】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...
    阅读全文 →
  • 【工作】MySQL InnoDB引擎转换为MyISAM引擎方法

    MySQL 5.5以上默认数据库引擎为InnoDB,InnoDB虽然带来很多特性上的改进,但是对系统资源占用,尤其是内存占用明显增加,所以对于小内存或者单机使用的服务器,还是使用MyISAM更为合适。 从InnoDB引擎转换成MyISAM引擎 (MySQL命令行下使用SHOW ENGINES命令可以查看数据库默认引擎,或者查看my.cnf文件) 方法一:修改单个表的存储引擎:   进入MySQL命令行模式,然后执行以下指令(以数据库wikidb数据库为例):   mysql> use wikidb   查看表的默认引擎: mysql> show create table my_wikiarchive\G ) EN...
    阅读全文 →
  • 【工作】Centos6.5 升级glibc解决“libc.so.6: version GLIBC_2.14 not found”报错问题

    写在前面: 研发发来邮件说线上有台服务器跑程序报错,信息如下: ./agent: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by./agent)   从上面报错可以看出,程序运行时候,没有找到“GLIBC_2.14”这个版本库,而默认的Centos6.5 glibc版本最高为2.12, 所以需要更新系统glibc库。   glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。   很...
    阅读全文 →
  • 【工作】指定Tomcat的初始化内存和JDK版本

    写在前面: 有时候有些Tomcat程序运行时需要指定的JDK版本和初始化内存大小,而有些系统自带的JDK版本太低,无法满足需求,所以我们需要更改Tomcat的配置文件,指定这些参数。 配置方法: 配置方法很简单,就是在Tomcat的启动脚本中修改和添加相关参数即可,下面是Linux上修改的方法。 # vim /opt/apache-tomcat-7.0.28/bin/catalina.sh 添加如下内容: #指定tomcat使用的jdk版本(先安装好) export JAVA_HOME=/opt/jdk1.7.0_76 #指定初始化内存大小为1G,最大为2G export JAVA_OPTS="-server -Xms1G -Xmx2G -X...
    阅读全文 →
  • 【工作】解决Nginx访问日志中报favicon.ico文件404错误

    摘星怪  /
     / 工作记录, 应用服务
    报错现象: 经常会在Nginx虚拟主机的访问日志里有"GET /favicon.ico HTTP/1.1" 404 288 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)"这样的报错,但是又不影响访问,决定解决这个报错问题。 favicon.ico的作用: 一般用于作为缩略的网站标志,它显示在浏览器的地址栏、浏览器标签上或者在收藏夹上(如下图),是展示网站个性的缩略logo标志,也可以说是网站头像,目前主要的浏览器都支持favicon.ico,一般访问网站时候会自动搜寻网站下的/favicon.ico 文件(如果在网页上没有特别指明...
    阅读全文 →