'PHP' 标签

PHP 罢工之 ~ 111: Connection refused) while connecting to upstream

关于PHP的这个错误:

connect() failed (111: Connection refused) while connecting to upstreamclient: 123.xx.xx.xxx, server: ~.com, request: "GET ...... HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.~.com" 

curl -I IP //可以连接
telnet IP 80 //远程主机连不上

哪么就重启
service nginx restart //还是不行甚至reboot服务器

Less -N ……nginx.log 就看到了上面的错误

解决办法有很多,但是下面这个适合我:
sudo vi /etc/nginx/nginx.conf 在http区块加入

http {
...
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
...
}

PHP 5.5 开启Opcache

Ubuntu 14 下的PHP版本是PHP 5.5,它不再支持APC。默认状态下Opcache Mod处于关闭状态,需要手动开启。有个奇怪的问题,既然是提升自身性能的为啥不默认启用呢?

PHP 5.5开启Opcache:
sudo vi /etc/php5/fpm/php.ini

;opcache.enable=0 修改为 opcache.enable=1

再做下小调整,将对应的选项改成下面这样的设置:

opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache_revalidate_freq=240
opcache.interned_strings_buffer=8
opcache.fast_shutdown=1

确保PHP Opcache模块部已启用
sudo php5enmod opcache

sudo service php5-fpm restart

sudo service nginx restart

想查看效果可以使用这个工具
https://github.com/rlerdorf/opcache-status

利用PHP实现图片数据URI

此前看到一个网站上的图片的url被转成了一大串base64编码,以此来隐藏文件路径和防止拷贝。但时还老想找方法把地址还原出来。原来这一方法是利用PHP实现的。

将图像转换为使用Base64编码的好处是可以节省为每个图像的网络请求,还可以防止目录路径曝光。

// A few settings
$image = 'cricci.jpg';

// Read image path, convert to base64 encoding
$imageData = base64_encode(file_get_contents($image));

// Format the image SRC: data:{mime};base64,{data};
$src = 'data: '.mime_content_type($image).';base64,'.$imageData;

// Echo out a sample image
echo '';

function getDataURI($image, $mime = '') {
return 'data: '.(function_exists('mime_content_type') ? mime_content_type($image) : $mime).';base64,'.base64_encode(file_get_contents($image));
}

Google App Engine 正式向公众提供 PHP

昨天,无意中跳到 Google App Engine official page,看到如何在 Google App Engine 上搭建WordPress的教程,今天还无意中看到 Google App Engine 正式向公众提供 PHP,也就是 Google App Engine 现在支持部署PHP程序了,向前还需要申请使用。

除直接使用Google提供的App Engine PHP进行开发、测试和部署应用程序外。现在开发人员还可以从 DevTable 或 CodeEnvy上创建,测试和部署项目,同样还可以使用PhpStorm IDE在桌面端建立,运行,调试,部署PHP应用程序。目前有有81.2%网站的使用PHP语言来写。

甚至还有plug-in for WordPress 这款插件,将wordpress变由Google App Engine来驱动。例如想将图片等媒体文件使用Google Cloud Storage来存储。

参考资源:
Running WordPress in App Engine
Getting Started with PhpStorm as Google App Engine PHP IDE

Amazon EC2上安装和运行WordPress

Amazon EC2上安装和运行Wordpress / Install WordPress on Amazon EC2 – 现在Amazon EC2 已经开始使用BitNami 来让大家快速方便搭建各种程序

BitNami提供了,包括的Drupal,Joomla,WordPress,Django,Magento等超多开源Web应用程序,框架和运行环境。BitNami实现了一键式部署开源应用程序和开发环境,定期自动备份等。目前已支持30多个应用程序。BitNami可以在本地/虚拟机/Amazon Cloud Images上运行,支持Windows, Linux, Mac OS X三大系统。

本文要所说并非是关于使用BitNami来在 Amazon EC2 安装和运行Wordpress。而是像在VPS上安装和运行Wordpress一样,动手配置运行环境。–折腾!

1.首先是打开AWS Management Console(管理控制台) 点击’Launch Instance’创建一个实例。选择 Linux 系统(免费)至于啥版本就挑自个喜欢的,接着选择Micro instance实例(只有这个才能享受一年的Free晚餐喔)其它的都会让你挨美刀了。一般对于小型的个人站点或者测试用途这个Micro instance已经够用的了。然后其它的默认不用设置。到 Creat Key Pair 密钥这一项,需要创建一对密钥,给密钥起一个名字并创建和下载密钥到你的PC上(使用SSH登陆服务器需要用到)。

接下来创建一个安全组,也就是配置防火墙规则,Name Group里填写WordPress,描述里也可以填写为WordPress;然后加入规则如下:

HTTP(0.0.0.0 / 0)EC2_Shot_03
SSH(0.0.0.0 / 0)
20 – 21(0.0.0.0 / 0)://自定义规则,端口范围
14000-14050(0.0.0.0 / 0)://自定义规则,端口范围

添加完成后服务器就可以在实例上运行了。

2.在AWS Management Console(管理控制台)上单击’Connect’连接,一个基于Java的SSH客户端将会打开,输入保存在PC上密钥文件的路径,点击启动SSH客户端 “Launch SSH Client”这样就可以安装和部署Apache,PHP和MySQL了。