wnmp(windows+nginx+mysql+php)環境搭建與配置
要求
-
必备知识
熟悉基本编程环境搭建。
-
运行环境
windows 7(64位);
nginx-1.4.7;
MySQL Server 5.5
php-5.4.39-nts -
下载地址
环境下载
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、腾讯等。
上面这段介绍,摘自百度! 看了介绍就知道nginx很有逼格了shi不shi啊!那么问题来了,这么有逼格的配置,在windows下如何搭建呢? 好吧,就让我给大家介绍一下,windows下如何搭建 nginx+mysql+php 环境吧。
官方下载地址
- Nginx
- MySql
- PHP
至于我使用的版本已经上传到百度云提供大家下载了哦,请戳以下链接:
- http://pan.baidu.com/s/1gdpLa6n
Nginx
这么有逼格的服务器,我就不多做介绍,前面也提到了一些。我就直接安装吧,把下载下来的nginx-1.4.7.zip文件,解压到指定的目录就OK了,下面贴一下我的目录结构哦
下面是nginx的一些基本操作指令,当然你也可以直接双击nginx.exe文件来启动服务器(^_^)
start nginx <span>//</span><span>启动服务</span> nginx -s stop <span>//</span><span> 停止nginx</span> nginx -s reload <span>//</span><span> 重新加载配置文件</span> nginx -s quit <span>//</span><span> 退出nginx</span>
在浏览器地址中输入localhost ,如出现下图说明安装成功了!
MySql
关于mysql的安装,请自行去解决(^_^),我不想多说了!好吧,可以参考我之前写一篇文章,里面有详细的介绍哦,你会明白的(^_^)
- windows下搭建Apache+Mysql+PHP开发环境
PHP
关于PHP的安装,我也不想说了! 额,你其实也可以参考。。。你会懂的,哈哈!好吧,往下看吧!
php提供了两种版本可以选择,即线程安全和非线程安全
- TS:Thread Safe 线程安全, 执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源
- NTS:Non Thread Safe 非线程安全, 在执行时不进行线程(Thread)安全检查
PHP的两种执行方式:ISAPI和FastCGI。
- CGI(通用网关接口/Common Gateway Interface)一般是可执行程序,例如EXE文件,和WEB服务器各自占据着不同的进程,而且一般一个CGI程序只能处理一个用户请求。这样,当用 户请求数量非常多时,会大量占用系统的资源,如内存、CPU时间等,造成效能低下。
- ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接 口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的 用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显著高于CGI。所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本
- FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是 CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。nginx下php是以FastCGI的方式运行,所以我们下载Non Thread Safe版本.
我知道你已经懂了,shi不shi呀! 不过网上有些人下的TS有的人下的NTS的,选择困难症有犯了,哈哈~~~!下非线程安全的吧,因为我就下的就是这个,待会自己去百度云下的时候别选错了哦~~
将压缩文件解压到指定的文件夹(这里你爱咋整就咋整,可以参考我上面的目录结构)。配置php.ini文件,php提供了两个模板,php.ini-development和php.ini-production,前者适合开发程式使用(测试用),后者拥有较高的安全性设定,则适合上线当产品使用。这里我们将php.ini-development文件改为php.ini做配置文件使用。
修改扩展dll文件目录:
//这里根据自己的实际情况而定 extension_dir = "E:\2015\wnmp\php\ext"
加入扩展:
选择需要运行哪些扩展,只需将extension前面的注释去掉,例如:
extension=php_mysql.dll extension=php_mysqli.dll
CGI 设置
enable_dl =<span> On cgi.force_redirect </span>= 0<span> cgi.fix_pathinfo</span>=1<span> fastcgi.impersonate </span>= 1<span> cgi.rfc2616_headers </span>= 1
配置Nginx
这里所说的配置,主要是讲如何让Nginx对PHP提供支持!!打开nginx目录下conf文件夹里的nginx.conf(这就是我的配置文件了)
修改如下代码,位置如下
修改网站的根目录,添加index.php的默认页支持,修改后的代码如下。
location /<span> { root E:</span>/2015/wnmp/nginx/<span>html; index index.html index.htm index.php; }</span>
让nginx支持PHP的设置,代码位置如下
先将前面的“#”去掉,同样将root html;改为root E:/2015/wnmp/nginx/html;。再把“/scripts”改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径,改完后的代码如下:
location ~<span> \.php$ { root E:</span>/2015/wnmp/nginx/<span>html; fastcgi_pass </span>127.0.0.1:9000<span>; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }</span>
上述配置改为后,别玩了要重启nginx哦,操作指令我已经到上面给出了啊!
测试
启动php内置的cgi程序,在9000端口监听nginx发过来的请求:
E:\2015\wnmp\php>php-cgi.exe -b 127.0.0.1:9000-c E:\wnmp\php\php.ini
PS:上一步操作中如果没有重启nginx的话,现在重启一遍吧!!
在网站更目录(上步操作中root所指向的路径我这里是 E:/2015/wnmp/nginx/html)下创建phpinfo.php文件,代码如下
<?php <span>phpinfo</span>(); ?>
在浏览器地址栏中输入http://localhost/phpinfo.php,一次性点亮,是不是很Happy!!
RunHiddenConsole配置
首先把下载好的RunHiddenConsole.zip包解压到nginx目录内,RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。
创建start_nginx.bat文件
<span>@echo off REM Windows 下无效 REM set PHP_FCGI_CHILDREN</span>=5<span> REM 每个进程处理的最大请求数,或设置为 Windows 环境变量 set PHP_FCGI_MAX_REQUESTS</span>=1000<span> echo Starting PHP FastCGI... RunHiddenConsole E:</span>/2015/wnmp/php/php-cgi.exe -b 127.0.0.1:9000 -c E:/2015/wnmp/php/<span>php.ini echo Starting nginx... RunHiddenConsole E:</span>/2015/wnmp/nginx/nginx.exe -p E:/2015/wnmp/nginx
创建stop_nginx.bat脚本,对应的是用来关闭nginx服务
<span>@echo off echo Stopping nginx... taskkill </span>/F /IM nginx.exe ><span> nul echo Stopping PHP FastCGI... taskkill </span>/F /IM php-cgi.exe ><span> nul exit</span>
文件目录结构如下
好吧,整个就弄好了!!是不是比较复杂,没关系! 请问你有到linux下交叉编译安装过服务器环境吗?(^_^)hahah~~~。关于linux下服务器环境的“一揽子安装计划”,将到后续的文章中介绍!!点关注就对了(^_^)
如以上文章或链接对你有帮助的话,别忘了在文章结尾处轻轻点击一下 “还不错”按钮或到页面右下角点击 “赞一个” 按钮哦。你也可以点击页面右边“分享”悬浮按钮哦,让更多的人阅读这篇文章。
作者:Li-Cheng
微博:http://weibo.com/licheng0426
出处: http://www.cnblogs.com/Li-Cheng/p/4399149.html
由于本人水平有限,文章在表述和代码方面如有不妥之处,欢迎批评指正。留下你的脚印,欢迎评论哦。你也可以关注我,一起学习哦!
(^_^)如果您觉得此文对您有帮助的话,打个赏喝个咖啡吧,么么哒(^_^)
以上就介绍了wnmp(windows+nginx+mysql+php)环境搭建和配置,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如何解決 Nginx 403 Forbidden 錯誤?檢查文件或目錄權限;2. 檢查 .htaccess 文件;3. 檢查 Nginx 配置文件;4. 重啟 Nginx。其他可能原因還包括防火牆規則、SELinux 設置或應用程序問題。

服務器無權訪問所請求的資源,導致 nginx 403 錯誤。解決方法包括:檢查文件權限。檢查 .htaccess 配置。檢查 nginx 配置。配置 SELinux 權限。檢查防火牆規則。排除其他原因,如瀏覽器問題、服務器故障或其他可能的錯誤。

在 Linux 中啟動 Nginx 的步驟:檢查 Nginx 是否已安裝。使用 systemctl start nginx 啟動 Nginx 服務。使用 systemctl enable nginx 啟用在系統啟動時自動啟動 Nginx。使用 systemctl status nginx 驗證啟動是否成功。在 Web 瀏覽器中訪問 http://localhost 查看默認歡迎頁面。

問題的答案:304 Not Modified 錯誤表示瀏覽器已緩存客戶端請求的最新資源版本。解決方案:1. 清除瀏覽器緩存;2. 禁用瀏覽器緩存;3. 配置 Nginx 允許客戶端緩存;4. 檢查文件權限;5. 檢查文件哈希;6. 禁用 CDN 或反向代理緩存;7. 重啟 Nginx。

如何在 Windows 中配置 Nginx?安裝 Nginx 並創建虛擬主機配置。修改主配置文件並包含虛擬主機配置。啟動或重新加載 Nginx。測試配置並查看網站。選擇性啟用 SSL 並配置 SSL 證書。選擇性設置防火牆允許 80 和 443 端口流量。

確認 Nginx 是否啟動的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 檢查端口 80 是否開放;3. 查看系統日誌中 Nginx 啟動消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

查看 Nginx 運行狀態的方法有:使用 ps 命令查看進程狀態;查看 Nginx 配置文件 /etc/nginx/nginx.conf;使用 Nginx 狀態模塊啟用狀態端點;使用 Prometheus、Zabbix 或 Nagios 等監控工具。

錯誤日誌位於 /var/log/nginx(Linux)或 /usr/local/var/log/nginx(macOS),使用命令行清理步驟:1. 備份原日誌;2. 創建空文件作為新日誌;3. 重啟 Nginx 服務。也可使用第三方工具(如 logrotate)或配置自動清理。
