解决php通过localhost不能连接mysql(Percona Server)数据库,通过127.0.0.1等ip能链接mysql数据库的问题.

问题产生

使用Percona Server官网的在线生成工具生成了my.cnf配置文件.做好左右配置启动ok之后,php无法通过localhost连接mysql数据库.

但是通过ip地址却可以连接.

mysql的localhost和127.0.0.1的区别

localhost走的是 unix sock
,127.0.0.1走的是 tcp

原因分析

产生localhost不能连接的问题是,php默认中使用的mysql unix sock使用的是 /tmp/mysql.sock
如果你修改了mysql的的sock的路径,那么需要在php.ini中指定.

解决问题

so:解决php连接mysql localhost不能连接,通过127.0.0.1等ip能链接的问题.

1.修改php.ini中配置,指定mysql.sock位置.
或者
2.修改my.cnf配置,改为  /tmp/mysql.sock

    前言

MySQL衍生版 Percona Server的更多资料请搜索~ 对于如今mysql在甲骨文的掌控下,最为开源软件来说前景堪忧~ mysql的衍生版倒是有几个,这些东西到底能不能用? 红薯都用percona作为oschina的生产数据库了。我也不怕了!哈哈,上!坚决的上!因为我是先拿vps小内存的环境开刀(搞熟悉了上生产线),所以centos6系统为32位滴,那么64位、centos5等等,如法炮制即可~
对 Percona Server 的担忧,使用这个不会出问题吧,是不是和mysql都不一样。不用担心,mysql怎么用你他就怎么用,配置也是一样的。

继续阅读

如果一站点既要80 http访问,又要443https访问。

要让https和http并存,不能在配置文件中使用ssl on,配置listen 443 ssl;

实例

server
{

listen 80;
listen 443 ssl;
server_name www.iamle.com;
index index.html index.htm index.php;
root /home/wwwroot/www.iamle.com/;
#ssl on; 这里要注释掉
ssl_certificate /usr/local/nginx/conf/ssl/www_iamle_com.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/www_iamle_com.key;

#以下配置省略

}

 

 

 

From:http://nginx.org/en/docs/http/configuring_https_servers.html#single_http_https_server

It is good practice to configure separate servers for HTTP and HTTPS protocols from the very start. Although their functionalities currently seem equal, this may change significantly in the future and using a consolidated server may become problematic. However, if HTTP and HTTPS servers are equal, and you prefer not to think about the future, you may configure a single server that handles both HTTP and HTTPS requests by deleting the directive “ssl on” and adding the “ssl” parameter for *:443 port:

wget -c http://tengine.taobao.org/download/tengine-1.4.2.tar.gz
tar zxvf tengine-1.4.2.tar.gz
cd tengine-1.4.2
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
rm -rf /usr/local/nginx/sbin/nginx
cp -r objs/nginx /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx  -t
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
/etc/init.d/nginx  restart
/usr/local/nginx/sbin/nginx -v

更新于2012年12月14日