目录

夜雨飘零

记录精彩的程序人生

标签: 服务器 (8)

《PaddlePaddle从入门到炼丹》十四——把预测模型部署在服务器 有更新!

GitHub地址:https://github.com/yeyupiaoling/LearnPaddle2/tree/master/note14 前言 如果读者使用过百度等的一些图像识别的接口,比如百度的细粒度图像识别接口,应该了解这个过程,省略其他的安全方面的考虑。这个接口大体的流程是,我们把图像上传到百度的网站上,然后服务器把这些图像转换成功矢量数据,最后就是拿这些数据传给深度学习的预测接口,比如是PaddlePaddle的预测接口,获取到预测结果,返回给客户端。这个只是简单的流程,真实的复杂性远远不止这些,但是我们只需要了解这些,然后去搭建属于我们的图像识别接口。 了解Flask 安装flask很简单,只要一条命令就可以了: pip install flask 同时我们也使用到flask_cors,所以我们也要安装这个库 pip install flask_cors 创建一个 paddle_server.py文件,然后编写一个简单的程序,了解一些如何使用这个Flask框架,首先导入所需的依赖库: import os import uuid import numpy as np......

Mycat中间件实现一主一从和双主双从的读写分离 有更新!

前言 笔者在《MySQL数据库实现主从复制》这一篇文章中有提到读写分离这个技术,这个技术时基于主从复制之后的一种技术。在数据库主从复制中,一个主数据库有一个或者多个从数据库,我们可以对主数据库进行写入操作(insert,delete,update),对一个或者多个从数据库进行读取操作(select)。这个的操作方式,就是大量的查询请求也会分布到各个从数据库上,达到负载均衡,比如3个从数据库,有9条查询请求,那么每一个从数据库只要处理3条查询请求就可以了,大大减少了数据库的查询压力。 在Mycat中,读写分离可以说有两种,一种是一主一从,另一种是一主多从。我们分别来介绍这两种方式: 一主一从: 是一个主数据库一个从数据库,如果我们对主数据库进行写入操作,那么从数据库也会执行相应的操作。笔者把一主多从也归为这种方式,因为一主多从其实也就是增加多几个从数据库而已,具体的结构每个变动太大。在一主一从中,最大的好处是实现了读写分离,在Mycat的调度下,把所有写的操作都是在主数据库中,把所有的读的操作都放在从数据库中。可能有读者可能会有疑问,这中读取分离也可以使用后端代码实现,为什么要使用Myc....

MySQL数据库实现主从复制 有更新!

前言 我们用的在这篇文章《在CentOS上使用Nginx和Tomcat搭建高可用高并发网站》使用的只有一个MySQL数据库。 从安全角度来说这是非常不安全的,比如这个数据库服务器磁盘突然损坏了,里面的数据全部丢失了。这种情况如果一开始只是部署一个数据库的话就非常危险了,这表明我们要丢失全部数据,而数据对网站来说是最最重要的,所以我们要保证数据的安全。 从性能上来说,我们在《CentOS下安装和使用Mycat实现分布式数据库》这篇文章中介绍了分布式数据库,性能虽然比单个数据库的性能要好。但是当使用分布式数据库时,数据量还是很大,在查询数据时,可能会变得非常慢,导致锁表,一旦锁表就无法写入数据,就会影响其他用户的写入数据的操做。所以就需要读写分离,主(master)数据库负责写入数据,从(slave)数据库负责查询数据,就算从(slave)数据库在查询数据时出现了锁表,也不会影响到主(master)数据库的的写入操作,最多也是从(slave)数据库的数据更新的慢一些。基于这种情况,就出现了主从复制这个技术。 **主从复制:**就是有两个数据库服务器,一个是主(master)数据库服务器......

CentOS下安装和使用Mycat实现分布式数据库 有更新!

前言 在笔者的《在CentOS上使用Nginx和Tomcat搭建高可用高并发网站》这篇文章中,笔者介绍了如何在CentOS上搭建一个可支持高可用高并发的Java web后端服务器。善于思考的读者可能会想到,在上一篇文章中,我们只是实现Java web服务器的分布式来应对高并发,但是高并发对数据库的的负担也是很重的。在上一篇文章中,我们只是使用到一个MySQL服务器,但是但数据量非常大的时候,比如有一千万的用户,如果只有单个数据库存储,那一张用户表就有一千万条数据。庞大的数据量使得我们对数据进行查询的时候非常慢,但出现高并发的时候,大量的查询请求发送到数据库服务器,而数据库来不及响应,随时可能出现数据库崩溃的情况。 面对这个问题,我们使用Mycat来实现分布式数据库,假设我们有两个数据库服务器,那么一千万条的数据分开来存储,这样每个数据库只有五百万条数据,可以大大提高查询速度。如果有更多的数据库服务器,那么每个数据库所需要存储的数据就更少了,查询速度就会更快。基于这一个问题,我们就来学习如何在CentOS下安装和使用Mycat实现分布式数据库。 分布式数据库的整体架构: 总体架构 我们.....

在CentOS上使用Nginx和Tomcat搭建高可用高并发网站 有更新!

前言 本篇文章将介绍如何搭建使用Nginx和Tomcat的高可用高并发的网站,我们将会在CentOS系统上搭建这样一个网站后端。这个系统的架构如下: 虚拟IP地址:192.168.204.221 主虚拟服务器:192.168.204.121 备虚拟服务器:192.168.204.122 Nginx服务器1:192.168.204.123 Nginx服务器2:192.168.204.124 Tomcat服务器1:192.168.204.123 Tomcat服务器2:192.168.204.124 创建CentOS虚拟机 我们这次安装的虚拟机是CentOS迷你版,镜像为:CentOS-6.5-x86_64-minimal.iso,该镜像可以到这里下载:http://vault.centos.org/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso。参考笔者的这一篇文章CentOS搭建云服务平台的前半部分创建4个CentOS虚拟机,用来模仿后台的多个系统,要注意的是这篇文章CentOS搭建云服务平台安装的的桌面版,我们在本文章用的迷你版,但是安.......

Ubuntu安装和卸载CUDA和CUDNN 有更新!

前言 最近在学习PaddlePaddle在各个显卡驱动版本的安装和使用,所以同时也学习如何在Ubuntu安装和卸载CUDA和CUDNN,在学习过程中,顺便记录学习过程。在供大家学习的同时,也在加强自己的记忆。本文章以卸载CUDA 8.0 和 CUDNN 7.05 为例,以安装CUDA 10.0 和 CUDNN 7.4.2 为例。 安装显卡驱动 禁用nouveau驱动 sudo vim /etc/modprobe.d/blacklist.conf 在文本最后添加: blacklist nouveau options nouveau modeset=0 然后执行: sudo update-initramfs -u 重启后,执行以下命令,如果没有屏幕输出,说明禁用nouveau成功: lsmod | grep nouveau 下载驱动 官网下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn ,根据自己显卡的情况下载对应版本的显卡驱动,比如笔者的显卡是RTX2070: 下载完成之后会得到一个安装包,不同版本文件名可能不一样: ....

CentOS搭建云服务平台 有更新!

前言 最近在学习在centOS上搭建一个云服务平台,所以写下该文章当做笔者的学习笔记,提供给大家一起学习。虽然我们没有办法实现像百度云、腾讯云、阿里云那么强大的云服务平台,但是可以学习它们这些思维,做一个简单的云平台给自己的团队或公司使用。 创建主机 我们的云服务器平台的结构是这样的: 这个平台是在一个主机,然后在主机中创建多个虚拟机给用户使用,所以我们首先要有一个主机。这个主机理论上是真正的物理机,同时有着非常多的物理资源,比如内存,磁盘,CPU等等。为了学习,我们在VMware中创建一个机器当做我们的主机,使用的系统是CentOS6.5。我们先要下载这个镜像,笔者使用的镜像是CentOS-6.5-x86_64-minimal.iso这个镜像,其下载地址是:http://vault.centos.org/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso 。 我们在VMware创建一个新的虚拟机,操作如小: 然后选择经典模型开始创建: 接下来是选择第三个的稍后安装操作系统: 选择的系统类型是Linux,具体的是CentOS 64位: ....

Ubuntu server搭建Java web服务器 有更新!

在这里为大家介绍如何在Ubuntu server搭建Java web服务器,输入命令时请留意作者的Ubuntu路径的变化。 1、在Ubuntu server中安装ssh,如果是购买服务器的话,这已经是安装的了,包括vim 获取超级权限 先更新安装包 开始安装ssh ssh已经启动了 2、 安装Xshell并创建连接 安装Xshell 建立连接 单击确定 3、 Xshell实现Windows上传/下载文件到Ubuntu 3.1上传文件 获取超级权限 安装rz/sz工具 切到相应目录,在输入rz 3.2下载文件 切入到相应文件夹,输入sz 文件名 4、 用root权限安装MySQL,需要安装以下三个 apt-get install mysql-server apt-get install mysql-client apt-get install libmysqlclient-dev 测试登陆mysql数据库可以通过如下命令: mysql -u root -p -u 表示用户名, -p 表示用户密码 5、 安装jdk 上传文件,我是放在/usr/local/ ....