未来往事
安装配置Nginx反向代理,Nginx在upstream服务器的反向代理配置,upstream模块介绍,本文基于Debian6 & Debian7  Nginx 1.8编写。

Nginx 、反向代理服务介绍
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

Nginx因其出色的处理并发连接的能力,越来越多地作为一个反向代理服务器被使用。所谓反向代理,即把Nginx置于用户接入的最前端,监听用户发来的请求,并把它们转发给相应的后端服务器来处理具体的请求。后端服务器可以是缓存服务器(如Varnish、Squid)或是处理动态/静态请求的服务器(如apache/Nginx/lighttpd),在这里不作深入讨论。本文对Nginx反向代理、Nginx在upstream服务器的设置和"proxy_pass"的功能在代码层面进行分析,并讨论在实际生产环境中的使用。

服务安装配置
1、安装 Nginx 与 ngx_http_sub_module 模块
ngx_http_sub_module模块是一个过滤器,它修改网站响应内容中的字符串,这个模块已经内置在nginx中,但是默认未安装,需要安装需要加上配置参数:--with-http_sub_module。反向代理任何网站,一般都只能反向代理首页,如果要替换里面的链接就需要再安装第三方模块with-http_sub_module模块,一般都是下载后编译安装,但是在debian下建议使用dotdeb源来安装nginx。

#追加dotdeb源
echo "deb http://packages.dotdeb.org squeeze all" >>/etc/apt/sources.list
echo "deb-src http://packages.dotdeb.org squeeze all" >>/etc/apt/sources.list
#nginx-full这个包里面包含着所有需要用到的模块
apt-get update
apt-get install nginx-full

至此,安装完毕。如果你在安装过程中遇到错误:Depends libssl0.9.8 (>= 0.9.8m-1) but it is not installable,请点击这里参考本博客另外一篇文章

2、配置Nginx反向代理模式
server {
listen       80;
server_name  g.fity.cn;
index index.php index.html index.htm;       #默认首页

location / {
     #sub_filter http://www.google.com  http://g.fity.cn; #替换URL
     sub_filter_once off; #搜索替换全部行
     proxy_pass http://www.google.com;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Accept-Encoding ""; #清除编码
      }
  }
配置说明:创建一个g.fity.cn的域名用来反向代理访问www.google.com。

3、至此配置完毕,重启Nginx服务
#/usr/sbin/nginx -t #检查语法是否有错误
#/etc/init.d/nginx restart


配置进阶 - upstream模块
upstream模块使nginx将跨越单机的限制,完成网络数据的接收、处理和转发。
数据转发功能,为nginx提供了跨越单机的横向处理能力,使nginx摆脱只能为终端节点提供单一功能的限制,而使它具备了网路应用级别的拆分、封装和整合的战略功能。在云模型大行其道的今天,数据转发使nginx有能力构建一个网络应用的关键组件。当然,一个网络应用的关键组件往往一开始都会考虑通过高级开发语言编写,因为开发比较方便,但系统到达一定规模,需要更重视性能的时候,这些高级语言为了达成目标所做的结构化修改所付出的代价会使nginx的upstream模块就呈现出极大的吸引力,因为他天生就快。作为附带,nginx的配置提供的层次化和松耦合使得系统的扩展性也可能达到比较高的程度。如果你对upstream模块比较感兴趣可以查看本博客另外一篇文章《Nginx upstream模块》。

Nginx Google反向代理扩展模块ngx_http_google_filter_module

ngx_http_google_filter_module扩展模块介绍
ngx_http_google_filter_module是一个过滤器模块,能够让谷歌镜像更便捷的部署。内建了正则表达式、URI locations和其他复杂的配置。原生nginx模块确保了更加高效地处理cookies, gstatic scoures和重定向。

轻松部署
1、依赖库
pcre 正则
ngx_http_proxy_module 反向代理
ngx_http_substitutions_filter_module 多重替换

下载substitutions扩展:
https://github.com/yaoweibin/ngx_http_substitutions_filter_module

2、依赖库安装过程(略)

3、Nginx重新编译安装
#cd /opt/lnmp1.2-full/src/nginx-1.8.0/

#./configure --user=www --group=www --prefix=/usr/local/nginx \
--with-http_stub_status_module --with-http_ssl_module --with-http_spdy_module \
--with-http_gzip_static_module --with-ipv6 --with-http_sub_module \
--add-module=/opt/ngx_http_google_filter_module \
--add-module=/opt/ngx_http_substitutions_filter_module-master

#make && make install

#cp -rf objs/nginx /usr/sbin/nginx  (覆盖二进制文件)

#service nginx restart
PS:#nginx -V查看版本号及上一次编辑安装的参数

4、基本配置
http配置方式
+阅读全文
Joomla后台登陆报错You do not have access to the administrator section of this site解决:

最近下了个Joomla安装倒腾,然后装完模板后导入了模板QuickSart后,发现后台登录不进去了,提示错误代码:
引用
You do not have access to the administrator section of this site
经过分析大意是登陆的账号没有权限访问管理后台。经过一番研究后,分享以下解决方法:

首先先来了解下几个表(prefix_为自己设定的表的前缀)
prefix_usergroups  //用户分组数据表;用户分组,一般会有Super Users、Public、Administrator等等……
prefix_users       //用户数据表;存放用户的帐密等信息
prefix_user_usergroup_map   //用户关联分组表;存放用户和分组的关联数据

prefix_user_usergroup_map 表中包含两个字段:
user_id       //用户id;对应prefix_users表中指定用户的id值
group_id      //分组id;对应prefix_usergroups表中指定的分组id值
Joomla账户的权限,都是通过用户所关联的分组读取权限;若用户无关联分组,自然不存在任何操作权限,所以会提示以上错误。一个用户可以关联多个分组;一个分组也可用于多个用户;他们之间的关联关系存放在prefix_user_usergroup_map表中。

要给用户分配分组,只需要在prefix_user_usergroup_map表中插入条数据即可,如
假设 prefix_users 表中存在用户admin,其id值为888, prefix_usergroup s表中存在用户分组Super User,其id值为8,那么在 prefix_user_usergroup_map 表中插入数据:user_id为888,group_id为8的数据即可。SQL语句为
插入该语句表示将admin用户分配到Super User的用户分组中;用户admin也就拥有了Super User分组的所有权限了。

linux查找替换目录下文件中包含的字符串-sed命令

查找文件夹下包含字符串的文件
例:查找/opt/web/blog目录下所有包含”demo.fity.cn”的文件。
grep -lr 'demo.fity.cn' /opt/web/blog/*


vim替换单个文件中所有字符串方法
例:替换当前文件中所有demo为blog
:%s/demo/blog/g
#注释:%表示替换说有行,g表示替换一行中所有匹配点


替换文件夹下包含字符串的文件
sed结合grep,例:将目录/opt/web/blog下所有文件中的demo.fity.cn都替换为fity.cn:
sed -i "s/demo.fity.cn/fity.cn/g" `grep demo.fity.cn -rl /opt/web/blog`
人民币大小写转换类 PHP:

使用方法:
+阅读全文
问题描述:默认情况下,Discuz引入jQuery代码后直接使用 $(),运行后会报错。

原因分析:Discuz默认使用了$()作为对象选取函数,刚好与jQuery默认的$()函数重合造成冲突。Discuz $()对象选取函数代码位于static/js/common.js第8-10行:


至此,你应该了解到为么Discuz引入JQuery后为什么会出现部分功能失效或报错的问题。解决方法这里列出2种:

方法一:
在common.js载入之前先载入jQuery.js,不然jquery的$()函数会覆盖common.js的$()函数。然后用到jQuery的$()函数的地方都用jQuery()代替。

方法二:
在common.js载入之后再载入jQuery.js,在调用jQuery的函数前给jQuery赋予一个新的变量,这样也可以保持原有的discuz程序不被更改,新添加的jQuery代码也能正常工作,例如重新对jQuery $()进行赋值为fity:
重新对jQuery进行赋值:

使用示例:

不要创造烦恼 烦恼只是你内心状态的一种投射
不要创造烦恼,不要自找麻烦,以最单纯的态度去应付事情本来的样子。有一些看来像“烦恼制造机”的人,他们总在为不可能发生的事、不足挂齿的小事、烦死也没用的事、事不关己的事烦恼。在日积月累的烦恼中,对别人一个无意的眼神。一句无心的话,都有了疑心病,彷佛在努力地防卫病毒入侵,也防卫了快乐的可能。别人怎样想我们、沮丧怎样包围我们,其实都是我们投射出来的,都是“魔由心中生”。除非你改变你的态度,一定要在你里面找到原因。你必须懂得,烦恼只是你自己内心的投影。

不要在别人的幸福里给自己寻烦恼
幸福,总围绕在别人身边,烦恼总纠结在自己内心。这是世人普遍对烦恼和幸福的理解。孤独的人以为有人说话就没有烦恼,忙碌的人以为无所事事就是幸福。结果呢,有烦恼的依旧难消,不幸福的仍旧悲伤。

我们可能或多或少都会仰望羡慕过别人,觉得别人都比我们幸福,有好的工作、有休息、有自由、有钱、有幸福的家庭,但这只是我们对别人的印象,至于别人有没有觉得幸福,恐怕只有他自己知道。当我们羡慕别人时就会觉得自己过的不幸福,自己的工作不好,自己没有自由,没有钱,但是却没有去珍惜在别人眼里你的幸福。
+阅读全文
PHP自动生成商品订单唯一订单号/编号/货号
示例一:

示例二:
MySQL bin-log功能,bin-log清理及expire-logs-days参数详解

今天突然发现博客不能访问了,登录vps后发现磁盘/根目录可用空间为0:
root@antphp:/:# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/MyDebianVPS-root
                      9.3G  8.8G   0    100% /
tmpfs                 504M     0  504M   0% /lib/init/rw
udev                  493M   76K  493M   1% /dev
tmpfs                 504M     0  504M   0% /dev/shm
/dev/xvda1            228M   18M  199M   8% /boot
/dev/xvdb1            9.9G  2.7G  6.7G  29% /opt
来源:未来往事 http://fity.cn
经过排查发现是mysql bin-log占用了几个GB的空间,对于普通vps来说空间本来就几个GB,所以自然而然也就满了。于是本文呢就在这样的情况产生啦 grin

看了上面内容,你可能会疑惑MySQL bin-log功能究竟有何作用?
1:数据恢复:如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2:主从服务器之间同步数据:主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。
简单地说,这些MySQL var目录下的形如mysql-bin.000***的文件是MySQL的事务日志。
PS:缺点是将无法使数据库恢复先前的状态

这里我们查看到mysql-bin log占用了至少大于5GB的空间:
root@antphp:/usr/local/mysql/var# du -sh *
108M    antphp.err
4.0K    antphp.pid
144K    blog@002eyuboya@002ecom
1.1M    mysql
28K     mysql-bin.000001
1.1M    mysql-bin.000002
4.0K    mysql-bin.000003
4.0K    mysql-bin.000004
2.7M    mysql-bin.000005
1.1G    mysql-bin.000006
1.1G    mysql-bin.000007
1.1G    mysql-bin.000008
1.1G    mysql-bin.000009
1.1G    mysql-bin.000010
………………………………
来源:未来往事 http://fity.cn
PS:命令行模式查看:mysql> show binary logs;

MySQL bin-log状态查看/管理
通过查看mysql配置文件我们可以看到该mysql服务的bin-log是开启的状态:
root@antphp:/# cat /etc/my.cnf | grep log-bin
log-bin=mysql-bin
来源:未来往事 http://fity.cn
PS:
1、这一行注释,重启mysql服务即可关闭bin日志的记录
2、命令行模式查看:mysql> show global variables like '%bin%';

MySQL bin-log如何删除清理?
如果没有主从复制,可以通过reset master的方式,重置数据库日志,清除之前的日志文件:
reset master;

但是如果存在复制关系,应当通过PURGE的方式来清理bin日志,语法如下:
PURGE {MASTER | BINARY} LOGS TO 'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
来源:未来往事 http://fity.cn
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。

例如:
+阅读全文

人的好运从哪里来? 不指定

Rinald 本站原创 随笔/分享 2014/08/22 21:44
[p align=center]
一、从好身体来
健康是福。有了健康的身体才有奋斗成功的本钱。要有健康身体,除了要注重饮食与运动外,还要正常的生活习惯。心理的健康也很重要。身心健康,就能顺利工作生活,迎着阳光,灿烂美好,安康愉快。

点击在新窗口中浏览此图片

二、从好心眼来
人存好心,善良为本。慈善胸怀.厚德宽人。让人感受到你的存在,这世界充满阳光,好人多好报。社会温暖,人心温暖,得道多助,路自宽行。

点击在新窗口中浏览此图片

三、从好观念来
观念带来决定,决定影响行为,行为就有结果。人生在世,创造生存条件,努力学习生存本领,为自己活,活的像模像样。有条件时,也帮助他人。

点击在新窗口中浏览此图片

四、从好脾气来
坏脾气,破坏人际关系,影响健康,生气将会污染生命。脾气太坏的人,命运之神不会照顾你的。所以,要争气不生气,不伤元气,成得大气。遇事冷静,思成而行,少走弯路,增大成功的几率。

点击在新窗口中浏览此图片

五、从好表情来
人说,出门看天色,入门看脸色,当你烦恼、愤怒、痛苦的时候,你那一副难看的嘴脸,任何人都不想见。相由心生,尊敬别人,微笑总会给你带来好运的。

点击在新窗口中浏览此图片

六、从好言语来
好话一句三冬暖,恶言半句六月寒。与人为善,和颜悦色、和气生财,好运常在。敬人者人恒敬之。而抱怨无法解决问题.恶语更伤人,所谓病从口入、祸从口出。
+阅读全文
discuz!X页面增加广播台/推荐新闻模块
支持版本:X2/X2.5/X3.0/3.1/3.2

实现效果图:
点击在新窗口中浏览此图片

1、根据上图布局HTML页面并标注上discuz能识别的diy标签
CSS代码如下,另存为choice.css文件:

用的图片:
可以在附件中下载到

HTML代码如下(diy可视化编辑标签):

2、这里以添加到版块帖子列表页面,所以将上述HTML代码嵌入到模板目录下forumdisplay.htm页面中,并引入CSS样式

3、后台更新缓存

4、前台diy--高级模式
1)在两个diy区块中分别添加100%框架并设置边距为0、无标题、边框无色
2)对添加框架后的diy模块继续添加'帖子模块'并设置内外边距为0、修改显示的条数(列表6条,图片4条)、图片列表只允许显示带有图片附件的帖子等信息
3)编辑推荐新闻列表'模块模板',添加如下代码并模板另存为'广播台推荐新闻列表':

4)编辑推荐新闻图片'模块模板',添加如下代码并模板另存为'广播台推荐新闻图片':

5、保存--刷新
+阅读全文
discuz门户/论坛页面显示不全问题解决,出现这个问题一般是遇到乱码或特殊字符引起了输出中断。
问题概述:
论坛为utf8编码,帖子可以发类似这些♦♥♣特殊字符,帖子页面并能正常显示。但是在门户及论坛页面通过diy调用引起页面不显示内容

补充信息:
Diy相关数据表:
common_block
common_block_favorite
common_block_item
common_block_item_data
common_block_permission
common_block_pic
common_block_style
common_block_xml
common_diy_data
common_template_block
来源:未来往事 http://fity.cn

问题分析:
发生这种问题多半是数据库编码不统一问题引起的,如果你的论坛出现了这种问题,请仔细查看common_block_item(diy数据存储表)数据表是否为utf8编码,如果为其他编码请修改数据表编码为utf8编码。
注意:如果每个字段仍有自己单独的编码设置,我们还需要更改对应字段的编码,如title,fields等。
Discuz数据共用,Discuz用户数据同步,Discuz积分同步,Discuz积分数据同步,Discuz多站点积分提醒消息数据同步

本文已经最新版本:http://fity.cn/post/457/

在discuz运营、社区发展过程中,从合理的运营角度,往往需要新增拓展积分,因为原有积分在扣除时,会影响用户等级。因此就需要一个新的拓展积分字段,用来扣除或者交易、兑换,这样就不会影响原用户等级,对于单个站点这样对积分的运营已经相对合理。但在站点的运营发展过程中,由于站点访问并发量或运营机制的变动,我们可能会新开站点,一般我们会通过discuz的ucenter实现多个站点的用户整合,但是鉴于discuz的ucenter用户整合不能实时整合积分,对老用户来说非常不方便,并且难以接受,用户体验非常不好。此时,我们可能就会遇到一个问题:新站中的用户积分是否能实时和主站中的用户积分进行同步?

从社区运营、用户数据管理、内容和资源管理及用户体验方面考虑,此时,我们同时面临着一个问题:数据是否应该整合?答案很明确,在综合考虑站点运营及用户体验方面,我们很有必要对相关数据进行整合……
本文主要介绍宏基(Acer)Aspire V5-473G linux系统改为Win7系统的步骤及开机卡在"Windows正在启动"画面:
Acer Linux改Win7/Win8系统方法一
欢迎来访 未来往事博客[http://fity.cn]
1、开机按F2进入bios修改以下选项:
(1)boot--boot Mode--Legacy 保存重启
(2)启动项把光盘CD-ROM设置为第一启动项,保存重启
2、插入Win7/Win8系统光盘然后按正常步骤安装系统

Acer Linux改Win7/Win8系统方法二
欢迎来访 未来往事博客[http://fity.cn]
1、开机按F2进入bios修改以下选项:
(1)boot->boot Mode-->Legacy 保存重启
(2)启动项把U盘设置为第一启动项(这里我的U盘安装了最新版的老毛桃Winpe),保存重启
2、在老毛桃启动菜单中选择“运行老毛桃Win8PEx86精简版”,等待进入Win8PE精简系统
3、进入Win8PE精简系统后,打开DG(DiskGenius)磁盘分区管理工具,删除所有EXT3格式的分区并重建NTFS格式分区,如果安装Win7系统记得转换磁盘模式为MBR模式,保存
备注:
①可能部分WinPE找不到机器磁盘,因为V5系列部分笔记本bios磁盘接口模式默认为ACHI或RAID。建议使用Win8PE或通用版WinPE
②记得对齐分区到此扇区数的整数倍为4096扇区。很多小白装的系统开机很慢或者卡半天几乎都跟这个设置有关,请务必注意
③当然你也可以使用diskpart命令对磁盘模式进行转换:cmd--diskpart--list disk(列出当前联机的所有磁盘)--select disk x(选择需要转换的磁盘)--clean(清理所有磁盘分区)--conver mbr

4、按照正常步骤安装系统即可。
补充说明:
①当然你也可以使用外置光驱或其他启动介质进行操作,本文只是个人习惯使用的是老毛桃WinPe启动U盘。
②开机卡在“windows正在启动”画面,请务必检查方法二第3点下的第②点。


PS:建议使用方法二。
MySQL筛选查询数据库唯一数据记录,非重复数据,仅显示唯一的数据:

MySQL筛选查询相同数据,仅显示存在相同的数据:

注释:
park_room--停车位表
parkNum--车位字段名


实例:
假设park_room表信息如下:
点击在新窗口中浏览此图片

当我们查询该表唯一记录时会输出如下信息:
点击在新窗口中浏览此图片

当我们查询该表相同/重复记录时会输出如下信息:
点击在新窗口中浏览此图片

第2页 / 共6页 第一页 « 上一页 1 2 3 4 5 6 下一页 » 最后页 [ 显示模式: 摘要 | 列表 ]