首页 文章 精选 留言 我的

精选列表

搜索[系统工具],共10000篇文章
优秀的个人博客,低调大师

使用python实现后台系统的JWT认证

今天的文章介绍一种适用于restful+json的API认证方法,这个方法是基于jwt,并且加入了一些从oauth2.0借鉴的改良。 1. 常见的几种实现认证的方法 首先要明白,认证和鉴权是不同的。认证是判定用户的合法性,鉴权是判定用户的权限级别是否可执行后续操作。这里所讲的仅含认证。认证有几种方法: 1.1 basic auth 这是http协议中所带带基本认证,是一种简单为上的认证方式。原理是在每个请求的header中添加用户名和密码的字符串(格式为“username:password”,用base64编码)。 这种方式相当于将“用户名:密码”绑定为一个开放式证书,这会有几个问题:①每次请求都需要用户名密码,如果此连接未使用SSL/TLS,或加密被破解,用户名密码基本就暴露了;②无法注销用户的登录状态;③证书不会过期,除非修改密码。

优秀的个人博客,低调大师

centos7搭建redis集群系统

这里创建6个redis节点,其中三个为主节点,三个为从节点。 redis和端口对应关系: 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 从: 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 步骤: 1,下载redis。官网下载3.0.0版本,之前几的版本不支持集群模式 下载地址:http://download.redis.io/releases/redis-3.0.0.tar.gz 2:上传服务器,解压,编译 tar -zxvf redis-3.0.0.tar.gz mv redis-3.0.0 redis3.0 cd /usr/local/redis3.0 make & make install 3:创建集群需要的目录并拷贝redis mkdir -p /usr/local/cluster mkdir -p /usr/local/cluster/7000 mkdir -p /usr/local/cluster/7001 mkdir -p /usr/local/cluster/7002 mkdir -p /usr/local/cluster/7003 mkdir -p /usr/local/cluster/7004 mkdir -p /usr/local/cluster/7005 cp -rf /usr/local/redis3.0/* /usr/local/cluster/7000/ cp -rf /usr/local/redis3.0/* /usr/local/cluster/7001/ cp -rf /usr/local/redis3.0/* /usr/local/cluster/7002/ cp -rf /usr/local/redis3.0/* /usr/local/cluster/7003/ cp -rf /usr/local/redis3.0/* /usr/local/cluster/7004/ cp -rf /usr/local/redis3.0/* /usr/local/cluster/7005/ 4:修改配置文件redis.conf vi /usr/local/cluster/7000/redis.conf ##修改配置文件中的下面选项 port 7000 daemonize yes cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes #同样再对其它配置文件进行修改 vi /usr/local/cluster/7001/redis.conf vi /usr/local/cluster/7002/redis.conf vi /usr/local/cluster/7003/redis.conf vi /usr/local/cluster/7004/redis.conf vi /usr/local/cluster/7005/redis.conf ##注意:不同的目录配置不同的redis.conf中的port 5:启动6个redis cd /usr/local/cluster/7000/src redis-server ../redis.conf cd /usr/local/cluster/7001/src redis-server ../redis.conf cd /usr/local/cluster/7002/src redis-server ../redis.conf cd /usr/local/cluster/7003/src redis-server ../redis.conf cd /usr/local/cluster/7004/src redis-server ../redis.conf cd /usr/local/cluster/7005/src redis-server ../redis.conf ##启动之后使用命令查看redis的启动情况ps -ef|grep redis 6,创建redis集群 cd /usr/local/redis3.0/src ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 6.1执行上面的命令的时候会报错,因为是执行的的脚本,需要 错误内容:/usr/bin/env: ruby: No such file or directory 所以需要安装ruby的环境,这里推荐使用yum install ruby yum install ruby 6.2然后再执行第步的创建集群命令,还会报错,提示缺少rubygems组件 错误内容: ./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError) from ./redis-trib.rb:24 yum install rubygems 6.3再次执行第步的命令,还会报错,提示不能加载redis,是因为缺少redis的接口 错误内容: /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require': no such file to load -- redis (LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:inrequire' from ./redis-trib.rb:25 gem install redis 这里可能无法安装,因为无法连接gem服务器: [@zw_22_90 src]# gem install redis --version 3.0.0 ERROR: Could not find a valid gem 'redis' (= 3.0.0) in any repository ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) 需要手工下载并安装: wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem gem install -l ./redis-3.2.1.gem 6.4 再次执行第步的命令,正常执行 输入yes,然后配置完成。 [@zw_22_90 src]# ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 7,redis-cli命令进入集群环境 [@zw_22_90 src]# redis-cli -c -p 7000 127.0.0.1:7000> quit;查看原文:http://www.chenqmc.com/?p=359

优秀的个人博客,低调大师

计算与存储分离实践—swift消息系统

1. 相关背景 搜索事业部与计算平台事业部目前使用消息队列主要有以下三种场景: 1. 每天有上万张表需要通过Build Service来构建索引。这些表主要来自主搜索,IGRAPH,Rank Service等业务,且每个表包含的文档数差别很大。总数据量为PB级别,总文档数达万亿级。文档的大小不一,小到几十Byte大到几百KB。在Build Service内部,文档处理与索引构建需要一个消息队列来传送消息。因此在build时,容易产生突发大流量(几百G/秒,几千万条/秒)持续消息写入与读取。 2. 搜索的在线服务如主搜索查询服务,RankService打分服务或IGRAPH服务需要毫秒级的实时文档更新。这些服务引擎基本上是多行多列结构,即每一行是一个完整的服务单元,由多台机器组成,多行提升服务

优秀的个人博客,低调大师

CentOS 7 系统下安装PHP 环境搭建

安装CentOS7 注意:以下安装,我都是用的root权限。 三、安装Apache 1.安装 yum -y install httpd 2.开启apache服务 systemctl start httpd.service 3.设置apache服务开机启动 systemctl enable httpd.service 4.验证apache服务是否安装成功 在本机浏览器中输入虚拟机的ip地址,CentOS7查看ip地址的方式为: ip addr (阿里云不需要用这种方式查看,外网ip已经在你主机列表那里给你写出来了的;) 这里是访问不成功的 (阿里云用外网访问,能成功,不需要做以下步骤) 查了资料,说法是,CentOS7用的是Firewall-cmd,CentOS7之前用的是iptables防火墙;要想让外网能访问到apache主目录,就需要做以下的操作: firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload 然后再访问外网ip,如果看到apache默认的页面--有Testing 123...字样,便是成功安装了apache服务了; 四、安装PHP 1.安装 yum -y install php 2.重启apache服务 systemctl restart httpd或者systemctl restart httpd.service 然后,你可以写一个php文件在浏览器中运行一下了; eg: vi /var/www/html/info.php i <?php phpinfo(); ?> Esc :wq 然后,在自己电脑浏览器输入 192.168.1.1/info.php 运行,会出现php的一些信息 五、安装MySQL 我这里根据所学的那个教程,也安装了MariaDB 1.安装 yum -y install mariadb* 2.开启MySQL服务 systemctl start mariadb.service 3.设置开机启动MySQL服务 systemctl enable mariadb.service 4.设置root帐户的密码 mysql_secure_installation 然后会出现一串东西,可以仔细读一下,如果你懒得读,就在提示出来的时候,按Enter就好了,让你设置密码的时候,你就输入你想要的密码就行,然后继续在让你选择y/n是,Enter就好了;当一切结束的时候,你可以输入mysql -uroot -p的方式,验证一下; 六、将PHP和MySQL关联起来 yum search php,选择你需要的安装:yum -y install php-mysql 七、安装常用的PHP模块 例如,GD库,curl,mbstring,... 1.安装: yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel 2.重启apache服务 systemctl restart httpd.service 然后,再次在浏览器中运行info.php,你会看到安装的模块的信息; 至此,LAMP环境就搭建好了。

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册