DedeCms教程:Ubuntu/Debian上安装 PHP 5.3, Nginx 和 PHP-fpm

softyun3年前cms教程56

 

尽管Apache已经占据半片江山,但很多人仍然在寻找其他的方式去托管他们的站点,Apache不只是一个选择,其他很多优秀的服务器程序例如lighthttp和nginx也是不错的选择。本教程将要向您展现如何在Ubuntu操作系统上面安装,教程同样适用在Debian,尽管有一点点小差别,但并没有太大影响。怎么样,下面我们开始吧。  

0.开始注意

为了完成教程中提到的操作,我们假设您已经安装了一个基本的Debian或者Ubuntu操作系统。怎么安装系统这是不同的教程了,这里就不再详细说明。本教程主要介绍如何简单获取Nginx+php的运行环境。  

1.安装Nginx

第一步要做的就是从库中下载,这个操作是非常简单的。   sudo apt-get install nginx   更改默认的虚拟站点配置,文件在:   sudo vim /etc/nginx/sites-available/default   一个漂亮的关键配置是: server {     listen   80;     server_name  localhost;     access_log  /var/log/nginx/localhost.access.log;   ## Default location     location / {         root   /var/www;         index  index.php;     }   ## Images and static content is treated different     location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {       access_log        off;       expires           30d;       root /var/www;     }   ## Parse all .php file in the /var/www directory     location ~ .php$ {         fastcgi_split_path_info ^(.+.php)(.*)$;         fastcgi_pass   backend;         fastcgi_index  index.php;         fastcgi_param  script_FILENAME  /var/www$fastcgi_script_name;         include fastcgi_params;         fastcgi_param  QUERY_STRING     $query_string;         fastcgi_param  REQUEST_METHOD   $request_method;         fastcgi_param  CONTENT_TYPE     $content_type;         fastcgi_param  CONTENT_LENGTH   $content_length;         fastcgi_intercept_errors        on;         fastcgi_ignore_client_abort     off;         fastcgi_connect_timeout 60;         fastcgi_send_timeout 180;         fastcgi_read_timeout 180;         fastcgi_buffer_size 128k;         fastcgi_buffers 4 256k;         fastcgi_busy_buffers_size 256k;         fastcgi_temp_file_write_size 256k;     }   ## Disable viewing .htaccess & .htpassword     location ~ /.ht {         deny  all;     } } upstream backend {         server 127.0.0.1:9000; }   好了,我们完成到这里,下面我们需要安装PHP所需要的文件。  

2.安装PHP

很多站点都使用PHP提供动态内容,他们可能是一个wiki一个博客,或者一个论坛什么的。 如果你现在运行的是Ubuntu,我们首先需要解决两种不同的deb包,如果你运行的是amd64版本,那需要更改i386为amd64 注意:如果是debian则不需要做这些   cd /tmp   wget http://us.archive.ubuntu/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb   wget http://us.archive.ubuntu/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb   sudo dpkg -i *.deb   再次说明,这个只需要在Ubuntu上面操作就可以了,如果是最新版本的12.04可以省略掉这个。   下面剩余部分将在Ubuntu和Debian上面都通用。 我们需要增加APT源来增加deb包,所以我们可以使用php5.3和php-fpm   sudo echo "deb http://php53.dotdeb stable all" >> /etc/apt/sources.list   更新apt: sudo apt-get update   下面我们开始安装PHP 第一部分 sudo apt-get install php5-cli php5-common php5-suhosin     我们需要安装命令行,不然接下来就会出现些小问题 sudo apt-get install php5-fpm php5-cgi   如果你打算使用数据库或者一些需要的模块 例如:mcrypt,ldap,snmp等你同样可以安装他们。   好了,我们现在已经安装完了nginx和php   一个注意点:如果你使用"php的短标记(<?)",你需要在php.ini中开启 fpm和cli同样,如果你不改变这些,你将看到代码以文本的方式显示。  

3.完成

重启nginx服务器   sudo /etc/init.d/nginx restart   配置完成php.ini后需要重启php5-fpm,使用命令   sudo /etc/init.d/php5-fpm restart   全部完成,你可以运行了。  

4.测试

我们可以在/var/www中创建一个index.php的文件,内容如下: <?php phpinfo(); ?> 通过浏览器访问,你可以看到php的一个大致的信息,如果没有则说明一些配置错误,需要重新检查。  

5.问题和最终提示

如果你没有看到phpinfo,可能会出现一些错误,那可以执行: sudo tail /var/log/nginx/error.log 查看错误日志,另外每次当你修改了php.ini后,需要重启php5-fpm。无需重启nginx。   在默认的配置中nginx是启用了fastcgi的错误日志的,如果看到一个严重的错误 例如出现"cannot redeclare class xyz",nginx可以看到这个“漂亮的”错误页面,那可能是一些错误发生了。   如果这样你可以关闭,如果php5-fpm不能运行,你的php文件将不会被解析,并且nginx会显示一个错误页面。   好了,我猜你已经完成了,并且现在使用nginx作为你的web服务器,nginx是一个小巧、漂亮并且你可以配置很多东西的一个东东,如果你需要伪静态,注意nginx不会运行 .htaccess 文件,你需要伪静态更改vhost配置。   如果对在Linux下感兴趣的朋友可以查看《DedeCMS站点高级安全策略 Linux篇》   翻译:天涯 原文:howtoforge/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian       免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

DedeCMS的自定义表单增加"全选/全不选"的功能按钮

教大家一下如何在DedeCMS的自定义表单增加“全选/全不选”的功能按钮我们先看看效果图:织梦自定义表单没有批量选择的功能,给我们管理带来很大不便,如果需要加上“全选/全不选”的功能,步骤如下: 从/...

图集中的图片介绍不能正确显示的解决办法

打开图集模版,发现里边只有一个{dede:field name='imgurls' /}没有办法修改图片显示。我们目前觉得不够好的地方就是,鼠标放在图片上,显示图片介绍,而图片下方的介绍始终不显示。如...

防止织梦dedecms被挂黑链的几个要点

今天教给大家一些为防止织梦dedecms被挂黑的几个要点:,希望能给各位织梦爱好者们带来帮助,总共分四点:一、按织梦官方公布的安全目录设置一次,这些一般只适用于使用独立服务器的站长,因为在虚拟主机里很...

织梦dedecms自定义表单获取IP地址和提交时间

今天教大家如何实现织梦dedecms自定义表单获取IP地址和提交时间小编在网上找了很多JS文件,但太繁琐了。后来小编注意到一个细节,每次登陆后台,织梦系统都会记录登陆时间和IP地址,这说明织梦自带IP...

DedeCMS常用必备SQL语句整理

本文整理了一些DEDECMS常用必备的SQL语句,希望对大家有所帮助.在DedeCMS V5.3系统中,我们很多地方需要用到SQL语句,例如批量修改 替换内容、数据内容调用等,在系统模板中有一个专门用...