如何正确配置nginx php 配置+PHP

Windows下Nginx+PHP5的安装与配置方法
字体:[ ] 类型:转载 时间:
Nginx 是一个轻量级的高性能 Http WebServer,以事件驱动方式编写,因此相比 Apache 而言,Nginx 更加稳定、性能更好,而且配置简单,资源占用较低。
以下是我在 Windows&2003 安装中 Nginx 和 PHP5.2 的步骤,但windows版本的nginx性能要比Linux/Uninx版本的Nginx差太多。
安装 PHP5首先,从
下 载最新的 PHP5.2.9-2 Windows 版本,解压至 C:\php,把压缩包中的 php.ini-recommended,更名为 php.ini,然后打开修改几个选项:
error_reporting = E_ALLdisplay_errors = Onextension_dir = "C:\php\ext"; 动态扩展,可以根据需要去掉 extension 前面的注释 ; ; 如加载 PDO, MySQLextension=php_pdo.dllextension=php_pdo_mysql.dll; CGI 设置cgi.force_redirect = 1cgi.fix_pathinfo = 1cgi.rfc2616_headers = 1
PHP 加载扩展需要注意依赖性,比如 php_exif.dll 需要 php_mbstring.dll,你必须要把 php_mbstring.dll 放在 php_exif.dll 前面才能加载成功。有些扩展依赖额外的 dll 文件,如 PHP 5.0+ ,php_mysqli.dll 依赖 libmysql.dll,而 php_oci8.dll,你则需要安装 Oracle 8 的客户端。如果你对这些依赖性不是太了解,可以参考一下安装包中的 install.txt 文件。
依赖文件的搜索顺序:首先是 php.exe 所在的目录,如果是 ISAPI 模式,那么会搜索 Web Server 的启动位置,比如 Apache 的 bin 目录;其次是 Windows PATH 环境变量中的目录。这里不要复 制任何文件到 Windows 目录中,有必要的话,可以把 C:\php5 加到 PATH 中,有利于以后 PHP 的升级。
安装 Nginx从 v0.7.52 开始,Nginx 开始发布 Windows 版本的 Nginx,你可以在其官方网站上面下载:我使用的是 0.8.37,下载好以后,解压释放文件到 D:\nginx。
配置 PHP FastCGINginx 需要和 FastCGI Server 配合才能处理请求,有两种方式运行 PHP FastCGI Server,一种就是使用 PHP 内置的 FastCGI 管理器:命令行下面执行c:/php/php-cgi.exe -b 127.0.0.1:9000 -c c:/php/php.ini以启动PHP FastCGI
修改 Nginx 的配置文件 d\nginx\conf\nginx.conf,找到 php 相关的部分,修改如下:# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000location ~ \.php$ {root&&& d:/public_include php.}root 也就是 $document_root 指的是你的 php scripts 根目录,设置为你的网站根目录。在 Windows 下,需要注意的是 root 的路径,最好使用 "/" 作为路径分隔符,而不是 Windows 默认的 "\",否则容易出问题,比如,这个路径:d:\public_html\test,就不会起作用,Nginx 会抛出 500 错误,原因是 \test 中 \t 被解析为制表符。当然再加上一个反斜杠转义也是可以的,如:d:\\public_html\\test。
php.conf 是我自己创建的用来保存 php 配置的文件,其实里面只有 3 行命令:# 连接到本机 9000 端口,这里的端口是指 PHP FastCGI Server 开启的端口,# 请与 php-cgi.exe 开启的端口保持一致# 当 Nginx 收到 php 文件的请求时,会自动转发到 PHP FastCGI Serverfastcgi_pass&&& 127.0.0.1:9000;fastcgi_index&& index.include&&&& fastcgi_之所以要创建一个独立的 php.conf 保存配置为了精简 nginx.conf,当在 nginx 中配置多个虚拟主机时,每个虚拟主机都需要配置 php,那么主配置文件就会变得重复、臃肿。
需要修改一下 d:\nginx\conf\fastcgi_params 文件,加入一行:fastcgi_param& SCRIPT_FILENAME&&& $document_root$fastcgi_script_并且修改 php.ini,设置 cgi.fix_pathinfo = 1,这非常重要,否则 PHP 将无法找到需要处理的 php 脚本。
一些其他的设置,主服务器:# 默认开启的进程数worker_processes& 1;error_log& logs/error.#error_log& logs/error.log&#error_log& logs/error.log&#pid&&&&&&& logs/nginx.events {# 一个进程所处理的最大连接数上限,# 本地开发,不需要默认的 1024,这里改为 64worker_connections& 64;}
当某个目录下面不存在默认 index.php index.html 等首页文件时,Nginx 会抛出 403 ERROR,如果你需要罗列此目录,则可以在 http {… } 中加入如下命令:autoindex_exact_autoindex_&start_nginx.bat,用于同时启动 PHP FastCGI 和 Nginx:@echo offecho Starting PHP FastCGI...RunHiddenConsole c:/php/php-cgi.exe -b 127.0.0.1:9000 -c c:/php/php.iniecho Starting nginx...d:/nginx/nginx.exeRunHiddenConsole.exe 是一个用来隐藏 DOS 窗口的小程序,可以在这里下载。start_nginx.bat 开启后,也会有 DOS 窗口,但是可以安全的关掉,并不会关闭 Nginx 和 php-cgi.exe。stop_nginx.bat,用来关闭:@echo offecho Stopping nginx...taskkill /F /IM nginx.exe & nulecho Stopping PHP FastCGI...taskkill /F /IM php-cgi.exe & nulexit到这里基本配置完毕了。如果感觉比较麻烦,这里为大家推荐款软件 ,安装后就为windows系统配置好了nginx+php。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具73172人阅读
这里要先声明一下,针对Nginx的php安装和针对apache的php安装是有区别的,因为Nginx中的php是以fastcgi的方式结合nginx的,可以理解为nginx代理了php的fastcgi,而apache是把php作为自己的模块来调用的。
先把php&和php-fpm编译安装吧 请看
修改配置文件
cd&&php-5.6.2
cp&php.ini-production&/usr/local/php/etc/php.ini
cp&/usr/local/php/etc/php-fpm.conf.default.conf&&php-fpm.conf
保存配置文件后,检验配置是否正确的方法为:
/usr/local/php/sbin/php-fpm&-t
如果出现诸如 “test is successful” 字样,说明配置没有问题。
启动php-fpm
cp&/usr/local/src/php-5.3.27/sapi/fpm/init.d.php-fpm&/etc/init.d/php-fpm
chmod&755&/etc/init.d/php-fpm
service&php-fpm&start
如果想让它开机启动,执行:
chkconfig&php-fpm&on
检测是否启动:
ps&aux&|grep&php-fpm
netstat&-ant&|grep&9000
看看是不是有很多个进程(大概20多个)还有你的9000端口开启了么?。
》》》》》》》》》》》》》》》》华华丽丽的分隔符《《《《《《《《《《《《《《《《《《《
开始安装nginx吧&&
http://nginx.org/download/nginx-1.6.2.tar.gz&//最新稳定版哦
tar&zxvf&nginx-1.6.2.tar.gz
配置编译参数
cd&nginx-1.6.2
./configure&\
--prefix=/usr/local/nginx&\
--with-http_realip_module&\
--with-http_sub_module&\
--with-http_gzip_static_module&\
--with-http_stub_status_module&&\
--with-pcre
make&install
因为nginx比较小,所以很快就会安装完,而且也不会出什么错误,如果出错了,yum安装pcre-devel(嘿嘿,我是这个问题了,至于你出别的问题问度娘吧。)
》》》》》》》》》》》》》》》》》》华丽的分隔符《《《《《《《《《《《《《《《《《《《《《
添加一个nginx主程序的符号链接 &
ln&-sf&/usr/local/nginx/sbin/nginx&&/usr/sbin
nginx&-t&&&&&&测试一下吧,成功了吧,是不是很有成就感,别着急&咱们继续!
更改nginx配置
首先把原来的配置文件清空:
&&/usr/local/nginx/conf/nginx.conf
“&” 这个符号之前阿铭介绍过,为重定向的意思,单独用它,可以把一个文本文档快速清空。
vim&/usr/local/nginx/conf/nginx.conf
写入如下内容:
user&nobody&
worker_processes&2;
error_log&/usr/local/nginx/logs/nginx_error.log&
pid&/usr/local/nginx/logs/nginx.
worker_rlimit_nofile&51200;
&&&&worker_connections&6000;
&&&&include&mime.
&&&&default_type&application/octet-
&&&&server_names_hash_bucket_size&3526;
&&&&server_names_hash_max_size&4096;
&&&&log_format&combined_realip&'$remote_addr&$http_x_forwarded_for&[$time_local]'
&&&&'$host&&$request_uri&&$status'
&&&&'&$http_referer&&&$http_user_agent&';
&&&&sendfile&
&&&&tcp_nopush&
&&&&keepalive_timeout&30;
&&&&client_header_timeout&3m;
&&&&client_body_timeout&3m;
&&&&send_timeout&3m;
&&&&connection_pool_size&256;
&&&&client_header_buffer_size&1k;
&&&&large_client_header_buffers&8&4k;
&&&&request_pool_size&4k;
&&&&output_buffers&4&32k;
&&&&postpone_output&1460;
&&&&client_max_body_size&10m;
&&&&client_body_buffer_size&256k;
&&&&client_body_temp_path&/usr/local/nginx/client_body_
&&&&proxy_temp_path&/usr/local/nginx/proxy_
&&&&fastcgi_temp_path&/usr/local/nginx/fastcgi_
&&&&fastcgi_intercept_errors&
&&&&tcp_nodelay&
&&&&gzip_min_length&1k;
&&&&gzip_buffers&4&8k;
&&&&gzip_comp_level&5;
&&&&gzip_http_version&1.1;
&&&&gzip_types&text/plain&application/x-javascript&text/css&text/htm&application/
&&&&listen&80;
&&&&server_name&
&&&&index&index.html&index.htm&index.
&&&&root&/usr/local/nginx/
&&&&location&~&\.php$&{
&&&&&&&&include&fastcgi_
&&&&&&&&fastcgi_pass&127.0.0.1:9000;
&&&&&&&&fastcgi_index&index.
&&&&&&&&fastcgi_param&SCRIPT_FILENAME&/usr/local/nginx/html$fastcgi_script_
》》》》》》》》》》》》》》》》你相信么,你已经搞定了LNMP了《《《《《《《《《《《《《《
创建测试文件:
vim&/usr/local/nginx/html/2.php
&&&&echo&&测试php是否解析&;
&curl&localhost/2.php
看到什么了。。不要怀疑自己的眼睛,不要热泪盈眶。你已经成功了。
欢迎大家访问我的个人网站
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:8575574次
积分:88911
积分:88911
排名:第11名
原创:435篇
转载:4678篇
译文:22篇
评论:1692条
文章:21篇
阅读:47199
文章:15篇
阅读:35913
文章:22篇
阅读:204769
(4)(8)(28)(21)(47)(1)(1)(8)(170)(814)(1012)(1351)(969)(262)(207)(2)(3)(2)(61)(19)(2)(28)(22)(37)(1)(3)(4)(6)(9)(10)(26)}

我要回帖

更多关于 nginx php7 配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信