CentOS 6.3 下 curl: (35) SSL connect error 的问题

最近在调paypal API, 连接服务器 curl ssl 的时候会出现connect error
* Connected to api.sandbox.paypal.com (173.0.82.78) port 443 (#0)
* TLS disabled due to previous handshake failure
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* NSS error -12286
* Closing connection #0
* SSL connect error
curl: (35) SSL connect error
但是访问度娘的curl  https://www.baidu.com 又是正常的
其实是系统的 ssl 相关的包没有升级,执行升级命令即可
yum update -y nss curl libcurl

CentOS一个挂载网络磁盘的命令

安装cifs插件
yum -y install cifs*
挂载磁盘
mount -t cifs -o username=loginusername,password=’loginpassword’,iocharset=utf8 //192.168.100.8/upload  /mnt/upload
挂载状态
mount
卸载磁盘
umount /upload  –/upload

Derby 数据库的Continuum 在管理员帐号被锁定时的操作

1.) export DERBY_HOME=`cygpath -wa /cygdrive/c/Programme/derby/10.4.2.0`
2.) export
CLASSPATH=$DERBY_HOME\\lib\\derby.jar\;$DERBY_HOME\\lib\\derbytools.jar
3.) export PATH=`cygpath -ua $DERBY_HOME`/bin:$PATH
4.) ij.bat
4a.) connect
‘jdbc:derby:/usr/local/continuum/data/databases/users’;
4b.) select * from sa.jdouser;
4c.) update sa.jdouser set encoded_password = ‘<some other user’s password>’
where username = ‘admin’;
4d.) update sa.jdouser set count_failed_login_attempts = 0 where username =
‘admin’;
4e.) commit;
4f.) exit;

查看mysql 的启动参数

service mysql start 的时候并没有显示指定启动加载的文件,而有时候要知道它的一些默认路径和配置文件进行更改。
指令如下:

cat /proc/$(pidof mysqld)/cmdline | tr '\0' '\n'

将输出

/usr/local/mysql/bin/mysqld
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--plugin-dir=/usr/local/mysql/lib/plugin
--user=mysql
--log-error=/usr/local/mysql/data/VM_1_11_centos.err
--pid-file=/usr/local/mysql/data/VM_1_11_centos.pid

当然 直接ps aux |  grep mysqld 也可以。

第一次ssh访问 linux时,添加known_hosts的指纹格式RSA、DSA和ECDSA的声明

之前用 cent6.x 的时候,总是默认为 ECDSA的指纹。而自动发布ssh 和用 Maven 的时候填入的验证需要 DSA 或者 RSA的指纹。
在 /etc/sshd_conf 里有这样一段

 
把HostKey /etc/ssh/ssh_host_ecdsa_key 注释掉就行了

CentOS 7 安装 MySQL Server 5.5

首先,因为CentOS先安装了 MariaDB,与MySQL冲突,要先卸载掉
查看当前安装的mariaDB

rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.****-1.el7_0.x86_64

去mysql官网上下载RedHat Linux 用的 RPM 包, 包括以下三项 server  client 和 devel
http://dev.mysql.com/downloads/mysql/5.5.html#downloads
MySQL-server-5.5.42-1.el7.x86_64.rpm
MySQL-client-5.5.42-1.el7.x86_64.rpm
MySQL-devel-5.5.42-1.el7.x86_64.rpm
然后放在某一目录下,进入目录后,输入以下命令
rpm -ivh MySQL-server-5.5.42-1.el7.x86_64.rpm MySQL-client-5.5.42-1.el7.x86_64.rpm  MySQL-devel-5.5.42-1.el7.x86_64.rpm
然后就可以启动mysql 服务了

service mysql start

CentOS 7.0 64位安装Memcached

首先,安装需要的依赖项  libevent 和 libevent-dev

yum install libevent libevent-devel

然后去 memcached.org 下载对应的版本的memcached:
http://memcached.org/
当然也可以直接下载最新的包

wget http://memcached.org/latest

然后解压 tar -zxvf
编译安装

./configure --prefix=/usr/local/memcached

如果是64位的centos 可以执行如下命令

./configure  --prefix=/usr/local/memcached --enable-64bit
make
make install

如果编译失败,error: no acceptable C compiler found in $PATH   则先安装gcc

yum -y install gcc

然后就可以用如下指令启动了

/usr/local/memcached/bin/memcached -d -u root -m 512 -p 11211

CentOS 下 MySQL 远程登录 关闭防火墙

iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 3306 -j ACCEPT
service iptables save
service iptables restart

maven 的 spring相关包中找不到 springframework.web.servlet 相关包的解决方案

此部分包已被移至独立的artifactId 名为  spring-webmvc ,pom 如下:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>3.0.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.0.7.RELEASE</version>
    </dependency>

关于布署 Nginx + Passenger 的ROR 环境中的权限问题

最近布署ROR环境时,遇到了各种permission denied 的错误。原因是 rvm 被安装到了/root 下,进而导致ruby 的 gem 包被安装至了root 目录下 。
而 passenger 在反向代理的时候,默认会以 nobody 为用户名 启动一个ruby 解释 进程,在使用部分gem 时,会调用到 /root 下面的 gem ,因而导致权限不足无法访问。即使把对应的gem 或文件夹 chmod -R 至 777 也会因为 gem 之间的相互引用 而导致权限不足。
最终的解决方案就是,千万不要把 rvm 装在 root 下面。