分类: Geek

折腾相关的类容

  • PHP读取MySql数据乱码问题

    PHP读取MySql数据乱码问题

    几个月前,自写的PHP链接数据库的页面,在两台服务器上表现不同,放弃了。
    问题是:
    完全一样的数据库,一样的PHP页面,但是其中一台PHP获取的数据库内容全部都是乱码。
    查看数据库,服务器,PHP页面你的编码格式都是UTF-8 .

    MySql数据库乱码
    MySql数据库乱码

    昨天,链接数据库时,添加
    mysql_query(“SET NAMES utf8”);
    解决了。

    疑惑的是,为什么另外一台不需要强制转换字符集也不会产生乱码呢?

    猜测问题可能出现在服务器环境,以及PHP版本上。
    服务器B为纯lnmp环境。
    服务器A为WDCP面板。

  • Chrome 30.0 mac版不间断崩溃

    Chrome 30.0 mac版不间断崩溃

    升级到30后,Chrome时不时的崩溃。
    检查排除各种原因之后,似乎,肯定,时由于SwitchySharp插件引起。

    SwitchyOmega解决,配置文件两个通用。

    SwitchyOmega
    SwitchyOmega
  • 4步完成,vps搭建VPN

    4步完成,vps搭建VPN

    //2013-11-12更新—————
    发现了一揽子打包安装VPN的方法。
    采用AMH面板,众多功能包采用模块式插件安装。
    众多模块中包括了PPTP-VPN-1.1 模块(一键安装PPTP-VPN服务);
    甚至都不用通过终端命令行添加账户。而直接安装LanYing-VPN-1.0模块(VPN代理服务器对用户的管理,支持PPTP和L2TP方式的VPN代理用户管理)可视化操作添加账户。
    对于服务器只用来架设VPN的,可以考虑这种形式安装。简单快捷。
    AMH还有SSL的模块,采用SSL的方式也可以破墙。

    //自架VPN,4步安装步骤—————–

    自架VPN虽然速度不俗,在20M使用带宽下,最高1080p在线视频流量能跑到527kb每秒。
    但是在低带宽环境下,表现依旧不如wallproxy的多线程下载。
    优势在于,VPN表现平稳,完全模拟服务器所在的上网环境,
    由于GAE被大量使用,使用GAE的代理现在越来越多的被各个网站所限制。(维基百科的编辑,youtube的部分视频。)

    VPS配置:洛杉矶 OpenVZ VPS 512MB 100M共享带宽
    系统环境: CentOS5.4 无web环境

    也试了一个 Xen VPS – 64MB 的,效果也不差,
    只是64M内存看着实在揪心,除了vpn其它估计什么也做不了。

     

    以下,VPN的搭建记录:

    1–确保服务器配置天生支持pptp的VPN(很多VPS后台具有TUN和ppp的开关)。
    cat /dev/net/tun
    //cat: /dev/net/tun: File descriptor in bad state
    //返回上面这句“File descriptor in bad state”则确定可以安装,继续下面步骤。

     

    2–进入安装步骤;
    //安装环境软件依赖:
    yum makecache
    yum -y update
    yum -y install ppp wget iptables iptables-devel perl

     

    3–使用googlecode的pptp资源,安装pptp。
    //32位安装:
    rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm
    //64位安装:
    rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm

     

    4–配置参数:
    vim /etc/pptpd.conf
    //去掉以下两句的注释:
    localip 192.168.0.1
    remoteip 192.168.0.234-238,192.168.0.245
    vim /etc/ppp/options.pptpd
    //去掉ms-dns的注释,并修改为8.8.8.8和8.8.4.4:
    ms-dns 8.8.8.8
    ms-dns 8.8.4.4

    vim /etc/sysctl.conf
    //修改net.ipv4.ip_forward=0,改为1,
    //并注释net.ipv4.tcp_syncookies = 1
    net.ipv4.ip_forward=1
    # net.ipv4.tcp_syncookies = 1
    //保存后执行下面一句
    sysctl -p

    //添加VPN账号和配置密码。
    vim /etc/ppp/chap-secrets
    zhanghao pptpd mima *
    //如上格式,zhanghao代表用户名,mima为密码,
    //可多行建立多个VPN帐号

    //添加iptables规则。OpenVZ虚拟环境执行:(xxxx为VPS的IP地址)
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source X.X.X.X
    //Xen的虚拟环境执行:
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

    //最后各种重启,启动,以及设置开机启动。
    /etc/init.d/iptables save
    /etc/init.d/iptables restart
    /etc/init.d/pptpd restart
    chkconfig pptpd on
    chkconfig iptables on

    搞定。
    pc,mac ,手机,所有平台无需任何客户端和配置,就可以链接了
    vpn

    vpn-vps

  • 设置MySQL远程链接


    //更改mysql自身数据库‘mysql’
    use mysql;
    select host,user,password from user;

    //%允许任何主机连接本数据库,
    grant all privileges on *.* to 'root'@'%' identified by 'XXXXXXXXX' with grant option;

    //重置mysql服务;
    flush privileges;

    //退出mysql
    exit;

    //如果有防火墙,确保打开3306端口
    iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

    //开关防火墙(重启)
    chkconfig iptables on
    chkconfig iptables off

    //临时开关防火墙
    service iptables start
    service iptables stop

    //连接方命令:
    mysql -u root -p -h 地址

  • Lnmp—php5.5编译安装

    Lnmp—php5.5编译安装

    安装版本:php5.5

    nginx:1.5.3

    PHP:5.5.1

    CentOS 5.4 32位   php-fpm编译配置参数:

    ./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysql=/usr/ –with-iconv-dir –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-magic-quotes –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fastcgi –enable-fpm –enable-force-cgi-redirect –enable-mbstring –with-mcrypt –enable-ftp –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –with-mime-magic

    报错一个:
    configure: error: Please reinstall the libcurl distribution – easy.h should be in <curl-dir>/include/curl/

    解决方法: yum -y install curl-devel

    QQ20130804-3

  • VNC远程桌面-6层嵌套

    VNC远程桌面-6层嵌套

     尝试了一下,VNC远程桌面嵌套6层的情况。目前常见平台都在其中,iOS,MacOS,Windows,Linux(CentOS)。
    三个带宽环境,家50M,公司20M,以及2M的服务器。

    Virtual Network Computing
    VNC远程桌面

    VNC轻量级,跨平台,操控稳定
    iPhone–》iMAC–》PC笔记本–》公司PC–》公司内部服务器(Linux)–》网络服务器(Linux)

    图形效果都是最优,其中包括了2台Window的双屏机器,一共4块1920X720屏幕和1块1366X768屏,1快1200X800屏。

    即便在离最后一层相差4个终端的Mac,依然可以通过键盘输入向网络服务器系统中输入信息。

    客户端(工具)使用:
    iPhone使用 ” VNC Viewer ”  AppStore下载
    Mac使用  “VNC Server for  Mac”接受控制,“VNC Viewer for Mac”控制  VNC官网下载
    PC笔记本使用  “VNC Server”接受控制, “VNC Viewer for Google Chrome”控制  Chrome应用商店下载
    台式PC 使用  “VNC Server”接受控制, “VNC Viewer ”控制;
    两台Linux服务器(CentOS系统) 使用   “tiger vnc”  Yum安装

    其中的“VNC Viewer for Google Chrome”  谷歌浏览器的VNC插件,感觉超棒。如果只用作客户端,免去了单独安装VNC程序的麻烦,亮点是作为Chrome插件,帐号同步!!!
    遗憾的是,在Mac平台的Chrome上不能支持—“此计算机不支持该应用。已停止安装”

    关于跨网连接部分:
    本地局域网ip被外网访问。使用的是花生壳动态IP解析服务。
    用花生壳客户端,将动态局域网ip绑定到花生壳的域名中。
    其中似乎直接使用80端口映射内网的5901端口不起作用,不能连接,
    必须使用非80端口映射。(未验证)