您的位置:首页 > 运维架构 > Nginx

nginx,php相关

2016-07-20 15:08 381 查看
nginx安装
http://www.nginx.cn/install
php安装
https://segmentfault.com/a/1190000004123048#articleHeader5
约定几个目录:

/usr/local/php/sbin/php-fpm
/usr/local/php/etc/php-fpm.conf
/usr/local/php/etc/php.ini

=====
https://segmentfault.com/a/1190000004123048#articleHeader5 http://www.nginx.cn/install
php-fpm的启动参数

./php-fpm可以发现参数

php-fpm -n -e -h -i -m -v -t -p<prefix> -g<pid> -c<file> -d foo[=bar] -y<file> -D -F -O

-c 在给定目录中寻找php.ini文件

-n 没有php.ini时,可以使用

-d 定义INI entry,初值为bar

-e 产生扩展的信息对于debugger/profiler

-h 帮助

-i php information

-m 在modules中显示编译好的

-v 版本

-p 指定替换的前缀目录为FastCGI进程管理(默认是/usr/local/php7)

-g 指定PID文件位置

-y 指定替换的路径为FastCGI进程管理配置

-t 测试FPM配置&& 结束

-D --daemonize, 强制在后台运行,忽略conf文件中的守护进程选项

-F --nodaemonize,强制在前台运行,忽略conf文件中的守护进程选项

-O --force-stderr,在nodaemonize强制输出到stderr,即使stderr不是个tn-as-rooty

-R --allow-to-run-as-root,允许pool作为root运行,默认是禁止的

========

ERROR: [pool www] cannot get uid for user 'nginx'

需要修改/usr/local/php7/etc/php-fpm.d/www.conf

将user&group修改为当前系统的用户名,然后重新启动

=========

php 字符串类型

\n

\"

\r

\'

\t 制表符

\$

\\

数组类型,对象类型,资源类型

NULL类型,NULL是一个比较特殊的类型,表示变量没有任何值。

========================

URL地址用于描述一个网络上的资源,基本格式如下:

schema://host[:port#]/path/.../[?query-string][#anchor]

scheme 指定底层使用的协议(http,https,ftp)

host http服务器的ip地址或者域名

port# http服务器的默认端口为80,这种情况下端口可以省略,但是如果使用了

  别的端口,必须使用。例如:http://127.0.0.1:8080/index.php

path 访问资源的路径

query-string 发送给http服务器的数据

anchor 锚

==

URL的一个例子-》
http://www.mywebsite.com/sj/test/test.aspx?name=sviergn&x=true#stuff
Schema: http
host: www.mywebsite.com
path: /sj/test/test.aspx
Query String: name=sviergn&x=true
Anchor: stuff

==

http是无状态的

http消息的格式:

先看Request消息的格式,分为3个部分,

1,Request line 2,Request header 3,body

其中body和header之间有个空行,结构如下

---------------------------------------

METHOD/path-to-resourcde HTTP/Version-number

---------------------------------------

Header-Name-1:value

Header-Name-2:valu

----------------------------------------

-----------------------------------------

Optional requst body        |

------------------------------------------

第一行中的method表示请求方法,比如post/get

path-to-resource表示请求的资源

http/version-number表示请求的http协议的版本号

当使用get方法时,body是空的。

============

现在再看Response的结构,和Request一样

同样也是分为三部分呢,

1,Response line

2,Response header

3, body

header和body之间也有个空行。

------------------------

http/version-number | status code | message

------------------------

header-name-1: value

header-name-2: value

------------------------

------------------------

optional Response body

-------------------------=====================http://www.php-note.com/article/detail/430

http协议是建立在tcp/ip协议基础上的

我们的web开发数据的传输都是依赖于http协议

在服务端,我们可以通过$_SERVER来获取我们需要的信息

重要的有:

HTTP_HOST=localhost

REMOTE_ADDR = 127.0.0.1访问该页面的IP

DOCUMENT_ROOT=xxx 获取apache的主目录

REQIEST_URL=/http2.php 可以获取请求的资源名字

--------

http请求有两种方式:

get/post区别与联系

1,安全性 get请求的数据会显示在地址栏上,post请求的数据放在http协议消息体内

2,从提交的数据大小看:

  http协议本身并没有限制数据的大小

  浏览器在对get/post请求作显示,get请求数据2k+35post请求没有限制

3,get请求可以更好的添加到收藏夹

--------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: