本文是Linux下安装Nginx+PHP和测试文件上传进度模块的备忘录。RuntimeEnvironment操作系统:Ubuntu13.1064bit(VMWare,host为Windows7Ultimate)CPU:1x2core(i5)Mem:3048MHD:100G安装Nginx在安装Nginx之前,你需要知道如何在Unity环境下运行Terminal(终端)。以下命令在终端下运行。打开终端,准备运行各种命令。更新Ubuntusudoapt-getupdatesudoapt-getupgradeinstallNginx:sudoapt-getinstallnginxphp5-fpmbuild-essentiallibc6libpcre3libpcre3-devlibpcrecpp0libssl0.9.8libssl-devzlib1gzlib1g-dev除了nginx和php5-fpm两者都是未来编译nginx和其他模块所必需的。Nginx官方安装请参考这里。安装完成后,可以通过浏览器(通常是Ubuntu下的Firefox)打开http://localhost,查看Nginx是否...。运气好的话,可以看到“欢迎使用nginx”的页面。php功能还没有开启,需要修改Nginx的配置文件。关于Nignx配置文件的各种知识,请亲自放狗或访问本站Nginx.org。个人觉得还是先看看这个扫盲帖比较好,有个初步的概念,再自己动手修改配置文件。重启Nginx在后续和开发过程中,尤其是在学习Nginx的配置设置时,会经常重启Nginx。使用以下脚本:sudo/etc/init.d/nginxrestart也可以使用以下命令顺利重启:sudo/etc/init.d/nginx-sreloadConfigureGedit因为Nginx的设置文件属于root,所以需要相应的权限才能修改。修改设置前,需要做以下准备工作:设置文本编辑器gedit(显示名称为TextEditor),使其可以root权限启动。这样我们就可以使用gedit随意修改属于root的文件而不用担心权限不够存盘了。个人偏好gedit。当然,喜欢vim的也可以用。找到/usr/share/applications/下的gedit.desktop文件,使用以下命令打开:gksudogedit/usr/share/applications/gedit.desktop根据提示输入密码,我们将编辑gedit快捷方式gedit配置文件:修改第19行为:Actions=Window;Document;Runasroot;最后,添加以下内容:[DesktopActionRunasroot]Name=RunasrootExec=gksudo-k-urootgeditOnlyShowIn=Unity;把Gedit锁定在Unity这边以后右键图标,会有Runasroot的选项,可以随意编辑各种文件。启用PHP修改Nginx设置以启用PHP功能。现在忽略主要设置文件Nginx.conf。首先用Gedit打开/etc/nginx/sites-available/default文件。修改根目录指向并增加对index.php的支持。个人偏好使用www作为网站根目录。#REV:igame@Dec-19-2013:将根目录从html更改为www.#root/usr/share/nginx/html;root/usr/share/nginx/www;#REV:igame@Dec-19-2013:添加index.php.indexindex.phpindex.htmlindex.htm;打开PHP函数,默认是注释掉的。#将PHP脚本传递给侦听127.0.0.1:9000##REV:igame@Dec-18-2013:启用PHP&FastCGIlocation~\.php${#REV:igame@Dec-18-2013:添加try_files标记为www.howtoforge.com的推荐。try_files$uri=404;fastcgi_split_path_info^(.+\.php)(/.+)$;##注意:你应该有“cgi.fix_pathinfo=0;”在php中ini###单独使用php5-cgi:#fastcgi_pass127.0.0.1:9000;##使用php5-fpm:fastcgi_passunix:/var/run/php5-fpm.sock;fastcgi_indexindex.php;包括fastcgi_params;现在,重新启动Nginx以使更改生效。可能修改有错误,请查看/var/log/nginx/error.log查看:cat/var/log/nginx/error.log排除故障后,继续重启Nginx。修改PHP-fpm设置修改/etc/php5/fpm/php.ini,找到cgi.fix_pathinfo,设置为cgi.fix_pathinfo=0。;cgi.fix_pathinfo为CGI提供*real*PATH_INFO/PATH_TRANSLATED支持。PHP的;以前的行为是将PATH_TRANSLATED设置为SCRIPT_FILENAME,而不是grok;PATH_INFO是什么。有关PATH_INFO的更多信息,请参阅cgi规范。环境;1将导致PHPCGI修复其路径以符合规范。一个设置;为零会导致PHP的行为与以前一样。默认为1。你应该修复你的脚本;使用SCRIPT_FILENAME而不是PATH_TRANSLATED。;http://php.net/cgi.fix-pathinfoocgi.fix_pathinfo=0测试PHP根据官方指引,在网站根目录下创建info.php,用于测试PHP。内容如下:然后,用浏览器打开http://localhost/info.php...,尽情享受吧。Tips如果浏览时无法打开info.php,一般是权限问题导致的。使用以下命令修改info.php的所有者和组:sudochownrootinfo.phpsudochgrprootinfo.phpSecurity?那是什么?安装和设置,也参考这个链接。如果还有什么问题,请放狗搜索。
