尽管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.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
wget http://us.archive.ubuntu.com/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.org 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下感兴趣的朋友可以查看《Linux下的DedeCMS站点高级安全策略》
翻译:天涯
原文:http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian在Windows 7系统的默认设置中,当Windows 7系统处于休眠状态时,会同时断网的。如此一来,无论你正在使用迅雷还是快车等下载工具,同样可以在休眠状态下继续完成下载,最大限度做到从身边的小事开始支持环保。下面我们就详细介绍操作步骤,帮助Windows 7系统用户实现这一节能目标。 首先需要...
有些使用本本的朋友可能会发现,右下角通知栏区域会无法显示电源按钮,导致在插上电源或者是使用电池的时候都无法进行区分。造成这种情况大部分都是因为使用了第三方修改过的系统版本或者对于系统优化过度,所以今天就来解决这个问题。 第一步:在开始菜单的搜索窗口输入“gpedit.msc”,进入组策略编辑器,依...
北京时间1月13日消息,根据计划,微软将于2015年1月13日正式结束对Windows 7SP1的“主流支持”,而这也标志着“扩展支持”阶段的开始,这个阶段将于2020年1月14日结束。 2013年10月份,微软终止销售独立的Windows 7系统安装包,并要求制造商于2014年10月份停止生...
Intel会在2015年推出Broadwell、Skylake两代14nm处理器,前者可以使用9系芯片组,Skylake升级到了LGA1151插槽,需要搭配新的100系列芯片组,但初期的Skylake-S又不能超倍频,所以今年Q2季度开始会很混杂。Skylake一代会支持DDR4,100系列芯片组升...
出现该问题的原因是由于使用第三方优化软件消除快捷方式的小箭头引起的。 1、在开始搜索框中键入“regedit”,按回车键打开注册表编辑器。 2、依次定位到以下分支:HKEY_CLASSES_ROOTlnkfile。 3、在lnkfile项上鼠标右键单击“新建”——“字符串值”。...
最近一些Windows 7用户反馈说,自己在截屏的时候出现黑屏,导致自己截的图黑呼呼一片。这个问题该怎么解决?今天小编就为大家提供一个解决的方法。 步骤 1 在windows xp时代,很多用户都曾被视频截图后的“全黑图片”困扰。对此,在解决本地播放时出现的截图变黑问题,一般有两个方法可以用来解...