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请求可以更好的添加到收藏夹
--------------