时间:2021-05-25
刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是"引擎x",一般引"擎代"表了性能,而"x"大多出现是表示"xtras(额外的效果)",那么整个词的意思就是类似"极致效果","额外性能"。当然这里不是要来唠嗑,以上是题外话。
nginx相较于我们熟悉的apache,IIS的优势,就我浅入浅出的了解,在于"反向代理"和"负载均衡"。因此考虑到能够为Web服务器节省资源,它可以代替apache来提供Web服务。那么上正题了,nginx有这么多优势,那在windows下如何来配置nginx+php环境?网上看到还是那么多转载来转载去的文章。这里就我配置的过程,来介绍一下:
1、首先需要准备的应用程序包。
nginx:nginx/Windows-1.0.4
php:php-5.2.16-nts-Win32-VC6-x86.zip
RunHiddenConsole:RunHiddenConsole.zip
nginx下php是以FastCGI的方式运行,所以我们下载非线程安全也就是nts的php包。
2、安装与配置。
1)php的安装与配置。
直接解压下载好的php包,到D盘wnmp目录(D:\wnmp),这里把解压出来的文件夹重命名成php5。进入文件夹修改php.ini-recommended文件为php.ini,并用Editplus或者Notepad++打开来。找到
更改为
extension_dir = "D:/wnmp/php5/ext"往下看,再找到
;extension=php_mysql.dll;extension=php_mysqli.dll实际中,可能还要开启
extension=php_bz2.dllextension=php_curl.dllextension=php_gd2.dllextension=php_mbstring.dllextension=php_exif.dllextension=php_mcrypt.dllextension=php_mhash.dllextension=php_msql.dllextension=php_mssql.dllextension=php_mysql.dllextension=php_mysqli.dllextension=php_openssl.dllextension=php_pdo.dllextension=php_pdo_mssql.dllextension=php_pdo_mysql.dllextension=php_pdo_pgsql.dllextension=php_pdo_sqlite.dllextension=php_snmp.dllextension=php_sockets.dllextension=php_sqlite.dllextension=php_xsl.dllextension=php_zip.dll前面指定了php的ext路径后,只要把需要的扩展包前面所对应的“;”去掉,就可以了。这里打开php_mysql.dll和php_mysqli.dll,让php支持mysql。
当然不要忘掉很重要的一步就是,把php5目录下的libmysql.dll文件复制到C:\Windows目录下,也可以在系统变量里面指定路径,当然这里我选择了更为方便的方法^_^。(测试发现不复制也是可以的)
到这里,php已经可以支持mysql了。
接下来我们来配置php,让php能够与nginx结合。找到
;cgi.fix_pathinfo=1我们去掉这里的分号:
cgi.fix_pathinfo=1这一步非常重要,这里是php的CGI的设置。
2)nginx的安装与配置
把下载好的nginx-1.0.4的包同样解压到D盘的wnmp目录下,并重命名为nginx。接下来,我们来配置nginx,让它能够和php协同工作。进入nginx的conf目录,打开nginx的配置文件nginx.conf,找到
location / { root html; #这里是站点的根目录 index index.html index.htm;}将root html;改为root D:/wnmp/而这个域名,对应的root指定的索引文件不存在。
权限问题
对于PHP而言,如果nginx用户没有web目录的权限,则会导致该错误。
解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重起一下就能解决。 如:
代码如下(Linux下):
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言我们大家在配置本地PHP开发环境时,除非是在Windows下,否则我都是偏向于Nginx+PHP-FPM,即使Mac下已经有了自带的Apache+PHP环境
nginx+php出现502badgateway,一般这都不是nginx的问题,而是由于fastcgi或者php的问题导致的,常见的有以下几种。1.php.in
一前期说明:我运行项目的环境是nginx+php,存储代码用的是gitlab,python版本:3.6django版本:2.2.1mysql版本:5.7二大体思
开发环境codeigniter2.14PHP5.4.18nginx1.4.2Codeigniter配置打开codeignite的config.php文件修改如下
对很多人而言,配置Nginx+PHP无外乎就是搜索一篇教程,然后拷贝粘贴。听上去似乎也没什么问题,可惜实际上网络上很多资料本身年久失修,漏洞百出,如果大家不求甚