centos添加sftp用户

#创建sftp组
groupadd sftp
#创建一个用户dsideal
useradd -g sftp -s /bin/false dsideal
#设置dsideal用户的密码
passwd dsideal
#创建一个sftp的上传目录
mkdir /usr/local/sftp
#修改用户dsideal所在的目录
usermod -d /usr/local/sftp dsideal

#配置sshd_config
vi /etc/ssh/sshd_config
#找到如下这行,并注释掉
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
#添加如下几行
Subsystem sftp internal-sftp    #这行指定使用sftp服务使用系统自带的internal-sftp
Match User dsideal    #这行用来匹配用户
ChrootDirectory /usr/local/sftp    #用chroot将用户的根目录指定到/usr/local/sftp,这样用户就只能在/usr/local/sftp下活动
AllowTcpForwarding no
ForceCommand internal-sftp    #指定sftp命令
#保存退出

#设定Chroot目录权限
chown -R root:root /usr/local/sftp
chmod 755 /usr/local/sftp/

#建立SFTP用户登入后可写入的目录
mkdir /usr/local/sftp/dsideal
chown -R dsideal:sftp /usr/local/sftp/dsideal/
chmod 755 /usr/local/sftp/dsideal/

#重启sshd服务
service sshd restart

#关闭SElinux
vi /etc/sysconfig/selinux
#找到如下这行
SELINUX=enforcing
#修改为
SELINUX=disabled
#保存退出

#重启服务器
reboot

maven构建

1. 标准目录结构:

src 
  -main 
      –bin 脚本库 
      –java java源代码文件 
      –resources 资源库,会自动复制到classes目录里 
      –filters 资源过滤文件 
      –assembly 组件的描述配置(如何打包) 
      –config 配置文件 
      –webapp web应用的目录。WEB-INF、css、js等 
  -test 
      –java 单元测试java源代码文件 
      –resources 测试需要用的资源库 
      –filters 测试资源过滤库 
  -site Site(一些文档) 
target 
LICENSE.txt Project’s license 
README.txt Project’s readme 
阅读全文 »

Java防止浏览器直接打开下载的文件

方法1

我们在编程的时候可以把html格式的文件通过servlet程序很容易的传递到客户端,我们其实也可以把很非html格式的文件通过servlet传递 到客户端浏览器,如:word文档、图片、视屏等等。因为我们要向客户端传送什么格式的文件都是可以同 response.setContextType()来进行设置的,如:传送word文档可以设置 为:response.setContextType(“application/msword”)。只要是mime可以表示的类型我们都是可以通过设置 传送格式通过Servlet来向客户端浏览器传送的,而不是在浏览器中直接打开。

阅读全文 »

创建自定义自启动LINUX服务service

将init_daemon放入程序开始处

void init_daemon()
{
    int pid;
    int i;

    if(pid=fork())
    exit(0);//是父进程,结束父进程
    else if(pid< 0)
    exit(1);//fork失败,退出
    //是第一子进程,后台继续执行

    setsid();//第一子进程成为新的会话组长和进程组长
    //并与控制终端分离
    if(pid=fork())
    exit(0);//是第一子进程,结束第一子进程
    else if(pid< 0)
    exit(1);//fork失败,退出
    //是第二子进程,继续
    //第二子进程不再是会话组长

    for(i=0;i< NOFILE;++i)//关闭打开的文件描述符
    close(i);
    //chdir("/tmp");//改变工作目录到/tmp
    umask(0);//重设文件创建掩模

    return;
}
阅读全文 »

mongodb开启关闭

Mongodb后台daemon方式启动

Mongodb可以通过命令行方式和配置文件的方式来启动,具体命令如下:

[root@localhost mongodb]# ./bin/mongod --dbpath=/data/db  
[root@localhost mongodb]# ./bin/mongod -f mongodb.conf  

但是这两种方式都是在前台启动Mongodb进程,如果Session窗口关闭,Mongodb进程也随之停止。不过Mongodb同时还提供了一种后台Daemon方式启动,只需要加上一个”—fork”参数即可,值得注意的是,用到了”—fork”参数就必须启用”—logpath”参数。如下所示:

[root@localhost mongodb]# ./bin/mongod --dbpath=data/db --fork  
--fork has to be used with --logpath  
[root@localhost mongodb]# ./bin/mongod --dbpath=data/db --fork --logpath=log/mongodb.log   
all output going to: /opt/mongodb/log/mongodb.log  
forked process: 3300  
[root@localhost mongodb]#   

daemon方式启动的fork参数也可以配置配置文件中,如下所示:

port=27017  
dbpath=data/db  
logpath=log/mongodb.log  
logappend=true  
fork=true 

然后通过配置文件启动后mongodb也是在后台启动了:

[root@localhost mongodb]# ./bin/mongod -f mongodb.conf   
all output going to: /opt/mongodb/log/mongodb.log  
forked process: 3377 

MongoDB:关闭服务

一 使用 Crtl+C 关闭

[mongo@redhatB data]$ mongod —dbpath=/database/mongodb/data/ —logpath=/var/applog/mongo_log/mongo.log —logappend —port=27017 —journal > start_mongo.log 2>&1
光标:键入 Crtl+C 关闭
备注:如果以前台方式启动 MongoDB 服务,使用“Crtl+C” 服务会关闭,这种关闭方式会等待
当前进行中的的操作完成,所以依然是干净的关闭方式。

二 使用数据库命令关闭

2.1 开启服务
[mongo@redhatB data]$ mongod -f /database/mongodb/data/mongodb_27017.conf
forked process: 18155
all output going to: /var/applog/mongo_log/mongo.log
child process started successfully, parent exiting

2.2 登陆数据库

[mongo@redhatB data]$ mongo
MongoDB shell version: 2.2.1
connecting to: test

2.3 关闭 MongoDB 服务

> use admin;
switched to db admin
> db.shutdownServer();
Wed Nov 14 06:07:33 DBClientCursor::init call() failed
Wed Nov 14 06:07:33 query failed : admin.$cmd { shutdown: 1.0 } to: 127.0.0.1:27017
server should be down...
Wed Nov 14 06:07:33 trying reconnect to 127.0.0.1:27017
Wed Nov 14 06:07:33 reconnect 127.0.0.1:27017 failed couldnt connect to server 127.0.0.1:27017

三 使用 mongod 命令关闭

[mongo@redhatB data]$ mongod  --shutdown  --dbpath /database/mongodb/data/
killing process with pid: 17747

备注:mongod 命令的 shutdown 选项能干净的关闭 MongoDB 服务。

四 使用 kill 命令

4.1 查看 mongo 相关进程

[mongo@redhatB data]$ ps -ef | grep mongo
root     17573 14213  0 05:10 pts/1    00:00:00 su - mongo
mongo    17574 17573  0 05:10 pts/1    00:00:00 -bash
mongo    18288     1  0 06:12 ?        00:00:00 mongod -f /database/mongodb/data/mongodb_27017.conf
mongo    18300 17574  6 06:13 pts/1    00:00:00 ps -ef
mongo    18301 17574  0 06:13 pts/1    00:00:00 grep mongo

4.2 kill mongo 服务进程

[mongo@redhatB data]$ kill 18288
[mongo@redhatB data]$ ps -ef | grep pmon
mongo    18304 17574  0 06:13 pts/1    00:00:00 grep pmon

备注:可以使用操作系统的 kill 命令,给 mongod 进程发送 SIGINT 或 SIGTERM 信号,即 “kill -2 PID,” 或者 “kill -15 PID“。

建议不要使用 ”kill -9 pid“,因为如果 MongoDB 运行在没开启日志(—journal)的情况下,可能会造成数据损失。

commons-pool官网笔记

Commons Pool的2.x版本将1.x版本完全重写,除了在性能和可扩展性上的提高,2.x具有健壮的实例跟踪和连接池监控。并且需要JDK1.6及以上的版本。

PooledObjectFactory

PooledObjectFactory 提供了一个管理连接池里对象生命周期的通用的接口:

阅读全文 »

commons-pool 1.x笔记

Object pool就是一个管理对象的池子。新版本利用jdk 1.5以后的特性,结合泛型,而不是利用Object来实现了。

主要就靠3个接口来管理:

阅读全文 »

centos安装mysql

1. 卸载掉原有mysql

因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库

// 这个命令就会查看该操作系统上是否已经安装了mysql数据库
[root@xiaoluo ~]# rpm -qa | grep mysql  
阅读全文 »

windows下安装redis

官网下载zip压缩文件,解压缩之后运行以下脚本

redis-server  redis.windows.conf

可以将其保存为文件 startup.bat ; 下次就可以直接启动了。

但是在cmd之中执行这行命令之后报错:

阅读全文 »

CentOS设置程序开机自启动

1 把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd。

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/usr/local/apache/bin/apachectl start
阅读全文 »