chage命令 来自: http://man.linuxde.net/chage

chage命令用户和工作组管理 chage命令是用来修改帐号和密码的有效期限。 语法 chage [选项] 用户名 选项 -m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。 -M:密码保持有效的最大天数。 -w:用户密码到期前,提前收到警告信息的天数。 -E:帐号到期的日期。过了这天,此帐号将不可用。 -d:上一次更改的日期。 -i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。 -l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。 实例 可以编辑/etc/login.defs来设定几个参数,以后设置口令默认就按照参数设定为准: PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 5 PASS_WARN_AGE 7 当然在/etc/default/useradd可以找到如下2个参数进行设置: # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes 通过修改配置文件,能对之后新建用户起作用,而目前系统已经存在的用户,则直接用chage来配置。 我的服务器root帐户密码策略信息如下: [root@linuxde ~]# chage -l root 最近一次密码修改时间 : 3月 12, 2013 密码过期时间 :从不 密码失效时间 :从不 帐户过期时间 :从不 两次改变密码之间相距的最小天数 … Continue reading chage命令 来自: http://man.linuxde.net/chage

网盘关闭?如何利用Docker和对象存储OSS轻松搭建ownCloud专属网盘?

网盘关闭了怎么办?如何搭建个人网盘,怎样操作?文件共享是团队协作的刚需,面对说停就停的网盘服务,很多同学除了心塞已经开始盘算搭建自己的网盘应用了。ownCloud 是一个开源免费的存储管理工具,它能帮你快速架设一套专属的网盘服务,可以像 Dropbox 那样实现文件跨平台同步、共享、版本控制、团队协作等等。 然而在VPS上搭建ownCloud是一件费时费力的工作,除此之外更需要考虑数据的可靠性、备份等工作。 本文将利用阿里云容器服务在几分钟内轻松搭建一个基于Docker的ownCloud专属网盘,并使用阿里云提供的对象存储OSS(Object Storage Service)作为高可靠、低成本的云存储后端。 创建 对象存储OSS bucket 首先你需要创建一个和容器服务处于同一区域中的bucket,这样容器应用可以通过内网地址来访问bucket中存储的文件数据,提升访问速度并节省公网带宽 创建 对象存储OSS 数据卷 数据卷是Docker提供的容器储存模型:可以实现容器和数据生命周期的解耦,当容器被删除或重建之后数据依然存在;提供了可扩展的插件机制,支持不同的存储实现。 阿里云容器服务内置了针对阿里云的数据卷驱动,支持不同类型的云存储服务:包括NAS(文件存储服务 NFS),OSS(对象存储服务,OSSFS)和云盘(即将推出)。关于数据卷的详细信息可以参阅帮助文档。http://click.aliyun.com/m/10899/。 OSSFS(http://click.aliyun.com/m/10900/) 能把对象存储OSS bucket挂载到本地像访问本地文件一样操作云端存储数据,非常适合文件存储类型的应用。我们可以在容器服务控制台的“数据卷”页面,方便地为指定集群创建一个“OSS”类型的数据卷 配置如下: ·      数据卷名:owncloud ,也可以选择其他值,这个需要和下文模板中引用volume保持一致 ·      AccessKeyID和AccessKey Secret:可以从当前用户账号的“accesskeys”中获得 ·      其他参数值:输入 -o noxattr 来提升数据卷性能 ·      访问域名:根据当前集群的网络方式,选择“内网域名”或者“VPC域名”来访问对象存储OSS bucket。 ·      文件缓存:选择 打开 可以提升访问性能 值得注意的是:对象存储OSS和NAS类型的数据卷都是全局(global)数据卷,会出现在集群中任何一个节点上。如果容器指明了重新调度配置,即使所在节点挂掉,可以自动在其他健康节点上重新恢复,而相同数据卷依然可以mount到容器指定目录上,不会导致数据丢失。 创建编排模板 在编排模板列表页面,创建如下编排模板 owncloud:   image: owncloud:9   restart: always   links:     - mysql:mysql   volumes:     - owncloud:/owncloud   labels:    aliyun.routing.port_80: 'owncloud' mysql:   image: mysql:5.7   restart: always   environment:     MYSQL_ROOT_PASSWORD: changeme 注释: ·      这里使用了ownCloud的官方Docker镜像 和 MySQL的官方Docker镜像。ownCloud应用容器利用容器别名mysql来关联MySQL容器。 ·      利用aliyun.routing.port_80:'owncloud'标签指明了用于访问网盘应用的虚拟域名 ·      利用 volumes 中的数据卷映射,把我们创建出来的对象存储OSS数据卷owncloud挂载到容器的/owncloud目录。 使用编排模板部署ownCloud应用 选择编排模板,点击部署应用。片刻之后,应用就会部署成功 选择owncloud服务,并点击访问端点 在浏览器中就可以看到ownCloud的配置界面了 输入管理员账号和密码之后,选择“存储&数据库”进行配置。ownCloud缺省会使用SQLite作为数据库,并使用本地文件系统来保持数据文件。请按如下界面修改配置 注意: ·      数据目录: 输入 /owncloud/data 这里面/owncloud是对象存储OSSbucket在容器中的挂载点 ·      配置数据库:选择 MySQL/MariaDB ·      数据库用户: 输入 root ·      数据库密码: 输入编排模板中对应数据库ROOT密码 ·      数据库名称: 输入 owncloud ·      数据库地址: 输入 mysql 连接MySQL数据库容器 点击“安装完成”,片刻之后下面的页面会出现 使用ownCloud应用 这时候你的专属网盘就成功建立起来了。不但可以上传文件,还可以为文件生成“分享链接”。 收到链接的小伙伴,就能看到你送来的满满的节日祝福了 … Continue reading 网盘关闭?如何利用Docker和对象存储OSS轻松搭建ownCloud专属网盘?

PostgreSQL数据库创建、删除、角色权限

最近一直在使用Postgresql,命令总是记不住,就索性整理下来,方便自己,也给大家分享下。 Postgresql常见操作指令: 连接数据库, 默认的用户和数据库是postgres psql -U user -d dbname 切换数据库,相当于MySQL的use dbname \c dbname 列举数据库,相当于mysql的show databases \l 列举表,相当于mysql的show tables \dt 查看表结构,相当于desc tblname,show columns from tbname \d tblname 创建数据库: create database [数据库名]; 创建数据库指定用户: create database [数据库名] owner [用户名];; 删除数据库: drop database [数据库名]; *重命名一个表: alter table [表名A] rename to [表名B]; *删除一个表: drop table [表名]; *在已有的表里添加字段: alter table [表名] … Continue reading PostgreSQL数据库创建、删除、角色权限

nginx+tomcat+java部署总结

昨天部署了一下nginx+tomcat+java出现了很多问题,以下为整理总结。 使用了两种部署方式,一种是源码部署,一种是war部署。     java源码部署总结: 环境:nginx+tomcat 部署方式:源码部署 1 源码目录 /chroot2/test/schedule 目录下面就是所有源码了 2 tomcat 位置: /usr/local/tomcat/apache-tomcat-scheduleweb-test 主要配置文件server.xml <Host name="localhost" appBase="/chroot2/test/schedule" deployOnStartup ="false" autoDeploy="false" unpackWARs="true"> <Context path="/schedule" docBase="."/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="schedule-web-test.cn-access_log." suffix=".log" pattern="common" resolveHosts="false"/> </Host> 主要注意: <Context path="/schedule" docBase="."/>的配置 3 nginx配置 upstream配置: upstream tomcat_schedule_web_test{ server localhost:8291 weight=10; } server配置: server { listen 80; server_name test.schedule.toys178.com; index … Continue reading nginx+tomcat+java部署总结

以实际的WebGIS例子探讨Nginx的简单配置

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 以实际项目中的一个例子来详细讲解Nginx中的一般配置,其中涉及到部分正则表达式的内容。在这个实际例子中,我们要做的是使用Nginx为WebGIS中常用的离散瓦片做一个伺服器。关于Nginx的下载、与tomcat的组合配置、测试例子可以参考我的上一篇博客http://www.cnblogs.com/naaoveGIS/p/5478208.html。 2.Nginx中的简单配置 2.1配置一般代理路径 让Nginx监听8010端口,一般情况下均转发到localhost:8080端口下。 2.2 配置瓦片资源代理路径 包含GISV14,以png等结尾的请求均在ROOT文件夹下寻找资源。 切记,此时需要将所有瓦片也转移到该文件夹下: 2.3 增加过滤配置 以上配置对所有png结尾的请求均作了代理转发地址。但是很多样式文件中的png图片也被转发了,这里需要做一个过滤进行规避: 即GISV14/library/的请求还是转发至localhost:8080下。 2.4检查Nginx的配置后重新加载 正确后,则重新加载配置。 3.结果展示 下图为前端展示效果: 其后台瓦片资源请求如下: 4.Nginx中的常见正则表达式 Linux环境下,要使用nginx提供的正则表达式名字,那么在编译安装nginx时必须首先安装Perl编程语言正则表达式(PCRE)。 4.1常见规则 ~ 区分大小写匹配。 ~* 不区分大小写匹配。 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配。 ^ 以什么开头的匹配。 $ 以什么结尾的匹配。 . 匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。 * 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 ? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。 + 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 4.2注意 a.为了使用正则表达式,在服务器名字开始之前使用一个波浪号字符“~”,否则,就会被作为准确的名字来对待。 b.如果在表达式中包含一个星号(*),那么就会被作为一个通配符名字(最有可能成为无效的名字)。 c.不要忘记设置锚符号“^” … Continue reading 以实际的WebGIS例子探讨Nginx的简单配置

Nginx与tomcat组合的简单使用

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中瓦片资源越来越多,如果提高瓦片的访问效率是一个需要解决的问题。这里,我们考虑使用Nginx来代理静态资源进行初步解决。 2.Nginx简介 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的。 何为反向代理呢?即以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 而Nginx主要完成的工作就是反向代理,比如我们向一台服务器的80端口发送了请求,该请求首先由Nginx监听到,其接受到请求内容后再转发给其他服务器,其他服务器处理完后再将结果传送给Nginx,最后由Nginx来统一返回给初始请求端。 Nginx最常见的使用方法就是作为静态资源伺服器,比如将CSS,JS,html,htm等文件进行缓存处理。 3.环境搭建 3.1下载 首先在官网中下载所需版本:http://nginx.org/en/download.html。目前我使用的版本是windows环境下的1.9.15。 下载完毕后,解压。 3.2开启Nginx 开启Nginx有两种方法,一种是直接点击开启,一种是命名行开启。 a.点击开启: b.命名行开启: 开启成功后,在资源管理中可以看到: 3.3常见问题—启动失败 出现启动失败问题,一般是端口冲突问题,比如win7下的IIS已经启动并占用了80端口。在config目录下找到nginx.conf,打开文件进行如下修改: 4.初步使用 4.1用网页测试是否启动成功 其中的配置为: 其表示监听8010端口请求后,会首先去html文件夹下寻找index.html页面。 4.2详解部分参数含义 listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。 server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。 location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里 root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用。 index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。 4.3配置tomcat跳转   通过proxy_pass配置请求转发地址。即当访问localhost的8010端口时,请求会跳转至localhost的8080端口处。修改完Nginx的配置后不需要重启Nginx,输入如下命令即可: 测试如下: 5.进一步使用 5.1静态文件分离配置   上面我们直接试了一个小例子,让nginx进行转发,即所谓的反向代理。但实际上我们的需求不会是这样的,我们需要分文件类型来进行过滤,比如jsp直接给tomcat处理,因为nginx并不是servlet容器,没办法处理JSP,而html,js,css这些不需要处理的,直接给nginx进行缓存。 下面我们来进行一下配置,让JSP页面直接给tomcat,而html,png等一些图片和JS等直接给nginx进行缓存。 这时最主要用的还是location这个元素,并且涉及到一部分正则,但不难,具体配置如下: 此时再直接输入localhost:8010,则会报404错误了。但是输入localhost:8010/index.jsp,则一样可以跳转至tomcat首页中。 5.2 负载配置 当一台服务器出现故障后,我们需要将请求自动转向另一台服务器,此种需求该如何配置呢?利用Nginx也是比较方便能够实现,具体配置如下: 注意,上面还加上了一个weight属性,此属性表示各服务器被访问到的权重,weight越高访问到的几率越高。 5.3其他配置 5.4关闭Nginx

testNg+maven +jenkins进行selenium自动化集成

上一次搞定了appium+python+jenkins的自动化集成,但是感觉对于jenkins的集成还是有很多不太理解的地方,所以今天抽空研究了下使用testNg+maven+selenium+jenkins的自动化集成。 正文 准备环境 首先我们新建一个maven的工程,并且在pom.xml中配置好我们依赖的一些jar包 <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.46.0</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.6</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-api</artifactId> <version>2.46.0</version> </dependency> </dependencies> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 编写我们selenium脚本 public class NewTest { private WebDriver driver; @BeforeTest public void beforeTest(){ driver = new … Continue reading testNg+maven +jenkins进行selenium自动化集成