手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2010年10月的文章

Installing PHP 5.3, Nginx And PHP-fpm On Ubuntu/Debian

Since Apache is most of the time a memory hungy process, people started to look for different ways to host their website. Apache is clearly not the only webserver available. A few good examples are lighttpd and nginx. In this tutorial I will show you how to install it on your Ubuntu server. This tutorial also applies to Debian, though. There is only a very small difference.

Ready? Let's begin shall we.

Step 0 - Preliminary Notes

In order to complete this tutorial, I assume you have installed a base system of Debian or Ubuntu. How this can be done, can be read in different tutorials. This tutorial only focusses on getting nginx+php running without much hassle.

Step 1 - Nginx

Installing nginx is the first step we have to do. This can be easily done by downloading it from the repository.

XML/HTML代码
  1. sudo apt-get install nginx  

The default vhost has to be changed in order to work properly.

XML/HTML代码
  1. sudo vim /etc/nginx/sites-available/default  

A nice starting point for your config is:

XML/HTML代码
  1. server {  
  2.     listen   80;  
  3.     server_name  localhost;  
  4.     access_log  /var/log/nginx/localhost.access.log;  
  5.   
  6. ## Default location  
  7.     location / {  
  8.         root   /var/www;  
  9.         index  index.php;  
  10.     }  
  11.   
  12. ## Images and static content is treated different  
  13.     location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {  
  14.       access_log        off;  
  15.       expires           30d;  
  16.       root /var/www;  
  17.     }  
  18.   
  19. ## Parse all .php file in the /var/www directory  
  20.     location ~ .php$ {  
  21.         fastcgi_split_path_info ^(.+\.php)(.*)$;  
  22.         fastcgi_pass   backend;  
  23.         fastcgi_index  index.php;  
  24.         fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;  
  25.         include fastcgi_params;  
  26.         fastcgi_param  QUERY_STRING     $query_string;  
  27.         fastcgi_param  REQUEST_METHOD   $request_method;  
  28.         fastcgi_param  CONTENT_TYPE     $content_type;  
  29.         fastcgi_param  CONTENT_LENGTH   $content_length;  
  30.         fastcgi_intercept_errors        on;  
  31.         fastcgi_ignore_client_abort     off;  
  32.         fastcgi_connect_timeout 60;  
  33.         fastcgi_send_timeout 180;  
  34.         fastcgi_read_timeout 180;  
  35.         fastcgi_buffer_size 128k;  
  36.         fastcgi_buffers 4 256k;  
  37.         fastcgi_busy_buffers_size 256k;  
  38.         fastcgi_temp_file_write_size 256k;  
  39.     }  
  40.   
  41. ## Disable viewing .htaccess & .htpassword  
  42.     location ~ /\.ht {  
  43.         deny  all;  
  44.     }  
  45. }  
  46. upstream backend {  
  47.         server 127.0.0.1:9000;  
  48. }  
k, we're done here. Now we'll install the needed files for PHP.

 

Step 2 - Installing PHP

Many sites rely on PHP for providing them dynamic content, whether this is a wiki, forum software, weblog or something entirely different.

If you are running Ubuntu, we first have to resolve two dependencies required for the dotdeb packages. If you are running the amd64 version, you should replace i386 with amd64.

For Debian you won't have to do this!

XML/HTML代码
  1. cd /tmp  
  2.   
  3. wget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb  
  4.   
  5. wget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb  
  6.   
  7. sudo dpkg -i *.deb  

Again, this is only required if you're on Ubuntu.

The rest of the tutorial applies to both Ubuntu & Debian.

 

 

 

 

We'll have to add the dotdeb repository to the APT sources, so we can use their packaged PHP 5.3 and php-fpm:

XML/HTML代码
  1. sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list  

Update apt:

XML/HTML代码
  1. sudo apt-get update  

The resulting text should include dotdeb.

Now we'll install PHP (part 1):

XML/HTML代码
  1. sudo apt-get install php5-cli php5-common php5-suhosin  

We have to install the cli before the rest, because this will cause problems later on.

XML/HTML代码
  1. sudo apt-get install php5-fpm php5-cgi  

If you are planning to use a database or require specific modules (mcrypt, ldap, snmp etc) you can install them as well.

Ok, so now we have nginx and PHP.

One minor remark: If you are using "php short tags" (<?) you should enable them in your php.ini files (for both fpm and cli). If you do not change this, you will see your code in plain text!

Step 3 - Finalizing

Restart nginx in order to catch up with the config changes we made earlier.

XML/HTML代码
  1. sudo /etc/init.d/nginx restart  

The restart should have gone without any problems.

After installing php5-fpm, it should have been started. If you did change your php.ini files, you have to restart php5-fpm.

XML/HTML代码
  1. sudo /etc/init.d/php5-fpm restart  

All right. They should now both be running.

Step 4 - Testing

In order to test if the execution of PHP is working, create an index.php file in /var/www with the following content:

PHP代码
  1. <?php phpinfo(); ?>  

 

 

 

 

Visit your webserver and you should be able to see the generated phpinfo. If not, something went wrong.

Step 5 - Troubleshooting & Final notes

If  you did not see the phpinfo, there might be something wrong. In order to track down what went wrong, you can check the nginx error log:

XML/HTML代码
  1. sudo tail /var/log/nginx/error.log  

Remember, if you did change your php.ini you have to restart php5-fpm. Restarting nginx isn't' necessary.

In my example config I've enabled the fastcgi error interception. If a serious error occurs (for instance a "cannot redeclare class xyz"), nginx can catch this page and show a "nice" error page that something went wrong. This way, there is less information given out in case something is going seriously wrong.

If you do not like this, you can turn it off.

If php5-fpm is not running, your PHP files cannot be parsed and nginx will show the user an error page.

Well, I guess we're done and you are now able to serve PHP with your new nginx based webserver. Nginx is pretty nice and you can configure a lot. If you need rewrites, be aware that nginx does not work with .htaccess files. You will need to change your vhost settings in order for the rewrites to work.

原文地址为:http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian

事实上,如果你真的按照本文所说的去安装,好象是不能成功的。好象默认nginx不在ubuntu的包里。

原文中还有三篇相关文章,如果有兴趣,可以看一下:

有些东西还是可以看看的,但如果是纯操作没有讲解,其实意义不大,终究只是知其然不知其所以然

 

 

 

为NeatPIC目录直读版建群

虽然neatpic的功能不强大,我的时间也不是特别多。
但我还是准备为它建立一个QQ群,接受需求和发布版本。

目前我本地的版本还没有发布,基本上也就是实现了我在博客里说的一些新功能。
准备发布两种版本,一种是尽量用上PHP5的特性的。一种是面向过程的。(其实所谓用上php5特性的也差不多面向过程)

当然还是采用模版和楥存,也会生成缩略图,方便展示。
同时代码仍然采用开源方式发布,也没有什么授权不授权的。
不管你是商用也好非商用也好,都无所谓了。保留一个版权,留下本站一个链接就行,其他无所谓

QQ群号:4278705,加入时需要暗号:neatstudio
防止茶农进驻。。

Tags: neatpic, qq群

委琐记

一大早上班,QQ群里就不停的在弹#小月月#,很是吃惊,仿佛感觉自己好象错过了什么,然而上天总还是眷顾我的,又有不少人在群里友情发出了小月月故事的网址,于是我也本着不愿独享的心情,将它公布到了我的微博上,但毕竟微博收藏的人不多,不如我的勃客收藏的量大,于是乎。。。

在这里我还是公布一下。。要知道,这可是传说中的脱水版,不要忍受猫扑天涯那种无尽回复的楼层,直接看的就是精华所在。原文名称是:国庆悲情游拜月教主小月月脱水版合集,链接地址为:http://game.zol.com.cn/198/1986010.html,一般建议是在肚子饿的时候看。当然如果看过那些什么 蓬蓬头啦,两女一杯之类的毫无反应的,可以直接观看,不会对你们的生理造成很大的伤害,否则,建议你们还是先冷静下来再观看,以免发生不测。

顺便,看的时候可以手里拿罐啤酒,看完后,你会发现,啤酒已经冰镇完毕。

最后,上一个验证码。。好意外的验证码,到现在我也只碰过这么一次哦:

大小: 1.98 K
尺寸: 94 x 51
浏览: 1195 次
点击打开新窗口浏览全图

运气还是不错的

Tags: 小月月, 验证码

用谷歌浏览器来当手机模拟器

张宴在自己的博客里写着用《用谷歌浏览器来当手机模拟器》,看完后发现是模拟了User-Agent,这个其实在很早以前大家就都玩过类似的功能,只是,我们没有系统的拿出来说而已。

果然,光会用是没用的,还得会写会说。比如当QQ微博刚出来的时候,大家就在考虑怎么着能够发图片,于是乎opera模拟user-agent出来了,Firefox等的模拟也出来了。但这种技巧也就仅仅流传在微博上,而没有上升到文字的高度,可是,张宴他集中出来了。

---start

  很多网站都通过User-Agent来判断浏览器类型,如果是3G手机,显示手机页面内容,如果是普通浏览器,显示普通网页内容。

谷歌Chrome浏览器,可以很方便地用来当3G手机模拟器。在Windows的【开始】-->【运行】中输入以下命令,启动谷歌浏览器,即可模拟相应手机的浏览器去访问3G手机网页:

谷歌Android:

XML/HTML代码
  1. chrome.exe --user-agent="Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"  
苹果iPhone:
XML/HTML代码
  1. chrome.exe --user-agent="Mozilla/5.0 (iPad; U; CPU OS 3_2_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B500 Safari/531.21.10"  
诺基亚N97:
XML/HTML代码
  1. chrome.exe --user-agent="Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124"  

试一试,分别用Android、iPhone、诺基亚访问http://www.163.com/http://blog.s135.com/http://www.google.com.hk/http://3g.qq.comhttp://t.sina.cn这些3G手机网页,看看有什么不同。

更多款手机的User-Agent:http://www.zytrax.com/tech/web/mobile_ids.html

----EOF--

以上功能对于我们firefox用户来说就没辙了,但并不是不可以使用,比如我们有一个很强大的addon,那就是:Nightly Tester Tools。这个工具可是非常强大哦,想更改啥都可,以前写过两篇介绍性的博客,其中一篇为介绍,一篇为应用

1、UserAgent分析

2、google notebook。。。

 

Tags: chrome, user-agent

Zend Studio 8.0 Beta 2: Virtualize Your PHP Development with VMware Workstation Integration

这是我收到的zendstudio发的邮件,我并非是为了宣传那个coupon code,而是被这个标题所吸引。。那就是现在的标题。
看内容吧(list one才是重点):

We've just launched the Beta 2 release of Zend Studio 8.0! This release adds exciting new capabilities to the industry-leading PHP IDE:

  Run and debug your PHP application in a virtual, production-like environment right from the Zend Studio interface with new VMware Workstation integration
  Develop your JavaScript code faster with Content Assist support for jQuery, Dojo, ExtJs, and Prototype
  Debug JavaScript front-end code and PHP back-end code in a single, unified debugging session, through a new set of integrated Ajax tools
  Develop projects over a remote server transparently with revamped remote system support
  Navigate through and edit your source code more quickly and smoothly thanks to enhancements throughout the interface
 

To celebrate this exciting new beta release, Zend is offering a 25% discount* on online purchases of Zend Studio 7.2 made before October 31st! Take this opportunity to start using the top-ranking PHP IDE (as scored by InfoWorld) at a great price, and your license will include a free upgrade to Zend Studio 8 once it's officially released.

Download Zend Studio 8.0 Beta

* Use coupon code CELEBRATE during checkout

Happy PHPing,
Zend - the PHP Company

Tags: zendstudio

Records:29123456