首页 文章 精选 留言 我的

精选列表

搜索[三大系统],共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环境就搭建好了。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。