HDR

HDR

修复 MySQL 数据库结构错误 – 升级[转]

不知道是不是每次更新 MySQL 软件之后都需要执行数据库升级指令?在我进行过的几次软件升级之后,总会在 MySQL 的日志中见到“[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it”之类的错误。虽然这个错误修复起来很简单,却不容易引起注意。
1. 错误描述
我在好几次见到这样的错误提示之后才决定好好看看到底写了些什么。因为网站运行很正常,就心想应该不怎么重要吧。错误提示大致内容如[……]

阅读全文»

高流量站点NGINX与PHP-fpm配置优化

使用Nginx搭配PHP已有7年的这份经历让我们学会如何为高流量站点优化NGINX和PHP-fpm配置。

以下正是这方面的一些提示和建议:
1. 将TCP切换为UNIX域套接字
UNIX域套接字相比TCP套接字在loopback接口上能提供更好的性能(更少的数据拷贝和上下文切换)。

但有一点需要牢记:仅运行在同一台服务器上的程序可以访问UNIX域套接字(显然没有网络支持)。
upstream backend
{
# UNIX domain sockets
serve[……]

阅读全文»

进程管理工具Supervisor的使用

基本介绍
Supervisor是一款Linux下的进程管理软件。最主要的两个功能是:

将非daemon程序变成deamon方式运行
对程序进行监控,当程序退出时,可以自动拉起程序

Supervisor的官方网站: Supervisor
安装
Supervisor是基于python开发的。安装Supervisor前,需要先安装python。Supervisor可以通过pip或者easy_install安装。

通过Apt安装
apt-get install superviso[……]

阅读全文»

Ubuntu下修改DNS重启也能用的方法

安装好Ubuntu之后设置了静态IP地址,再重启后就无法解析域名。想重新设置一下DNS,打开/etc/resolv.conf

cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN

内容是一段警告:说这个文[……]

阅读全文»

这 30 类 CSS 选择器,你必须记在脑袋里

大概大家读知道`id`,`class`以及`descendant`选择器,并且整体都在使用它们,那么你正在错误拥有更大级别的灵活性的选择方式。这篇文章里面提到的大部分选择器都是在CSS3标准下的,所以它们只能在相应最新版本的浏览器中才能生效,你完全应该把这些都记在你聪明的脑袋里面。
1. *
* {
  margin: 0;
  padding: 0;
}
在我们看比较高级的选择器之前,应该认识下这个众所周知的清空选择器。星号呢会将页面上所有每一个元素都选到。许多开发者都用它来清空`margi[……]

阅读全文»

PHP开发者常犯的10个MySQL错误

数据库是WEB大多数应用开发的基础。如果你是用PHP,那么大多数据库用的是MYSQL也是LAMP架构的重要部分。

PHP看起来很简单,一个初学者也可以几个小时内就能开始写函数了。但是建立一个稳定、可靠的数据库确需要时间和经验。下面就是一些这样的经验,不仅仅是MYSQL,其他数据库也一样可以参考。

1、使用MyISAM而不是InnoDB
MySQL有很多的数据库引擎,单一般也就用MyISAM和InnoDB。

MyISAM是默认使用的。但是除非你是建立一个非常简单的数据库或者只是实验性的,[……]

阅读全文»

Nginx优化指南

大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一个简单的预览——那些可以通过微调来提高性能设置的概述。你的情况可能不同。
基本的 (优化过的)配置
我们将[……]

阅读全文»

[转]Nginx + Tomcat + HTTPS 配置原来不需要在 Tomcat 上启用 SSL 支持

之前在网上搜索到的很多文章在描述 Nginx + Tomcat 启用 HTTPS 支持的时候,都必须在 Nginx 和 Tomcat 两边同时配置 SSL 支持。但我一直在想为什么就不能按照下面的方式来配置呢?就是 Nginx 上启用了 HTTPS,而 Nginx 和 Tomcat 之间走的却是普通的 HTTP 连接。但是搜索很多没有解决办法,最后还是老老实实的 Nginx 和 Tomcat 同时配置的 SSL 支持。

最近给 OSChina 买了个新的支持 *.oschina.net 泛域[……]

阅读全文»

Git中的AutoCRLF与SafeCRLF换行符问题

CR回车 LF换行
Windows/Dos CRLF \r\n
Linux/Unix LF \n
MacOS CR \r
一、AutoCRLF
#提交时转换为LF,检出时转换为CRLF
git config –global core.autocrlf true

#提交时转换为LF,检出时不转换
git config –global core.autocrlf input

#提交检出均不转换
git config –global core.autocrlf false
二[……]

阅读全文»

[git] warning: LF will be replaced by CRLF | fatal: CRLF would be replaced by LF

遇到这两个错误, 基本上都是叫你将 autocrlf 设置为 false. 但是我觉得这样很不妥。

如果你的源文件中是换行符是LF,而autocrlf=true, 此时git add就会遇到 fatal: LF would be replaced by CRLF 的错误。有两个解决办法:
1. 将你的源文件中的LF转为CRLF即可【推荐】
2. 将autocrlf 设置为 false

如果你的源文件中是换行符是CRLF,而autocrlf=input, 此时git add也会遇到 fat[……]

阅读全文»

鄂ICP备13000209号-1

鄂公网安备 42050602000277号