编译index.php权限不够,Nginx Tips: Php Uploading Progress Bar - 0000

本文是关于在Linux下安装Nginx+PHP并测试文件上传进度模块的一个备忘。php

Runtime Environment

操做系统:Ubuntu 13.10 64bit (VMWare, 宿主是Windows 7 Ultimate)

CPU: 1 x 2 core(i5)

Mem: 3048M

HD: 100Ghtml

安装Nginx

在安装Nginx以前,你须要知道如何在Unity环境下运行Terminal(终端)。后文的命令都在Terminal下运行。

打开一个Terminal,准备运行各类命令。mysql

更新Ubuntu

sudo apt-get update

sudo apt-get upgrade

安装Nginx:

sudo apt-get install nginx php5-fpm build-essential libc6 libpcre3 libpcre3-dev libpcrecpp0 libssl0.9.8 libssl-dev zlib1g zlib1g-dev

除nginx和php5-fpm外,其它都是用于未来编译nginx和附加模块所必需的。

官方关于Nginx的安装请参考Here

安装完成后,能够经过浏览器(Ubuntu下一般是Firefox)打开http://localhost来查看Nginx是...。幸运的话能够看到“Welcome to nginx”的页面。如今php功能尚未打开,须要修改Nginx的设置文件。

关于Nignx配置文件的各类知识,请我的放狗或访问站点Nginx.org。我的以为先看看这个扫盲贴,先有个初步概念,而后再动手修改配置文件比较好。nginx

从新启动Nginx

在后续以及开发过程当中,尤为是在学习Nginx的配置设定时,会频繁的从新启动Nginx。使用如下脚本:sql

sudo /etc/init.d/nginx restart

也可使用如下命令平滑重启:vim

sudo /etc/init.d/nginx -s reload

Configure Gedit

由于Nginx的设定文件属于root,因此须要相应权限可以进行修改。在修改设定以前要进行如下准备工做:设置文本编辑器gedit(显示的名称为Text Editor),使之能以root权限启动。这样咱们就可以使用gedit随意修改属于root的文件而没必要担忧权限不够不能存盘的问题。我的偏好gedit。固然,喜欢vim的也尽可用之。

在/usr/share/applications/下找gedit.desktop文件,如下列命令打开:浏览器

gksudo gedit /usr/share/applications/gedit.desktop

根据提示输入密码,咱们将在gedit中编辑gedit的快捷方式配置文件:

将第19行修改成:bash

Actions=Window;Document;Runasroot;

在末尾,添加如下内容:app

[Desktop Action Runasroot]

Name=Run as root

Exec=gksudo -k -u root gedit

OnlyShowIn=Unity;

将Gedit锁定到Unity的侧栏上,之后右键单击该图标,就会有Run as root的选项,能够随意编辑各类文件。编辑器

Enable PHP

修改Nginx设定以打开PHP功能

主设定文件Nginx.conf如今不用理会。先用Gedit打开/etc/nginx/sites-available/default文件。

修改根目录指向和添加对index.php的支持。我的偏好使用www做为网站的根。

# REV:igame@Dec-19-2013: Change root directory from html to www.

# root /usr/share/nginx/html;

root /usr/share/nginx/www;

# REV:igame@Dec-19-2013: Add index.php.

index index.php index.html index.htm;

打开PHP功能,默认是注释掉的。

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

# REV:igame@Dec-18-2013: Enable PHP & FastCGI

location ~ \.php$ {

# REV:igame@Dec-18-2013: Add the try_files tag as www.howtoforge.com's recommendation.

try_files $uri =404;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

#

# # With php5-cgi alone:

# fastcgi_pass 127.0.0.1:9000;

# # With php5-fpm:

fastcgi_pass unix:/var/run/php5-fpm.sock;

fastcgi_index index.php;

include 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 provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's

; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok

; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting

; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting

; of zero causes PHP to behave as before. Default is 1. You should fix your scripts

; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.

; http://php.net/cgi.fix-pathinfo

cgi.fix_pathinfo=0

测试PHP

按官方指引,在网站根目录下建立info.php来测试PHP。内容以下:

phpinfo();

?>

Tips

若是浏览不能打开info.php,一般是权限问题引发的。使用如下命令修改info.php的全部者和所属组:

sudo chown root info.php

sudo chgrp root info.php

Security? What is that?

安装和设置,也请参考这个连接。

再有问题,请放狗搜索。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值