- 博客(34)
- 收藏
- 关注
原创 Nginx如何配置负载均衡
怎么解决这个问题呢?A服务器做为主服务器,域名直接解析到A服务器(192.168.5.149)上,由A服务器负载均衡到B服务器(192.168.5.27)与C服务器(192.168.5.126)上。以上例子中,我们都是应用到了主服务器负载均衡到其它服务器上,那么主服务器本身能不能也加在服务器列表中,这样就不会白白浪费拿一台服务器纯当做转发功能,而是也参与到提供服务中来。我们把域名解析到A服务器,然后由A服务器转发到B服务器与C服务器,那么A服务器只做一个转发功能,现在我们让A服务器也提供站点服务。
2023-11-24 17:26:11
1267
原创 mac 为php安装redis扩展 make install not permit
装不了php的扩展,make install失败RudonMacBook:igbinary-master rudon$ make installInstalling shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20131226/cp: /usr/lib/php/extensions/no-debug-non...
2019-02-24 18:26:05
590
原创 PHP建造一个高可用高性能的网站
1. 说到高可用的话要提一下redis,用过的都知道redis是一个具备数据库特征的nosql,正好弥补了PHP的瓶颈,个人认为PHP的 瓶颈在于数据库,像Apache和Nginx的高级web服务器在承受并发量上面都各有千秋,apache的最大承受并发数可以到三四千个,nginx要是它的10倍,但apace的三四千个是实打实的三四千个,nginx的并发数是要依靠缓存的。(哈哈~好久没写博客这下感觉...
2018-05-02 10:23:02
1663
原创 Github与Git有什么区别
一开始接触git或是github的程序员可能搞不太清楚这些名词到底指代的是什么,所以在这里稍微说明一下。git和github是两个完全不同的概念。git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误...
2018-04-06 17:35:59
600
原创 Mysql数据库优化和sql优化方法
1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务
2018-01-16 09:11:59
7875
原创 nginx+php提示nginx error的解决办法
在安装完Nginx+PHP-fpm+Mysql后 (如何安装LNMP环境,请参考快速配置LNMP环境Nginx0.8.54+MYSQL5.5.16+PHP5.3.8+CentOS 6),跑PHP的应用会经常出现504 Gateway Time-out 或者502 Bad Gateway的情况。这个问题耽误了我差不多4个小时的时间,网上有很多前辈们的解决方法,在这里记录下解决这个问题的思
2018-01-14 15:13:32
3093
原创 大用户量访问情况下项目的各种优化方案
一、大型网站性能提高策略:大型网站,比如门户网站,在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。这几个解决思路在一定程度上意味着更大的投入。web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,A
2017-12-27 21:07:58
2663
原创 PHP微型框架slim的安装使用
slim安装和使用初步最简单粗暴和直接的方法——到github下载zip文件,slim github【链接】。解压之后把【1】Slim文件夹,【2】.htaccess文件和【3】index.php文件复制到www目录中。若看到以下网页说明slim安装成功。图2 slim安装成功4.简单的修改和测试 Slim提供完善的REST框架
2017-12-26 22:27:07
6988
1
原创 http与https的区别到底有哪些
什么是 HTTPS?HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议。你也可以说:HTTPS = HTTP + SSLHTTPS 在 HTTP 应用层的基础上使用安全套接字层作为子层。为什么需要 HTTPS ?超文本传输协议 (HTTP) 是一个用来通过互联网传输和接收信息的
2017-12-26 22:23:48
197
原创 go语言的数据结构
Array(数组)内部机制在 Go 语言中数组是固定长度的数据类型,它包含相同类型的连续的元素,这些元素可以是内建类型,像数字和字符串,也可以是结构类型,元素可以通过唯一的索引值访问,从 0 开始。数组是很有价值的数据结构,因为它的内存分配是连续的,内存连续意味着可是让它在 CPU 缓存中待更久,所以迭代数组和移动元素都会非常迅速。数组声明和初始化通过指定数
2017-12-09 16:55:38
384
原创 PHP 并发下的进程间通信
进程间通信(IPC,Inter-Process Communication),多进程开发中,进程间通信是一个永远也绕不开的问题。在 web开发中,我们经常遇到的并发请求问题,本质上也可以作为进程间通信来处理。进程间通信,指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位(严格说来是线程)。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能
2017-12-09 16:26:11
232
原创 如何开发一个 python的web应用框架
首先你需要知道一个Web应用基本的请求处理流程。以最简单最原始的动态网页为例,你点击链接(GET),提交表单(POST),就是与服务器端建立了连接之后发送了一个HTTP请求(RFC2616 5.1节,之后都以HTTP 1.1为例),里面至少有方法(动词,就是GET啦POST什么的,详见RFC2616第9节),地址(URL),HTTP版本,还可能带上Cookie(会话的一般实现机制),缓存相关的信息
2017-12-09 15:16:58
338
原创 Python WEB网站开发解决方案
环境:ubuntu 12.04python版本: 2.73ok,首先,既然是从零开始,我们需要的是一台可以运行的python的计算机环境,并且假设你已经安装好了python,(ubuntu 或者debian的linux用户,安装python的过程可以参考:http://blog.csdn.net/i7788/article/details/9886127)
2017-12-09 15:14:29
456
原创 浏览器禁用Cookie后PHP怎样实现session会话保持
防止浏览器禁用cookie导致服务器会话无法保持,PHP开发了一个机制,该机制开启后,浏览器发起请求后,服务器会创建session文件,并对返回给浏览器的页面中所有的url进行处理,若url为相对路径(不带http://ip地址)则认为此url是链接至本服务器,因此在url后补上sessionid。当用户点击带有此url的链接标签时会携带sessionid到服务器,因此实现了会话保持。我的
2017-12-09 15:06:26
337
原创 深入理解事务的四种隔离级别
SQL标准定义了4种隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 首先,我们使用 test 数据库,新建 tx 表,并且如图所示打开两个窗口来操作同一个数据库: 第1级别:Read Uncommitted(读取未提交内容)(1)所有事务都可以看到其他未提交事
2017-12-09 15:03:50
612
1
原创 用bootstrap遇到的问题
在用bootstrap实现一个响应式页面时,我在导航栏遇到了一个很简单的问题,记录一下,避免以后在犯相同的错误:我本来想实现的效果是:浏览器正常的时候: 浏览器缩小了以后:点击右侧下拉之后:结果却成了:找了很久,一直以为是bootstrap-resposive.css这个文件没有引进去,最后才发现这个文件已经引入,而且下面的内容都显示正常,主要是bo
2017-12-06 19:39:08
569
原创 程序员如何入门 Python 爬虫
作者:谢科链接:https://www.zhihu.com/question/20899988/answer/24923424来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习。另外如果说知识体系里的每一个知识点是图里的点,依赖关系是边的话,那么这个图一定
2017-11-25 10:59:56
279
翻译 Mysql数据库优化可以从哪几个方面优化
1、数据库优化可以从以下几个方面进行:2、项目中,优化mysql之前,首先要开启慢查询日志,在分析慢查询日志. 1,查看所有日志状态: show variables like '%quer%';2,查看慢查询状态:show variables like 'show%' linux启用MySQL慢查询
2017-11-20 20:50:58
425
原创 PDO如何实现事务的提交
事务就是指对数据库的多次修改,要么全部成功,要么全部失败,不能出现部分修改成功,部分修改失败的情况。PHP下操作mysql数据库要实现事务提交,需注意以下方面:1, 数据库表存储引擎类型设置为innoDB。默认的mysql表采用MYISAM引擎,是不支持事务的,因此要采用以下语句变更:mysql> alter table ‘table_name’ engine=innodb
2017-11-20 20:30:43
401
原创 nodejs操作mysql实现增删改查数据操作
首先需要安装mysql模块:npm install mysql --save然后创建user数据表:接着使用nodejs对数据库进行增删改查:[javascript] view plain copy//引入mysql模块 var mysql = require('mysql'); //链接数据库
2017-11-20 19:30:05
6368
2
原创 Node.js实现WEB 服务开发
看到http://simple-is-better.com/news/tag/simple-todo”>simple todo的各种python版本实现, 我也来凑凑热闹…既然已经有这么多python版本了, 我就对比实现了一个Simple-TODO的nodejs版本: https://github.com/fengmk2/todo”>Node TODO, 模版和樣式全部copy自web.
2017-11-20 19:09:28
286
原创 MongoDB的原理
一、存储引擎(Storage) mongodb 3.0默认存储引擎为MMAPV1,还有一个新引擎wiredTiger可选,或许可以提高一定的性能。 mongodb中有多个databases,每个database可以创建多个collections,collection是底层数据分区(partition)的单位,每个collection都有多个底层的数据文件组成。(参见下文
2017-11-20 17:10:40
1959
原创 相比MySQL来说什么场景MongoDB更适用
更高的写入负载默认情况下,MongoDB更侧重高数据写入性能,而非事务安全,MongoDB很适合业务系统中有大量“低价值”数据的场景。但是应当避免在高事务安全性的系统中使用MongoDB,除非能从架构设计上保证事务安全。高可用性MongoDB的复副集(Master-Slave)配置非常简洁方便,此外,MongoDB可以快速响应的处理单节点故障,自动、安全的完成故障转移。这些
2017-11-20 16:59:39
232
原创 MySql5.7如何慢查询日志记录
1.找到my.ini MySql5.7安装后(windows环境),在安装目录下并没有发现my.ini的配置文件,百度了一下才知道MySql安装时会将data文件夹(包含数据库信息和文件)放在ProgramData文件夹中,并且ProgramData文件夹是以隐藏的形式存在。。。。接下来就需要开启隐藏文件夹选项了:工具-》文件夹查看 2.my.in
2017-11-19 19:13:55
412
原创 MongoDB安装与使用
MongoDB是目前非常流行的一种非关系型数据库,作为入门系列的第一篇本篇文章主要介绍Mongdb的基础概念知识包括命名规则、数据类型、功能以及安装等。 环境:OS:WindowsVersion:3.4一、安装1.下载解压在官网下载对应操作系统版本的安装包,然后解压;我这里使用Windows环境安装测试。2.在D盘创建Mongodb\
2017-11-19 19:10:53
147
原创 Oracle 11g不能导出空表的三种实用解决方法
ORACLE 11g 用exp命令导出库文件备份时,发现只能导出来一部分表而且不提示错误,之前找不到解决方案只能把没导出来的表重新建建立。后来发现是所有的空表都没有导出来。于是想好好查查,因为在以前的10g版本中没有这样的问题。查资料发现Oracle 11g中有个新特性:新增了一个参数“deferred_segment_creation”含义是段延迟创建,默认是true。具体是什么意思呢?如果这个
2017-11-19 19:05:32
1622
原创 Oracle数据库导入导出备份
来源:博客园2017-11-17Oracle导入备份 开始菜单输入cmd 命令. 输入imp 用户名/密码@数据库名 file=导入的.dmp文件路径 full=y 按回车. 成功终止导入,没有出现警告. Oracle导出备份 开始菜单输入cmd 命令. 输入exp 用户名/密码@数据库名 file=导出的.dmp文件存放的路径 owner=用户名 按回车 成功终止导出,没有出现警
2017-11-19 19:03:53
195
原创 网络CDN加速及其原理
随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激增,网络访问路径过长,从 而使用户的访问质量受到严重影响。特别是当用户与网站之间的链路被突发的大流量数据拥塞时,对于异地互联网用户急速增加的地区来说,访问质量不良更是一个 急待解决的问题。如何才能让各地的用户都能够进行高质量的访问,并尽量减少由此而产生的费用和网站管理压力呢?内容发布网络(Content Deli
2017-11-19 17:06:16
325
原创 Swoole到底是个什么东西?
一直以来在其他编程语言程序员心目中PHP就是个套HTML页面的。所谓PHP程序员就是搞WordPress、discuz二次开发,一个月拿三五千的loser,和我大Java工程师相比简直low爆了。但大家黑了PHP半天,才发现PHP最近这几年反而越来越流行了,PHPer们的工资可一点都不低。就拿我司来说吧,之前面过一个PHP程序员工作三年多,水平一般吧,后来公司开价2万/m收了。水平好一点的平均
2017-11-17 16:28:02
5439
3
原创 如何查看一个mysql的sql语句的性能
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explain select … from … [where ...]例如:explain select * from news;输出:
2017-11-17 14:34:21
7912
1
转载 PHP中的常用函数
博客Good Luck To You!首页PHPMysqlLinux随言碎语面试总结留言本2017年08月10日php常用函数如有问题,请联系qq 1184139881一、写入文件1.打开资源(文件)fopen($filename,$mode)2.写文件fwrite($hand
2017-11-16 10:35:12
213
翻译 PHP的数组底层实现
PHP的数组底层实现转载 2015年04月24日 20:28:381500PHP的数组底层是怎么实现的?数组本质上是一个哈希表(HashTable,定义在$PHP_SOURCE_ROOT\\Zend\\zend_hash.h)。具体实现可以查看 $PHP_SOURCE_ROOT\\ext\\standard\\array.c 和 $PHP
2017-11-16 10:32:25
2007
原创 Mysql 的工作原理
刚开始接触一个新的事物的时候,我觉得很有必要从其工作原理入手,弄清楚这个东西的来龙去脉,为接下来的继续深入学习做好铺垫,掌握好其原理有助于我们从整体上来把握这个东西,并且帮助我们在排错过程中理清思路。接下来,还是从mysql的工作原理开始入手,下面先来一张经典的图: 上面的图就是mysql的内部架构,可以清楚的看到Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成
2017-11-15 19:32:10
306
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人