Category Uncategorized

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

网盘关闭了怎么办?如何搭建个人网盘,怎样操作?文件共享是团队协作的刚需,面对说停就停的网盘服务,很多同学除了心塞已经开始盘算搭建自己的网盘应用了。ownCloud 是一个开源免费的存储管理工具,它能帮你快速架设一套专属的网盘服务,可以像 Dropbox 那样实现文件跨平台同步、共享、版本控制、团队协作等等。 然而在VPS上搭建ownCloud是一件费时费力的工作,除此之外更需要考虑数据的可靠性、备份等工作。 本文将利用阿里云容器服务在几分钟内轻松搭建一个基于Docker的ownCloud专属网盘,并使用阿里云提供的对象存储OSS(Object Storage Service)作为高可靠、低成本的云存储后端。 创建 对象存储OSS bucket 首先你需要创建一个和容器服务处于同一区域中的bucket,这样容器应用可以通过内网地址来访问bucket中存储的文件数据,提升访问速度并节省公网带宽 创建 对象存储OSS 数据卷 数据卷是Docker提供的容器储存模型:可以实现容器和数据生命周期的解耦,当容器被删除或重建之后数据依然存在;提供了可扩展的插件机制,支持不同的存储实现。 阿里云容器服务内置了针对阿里云的数据卷驱动,支持不同类型的云存储服务:包括NAS(文件存储服务 NFS),OSS(对象存储服务,OSSFS)和云盘(即将推出)。关于数据卷的详细信息可以参阅帮助文档。 OSSFS( 能把对象存储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应用…

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 [数据库名];…

Connecting JIRA applications to MySQL

These instructions will help you connect JIRA to a supported MySQL database. Before you begin Check whether your version of MySQL is supported. See Supported platforms. If you are migrating JIRA to another server, create an export of your data as an…

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配置…

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

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: 1.背景 以实际项目中的一个例子来详细讲解Nginx中的一般配置,其中涉及到部分正则表达式的内容。在这个实际例子中,我们要做的是使用Nginx为WebGIS中常用的离散瓦片做一个伺服器。关于Nginx的下载、与tomcat的组合配置、测试例子可以参考我的上一篇博客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之外的任何单字符。要匹配 .,请使用 \。 * 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用…

Nginx与tomcat组合的简单使用

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: 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下载 首先在官网中下载所需版本: 下载完毕后,解压。 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静态文件分离配置  …

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…

在jenkins中配置selenium测试

jenkins是流行的集成测试工具,在上面建立编译,发布,运行单体测试的任务都非常方便。 selenium是优秀的Web画面的自动化结合测试工具,它的测试代码有两种形式。 一种是用java,C#等高级语言编写的,特点是功能强大。 另一种是用HTML写的,特点是使用方便。 下面以HTML形式的test suite为例,说明如何在jenkins中配置selenium测试。 先下载插件,在jenkins的plugin管理画面中,选择安装Hudson Seleniumhq plugin。 安装完后重启jenkins。 然后下载selenium-server。其实就是一个jar文件。例如,selenium-server-standalone-2.21.0.jar 用这个jar文件,就可以实现命令行运行selenium测试。 命令行格式如下, java -jar -htmlSuite “*iexplore” “http://localhost:8081” “D:/workspace/testproject/selenium/alltests.html” “D:/workspace/testproject/selenium/results.html” -port 4445 先用命令行测试一下,看看能否生成测试结果(上例中,results.html) 准备工作就绪,接下来把它配置到Jenkins的具体的Job中。 新建或利用既存的Job,在Job设定中,追加build步骤,选择命令行,把上例中的命令行拷贝进去。 最后要让jenkins能够发布结果。在job的build后处理中,选择Publish Selenium Report,指定测试结果的路径。(注,路径是workspace的相对路径,上例中,假设workspace的目录是至于workspace的目录在哪里,参考jekins系统设定) 运行一下job,运行完后,进入该job的页面,可以看到左侧菜单里有Selenium Report,点进去可以看到测试结果。 如果有错,可以看控制台输出的信息,根据具体情况解决具体问题。 到这里可以算结束了。 可能很多人觉得通过命令行跑selenium不爽,再介绍通过配置来完成。 在Job的设定中,追加build命令,不选命令行,选择SeleniumHQ htmlSuite Run,会有五个参数要输入,分别是browser,startURL,suiteFile,resultFile,other,和命令行的参数是对应的。最后一项other中,可以填-port 4445。保存,运行Job,不出意外的话,会出错。这是因为还有个地方没有设定。 在jekins的system设定中,可以看到有Selenium Remote…